diff --git a/docs/build b/docs/build
new file mode 100755
index 0000000..187c297
--- /dev/null
+++ b/docs/build
@@ -0,0 +1,28 @@
+#!/bin/bash
+#
+# Copyright 2007 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Author: jcgregorio@google.com (Joe Gregorio)
+#
+# Creates the documentation set for the library by
+# running pydoc on all the files in apiclient.
+#
+# Notes: You may have to update the location of the
+#        App Engine library for your local system.
+
+export GOOGLE_APPENGINE=$HOME/projects/google_appengine/
+export DJANGO_SETTINGS_MODULE=fakesettings
+export PYTHONPATH=$(pwd)/..:$GOOGLE_APPENGINE
+epydoc --output epy --graph all --parse-only --docformat plaintext googleapiclient
diff --git a/docs/build.sh b/docs/build.sh
deleted file mode 100755
index d5cdeb6..0000000
--- a/docs/build.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2007 Google Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# Author: jcgregorio@google.com (Joe Gregorio)
-#
-# Creates the documentation set for the library by
-# running pydoc on all the files in apiclient.
-#
-# Notes: You may have to update the location of the
-#        App Engine library for your local system.
-
-export GOOGLE_APPENGINE=$HOME/projects/google_appengine/
-export DJANGO_SETTINGS_MODULE=fakesettings
-export PYTHONPATH=`pwd`/..:$GOOGLE_APPENGINE
-epydoc --output epy --graph all --parse-only --docformat plaintext apiclient oauth2client
diff --git a/docs/dyn/adexchangebuyer_v1_1.accounts.html b/docs/dyn/adexchangebuyer_v1_1.accounts.html
deleted file mode 100644
index 074dedb..0000000
--- a/docs/dyn/adexchangebuyer_v1_1.accounts.html
+++ /dev/null
@@ -1,258 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adexchangebuyer_v1_1.html">Ad Exchange Buyer API</a> . <a href="adexchangebuyer_v1_1.accounts.html">accounts</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(id)</a></code></p>
-<p class="firstline">Gets one account by ID.</p>
-<p class="toc_element">
-  <code><a href="#list">list()</a></code></p>
-<p class="firstline">Retrieves the authenticated user's list of accounts.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(id, body)</a></code></p>
-<p class="firstline">Updates an existing account. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(id, body)</a></code></p>
-<p class="firstline">Updates an existing account.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(id)</code>
-  <pre>Gets one account by ID.
-
-Args:
-  id: integer, The account id (required)
-
-Returns:
-  An object of the form:
-
-    { # Configuration data for an Ad Exchange buyer account.
-      "kind": "adexchangebuyer#account", # Resource type.
-      "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
-      "bidderLocation": [ # Your bidder locations that have distinct URLs.
-        {
-          "url": "A String", # The URL to which the Ad Exchange will send bid requests.
-          "region": "A String", # The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values:
-              # - ASIA
-              # - EUROPE
-              # - US_EAST
-              # - US_WEST
-          "maximumQps": 42, # The maximum queries per second the Ad Exchange will send.
-        },
-      ],
-      "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
-      "id": 42, # Account id.
-      "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list()</code>
-  <pre>Retrieves the authenticated user's list of accounts.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    { # An account feed lists Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single buyer account.
-    "items": [ # A list of accounts.
-      { # Configuration data for an Ad Exchange buyer account.
-          "kind": "adexchangebuyer#account", # Resource type.
-          "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
-          "bidderLocation": [ # Your bidder locations that have distinct URLs.
-            {
-              "url": "A String", # The URL to which the Ad Exchange will send bid requests.
-              "region": "A String", # The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values:
-                  # - ASIA
-                  # - EUROPE
-                  # - US_EAST
-                  # - US_WEST
-              "maximumQps": 42, # The maximum queries per second the Ad Exchange will send.
-            },
-          ],
-          "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
-          "id": 42, # Account id.
-          "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
-        },
-    ],
-    "kind": "adexchangebuyer#accountsList", # Resource type.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(id, body)</code>
-  <pre>Updates an existing account. This method supports patch semantics.
-
-Args:
-  id: integer, The account id (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Configuration data for an Ad Exchange buyer account.
-    "kind": "adexchangebuyer#account", # Resource type.
-    "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
-    "bidderLocation": [ # Your bidder locations that have distinct URLs.
-      {
-        "url": "A String", # The URL to which the Ad Exchange will send bid requests.
-        "region": "A String", # The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values:
-            # - ASIA
-            # - EUROPE
-            # - US_EAST
-            # - US_WEST
-        "maximumQps": 42, # The maximum queries per second the Ad Exchange will send.
-      },
-    ],
-    "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
-    "id": 42, # Account id.
-    "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Configuration data for an Ad Exchange buyer account.
-      "kind": "adexchangebuyer#account", # Resource type.
-      "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
-      "bidderLocation": [ # Your bidder locations that have distinct URLs.
-        {
-          "url": "A String", # The URL to which the Ad Exchange will send bid requests.
-          "region": "A String", # The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values:
-              # - ASIA
-              # - EUROPE
-              # - US_EAST
-              # - US_WEST
-          "maximumQps": 42, # The maximum queries per second the Ad Exchange will send.
-        },
-      ],
-      "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
-      "id": 42, # Account id.
-      "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(id, body)</code>
-  <pre>Updates an existing account.
-
-Args:
-  id: integer, The account id (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Configuration data for an Ad Exchange buyer account.
-    "kind": "adexchangebuyer#account", # Resource type.
-    "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
-    "bidderLocation": [ # Your bidder locations that have distinct URLs.
-      {
-        "url": "A String", # The URL to which the Ad Exchange will send bid requests.
-        "region": "A String", # The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values:
-            # - ASIA
-            # - EUROPE
-            # - US_EAST
-            # - US_WEST
-        "maximumQps": 42, # The maximum queries per second the Ad Exchange will send.
-      },
-    ],
-    "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
-    "id": 42, # Account id.
-    "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Configuration data for an Ad Exchange buyer account.
-      "kind": "adexchangebuyer#account", # Resource type.
-      "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
-      "bidderLocation": [ # Your bidder locations that have distinct URLs.
-        {
-          "url": "A String", # The URL to which the Ad Exchange will send bid requests.
-          "region": "A String", # The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values:
-              # - ASIA
-              # - EUROPE
-              # - US_EAST
-              # - US_WEST
-          "maximumQps": 42, # The maximum queries per second the Ad Exchange will send.
-        },
-      ],
-      "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
-      "id": 42, # Account id.
-      "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangebuyer_v1_1.creatives.html b/docs/dyn/adexchangebuyer_v1_1.creatives.html
deleted file mode 100644
index 4eb0f64..0000000
--- a/docs/dyn/adexchangebuyer_v1_1.creatives.html
+++ /dev/null
@@ -1,284 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adexchangebuyer_v1_1.html">Ad Exchange Buyer API</a> . <a href="adexchangebuyer_v1_1.creatives.html">creatives</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(accountId, buyerCreativeId)</a></code></p>
-<p class="firstline">Gets the status for a single creative.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(body)</a></code></p>
-<p class="firstline">Submit a new creative.</p>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, maxResults=None, statusFilter=None)</a></code></p>
-<p class="firstline">Retrieves a list of the authenticated user's active creatives.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(accountId, buyerCreativeId)</code>
-  <pre>Gets the status for a single creative.
-
-Args:
-  accountId: integer, The id for the account that will serve this creative. (required)
-  buyerCreativeId: string, The buyer-specific id for this creative. (required)
-
-Returns:
-  An object of the form:
-
-    { # A creative and its classification data.
-      "productCategories": [ # Detected product categories, if any. Read-only. This field should not be set in requests.
-        42,
-      ],
-      "advertiserName": "A String", # The name of the company being advertised in the creative.
-      "kind": "adexchangebuyer#creative", # Resource type.
-      "videoURL": "A String", # The url to fetch a video ad. If set, HTMLSnippet should not be set.
-      "width": 42, # Ad width.
-      "attribute": [ # All attributes for the ads that may be shown from this snippet.
-        42,
-      ],
-      "height": 42, # Ad height.
-      "advertiserId": [ # Detected advertiser id, if any. Read-only. This field should not be set in requests.
-        "A String",
-      ],
-      "HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.
-      "status": "A String", # Creative serving status. Read-only. This field should not be set in requests.
-      "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad.
-      "clickThroughUrl": [ # The set of destination urls for the snippet.
-        "A String",
-      ],
-      "vendorType": [ # All vendor types for the ads that may be shown from this snippet.
-        42,
-      ],
-      "disapprovalReasons": [ # The reason for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.
-        "A String",
-      ],
-      "sensitiveCategories": [ # Detected sensitive categories, if any. Read-only. This field should not be set in requests.
-        42,
-      ],
-      "accountId": 42, # Account id.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(body)</code>
-  <pre>Submit a new creative.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A creative and its classification data.
-    "productCategories": [ # Detected product categories, if any. Read-only. This field should not be set in requests.
-      42,
-    ],
-    "advertiserName": "A String", # The name of the company being advertised in the creative.
-    "kind": "adexchangebuyer#creative", # Resource type.
-    "videoURL": "A String", # The url to fetch a video ad. If set, HTMLSnippet should not be set.
-    "width": 42, # Ad width.
-    "attribute": [ # All attributes for the ads that may be shown from this snippet.
-      42,
-    ],
-    "height": 42, # Ad height.
-    "advertiserId": [ # Detected advertiser id, if any. Read-only. This field should not be set in requests.
-      "A String",
-    ],
-    "HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.
-    "status": "A String", # Creative serving status. Read-only. This field should not be set in requests.
-    "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad.
-    "clickThroughUrl": [ # The set of destination urls for the snippet.
-      "A String",
-    ],
-    "vendorType": [ # All vendor types for the ads that may be shown from this snippet.
-      42,
-    ],
-    "disapprovalReasons": [ # The reason for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.
-      "A String",
-    ],
-    "sensitiveCategories": [ # Detected sensitive categories, if any. Read-only. This field should not be set in requests.
-      42,
-    ],
-    "accountId": 42, # Account id.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A creative and its classification data.
-      "productCategories": [ # Detected product categories, if any. Read-only. This field should not be set in requests.
-        42,
-      ],
-      "advertiserName": "A String", # The name of the company being advertised in the creative.
-      "kind": "adexchangebuyer#creative", # Resource type.
-      "videoURL": "A String", # The url to fetch a video ad. If set, HTMLSnippet should not be set.
-      "width": 42, # Ad width.
-      "attribute": [ # All attributes for the ads that may be shown from this snippet.
-        42,
-      ],
-      "height": 42, # Ad height.
-      "advertiserId": [ # Detected advertiser id, if any. Read-only. This field should not be set in requests.
-        "A String",
-      ],
-      "HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.
-      "status": "A String", # Creative serving status. Read-only. This field should not be set in requests.
-      "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad.
-      "clickThroughUrl": [ # The set of destination urls for the snippet.
-        "A String",
-      ],
-      "vendorType": [ # All vendor types for the ads that may be shown from this snippet.
-        42,
-      ],
-      "disapprovalReasons": [ # The reason for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.
-        "A String",
-      ],
-      "sensitiveCategories": [ # Detected sensitive categories, if any. Read-only. This field should not be set in requests.
-        42,
-      ],
-      "accountId": 42, # Account id.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, maxResults=None, statusFilter=None)</code>
-  <pre>Retrieves a list of the authenticated user's active creatives.
-
-Args:
-  pageToken: string, A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. Optional.
-  maxResults: integer, Maximum number of entries returned on one result page. If not set, the default is 100. Optional.
-  statusFilter: string, When specified, only creatives having the given status are returned.
-    Allowed values
-      approved - Creatives which have been approved.
-      disapproved - Creatives which have been disapproved.
-      not_checked - Creatives whose status is not yet checked.
-
-Returns:
-  An object of the form:
-
-    { # The creatives feed lists the active creatives for the Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single creative.
-    "nextPageToken": "A String", # Continuation token used to page through creatives. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # A list of creatives.
-      { # A creative and its classification data.
-          "productCategories": [ # Detected product categories, if any. Read-only. This field should not be set in requests.
-            42,
-          ],
-          "advertiserName": "A String", # The name of the company being advertised in the creative.
-          "kind": "adexchangebuyer#creative", # Resource type.
-          "videoURL": "A String", # The url to fetch a video ad. If set, HTMLSnippet should not be set.
-          "width": 42, # Ad width.
-          "attribute": [ # All attributes for the ads that may be shown from this snippet.
-            42,
-          ],
-          "height": 42, # Ad height.
-          "advertiserId": [ # Detected advertiser id, if any. Read-only. This field should not be set in requests.
-            "A String",
-          ],
-          "HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.
-          "status": "A String", # Creative serving status. Read-only. This field should not be set in requests.
-          "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad.
-          "clickThroughUrl": [ # The set of destination urls for the snippet.
-            "A String",
-          ],
-          "vendorType": [ # All vendor types for the ads that may be shown from this snippet.
-            42,
-          ],
-          "disapprovalReasons": [ # The reason for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.
-            "A String",
-          ],
-          "sensitiveCategories": [ # Detected sensitive categories, if any. Read-only. This field should not be set in requests.
-            42,
-          ],
-          "accountId": 42, # Account id.
-        },
-    ],
-    "kind": "adexchangebuyer#creativesList", # Resource type.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangebuyer_v1_1.directDeals.html b/docs/dyn/adexchangebuyer_v1_1.directDeals.html
deleted file mode 100644
index eb6a668..0000000
--- a/docs/dyn/adexchangebuyer_v1_1.directDeals.html
+++ /dev/null
@@ -1,134 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adexchangebuyer_v1_1.html">Ad Exchange Buyer API</a> . <a href="adexchangebuyer_v1_1.directDeals.html">directDeals</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(id)</a></code></p>
-<p class="firstline">Gets one direct deal by ID.</p>
-<p class="toc_element">
-  <code><a href="#list">list()</a></code></p>
-<p class="firstline">Retrieves the authenticated user's list of direct deals.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(id)</code>
-  <pre>Gets one direct deal by ID.
-
-Args:
-  id: string, The direct deal id (required)
-
-Returns:
-  An object of the form:
-
-    { # The configuration data for an Ad Exchange direct deal.
-    "advertiser": "A String", # The name of the advertiser this deal is for.
-    "kind": "adexchangebuyer#directDeal", # Resource type.
-    "currencyCode": "A String", # The currency code that applies to the fixed_cpm value. If not set then assumed to be USD.
-    "fixedCpm": "A String", # The fixed price for this direct deal. In cpm micros of currency according to currency_code.
-    "startTime": "A String", # Start time for when this deal becomes active. If not set then this deal is active immediately upon creation. In seconds since the epoch.
-    "endTime": "A String", # End time for when this deal stops being active. If not set then this deal is valid until manually disabled by the publisher. In seconds since the epoch.
-    "sellerNetwork": "A String", # The name of the publisher offering this direct deal.
-    "id": "A String", # Deal id.
-    "accountId": 42, # The account id of the buyer this deal is for.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list()</code>
-  <pre>Retrieves the authenticated user's list of direct deals.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    { # A direct deals feed lists Direct Deals the Ad Exchange buyer account has access to. This includes direct deals set up for the buyer account as well as its merged stream seats.
-    "kind": "adexchangebuyer#directDealsList", # Resource type.
-    "directDeals": [ # A list of direct deals relevant for your account.
-      { # The configuration data for an Ad Exchange direct deal.
-        "advertiser": "A String", # The name of the advertiser this deal is for.
-        "kind": "adexchangebuyer#directDeal", # Resource type.
-        "currencyCode": "A String", # The currency code that applies to the fixed_cpm value. If not set then assumed to be USD.
-        "fixedCpm": "A String", # The fixed price for this direct deal. In cpm micros of currency according to currency_code.
-        "startTime": "A String", # Start time for when this deal becomes active. If not set then this deal is active immediately upon creation. In seconds since the epoch.
-        "endTime": "A String", # End time for when this deal stops being active. If not set then this deal is valid until manually disabled by the publisher. In seconds since the epoch.
-        "sellerNetwork": "A String", # The name of the publisher offering this direct deal.
-        "id": "A String", # Deal id.
-        "accountId": 42, # The account id of the buyer this deal is for.
-      },
-    ],
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangebuyer_v1_1.html b/docs/dyn/adexchangebuyer_v1_1.html
deleted file mode 100644
index d4f1ed0..0000000
--- a/docs/dyn/adexchangebuyer_v1_1.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adexchangebuyer_v1_1.html">Ad Exchange Buyer API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adexchangebuyer_v1_1.accounts.html">accounts()</a></code>
-</p>
-<p class="firstline">Returns the accounts Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adexchangebuyer_v1_1.creatives.html">creatives()</a></code>
-</p>
-<p class="firstline">Returns the creatives Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adexchangebuyer_v1_1.directDeals.html">directDeals()</a></code>
-</p>
-<p class="firstline">Returns the directDeals Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangebuyer_v1_2.accounts.html b/docs/dyn/adexchangebuyer_v1_2.accounts.html
deleted file mode 100644
index 3cc70b1..0000000
--- a/docs/dyn/adexchangebuyer_v1_2.accounts.html
+++ /dev/null
@@ -1,258 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adexchangebuyer_v1_2.html">Ad Exchange Buyer API</a> . <a href="adexchangebuyer_v1_2.accounts.html">accounts</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(id)</a></code></p>
-<p class="firstline">Gets one account by ID.</p>
-<p class="toc_element">
-  <code><a href="#list">list()</a></code></p>
-<p class="firstline">Retrieves the authenticated user's list of accounts.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(id, body)</a></code></p>
-<p class="firstline">Updates an existing account. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(id, body)</a></code></p>
-<p class="firstline">Updates an existing account.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(id)</code>
-  <pre>Gets one account by ID.
-
-Args:
-  id: integer, The account id (required)
-
-Returns:
-  An object of the form:
-
-    { # Configuration data for an Ad Exchange buyer account.
-      "kind": "adexchangebuyer#account", # Resource type.
-      "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
-      "bidderLocation": [ # Your bidder locations that have distinct URLs.
-        {
-          "url": "A String", # The URL to which the Ad Exchange will send bid requests.
-          "region": "A String", # The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values:
-              # - ASIA
-              # - EUROPE
-              # - US_EAST
-              # - US_WEST
-          "maximumQps": 42, # The maximum queries per second the Ad Exchange will send.
-        },
-      ],
-      "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
-      "id": 42, # Account id.
-      "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list()</code>
-  <pre>Retrieves the authenticated user's list of accounts.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    { # An account feed lists Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single buyer account.
-    "items": [ # A list of accounts.
-      { # Configuration data for an Ad Exchange buyer account.
-          "kind": "adexchangebuyer#account", # Resource type.
-          "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
-          "bidderLocation": [ # Your bidder locations that have distinct URLs.
-            {
-              "url": "A String", # The URL to which the Ad Exchange will send bid requests.
-              "region": "A String", # The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values:
-                  # - ASIA
-                  # - EUROPE
-                  # - US_EAST
-                  # - US_WEST
-              "maximumQps": 42, # The maximum queries per second the Ad Exchange will send.
-            },
-          ],
-          "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
-          "id": 42, # Account id.
-          "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
-        },
-    ],
-    "kind": "adexchangebuyer#accountsList", # Resource type.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(id, body)</code>
-  <pre>Updates an existing account. This method supports patch semantics.
-
-Args:
-  id: integer, The account id (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Configuration data for an Ad Exchange buyer account.
-    "kind": "adexchangebuyer#account", # Resource type.
-    "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
-    "bidderLocation": [ # Your bidder locations that have distinct URLs.
-      {
-        "url": "A String", # The URL to which the Ad Exchange will send bid requests.
-        "region": "A String", # The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values:
-            # - ASIA
-            # - EUROPE
-            # - US_EAST
-            # - US_WEST
-        "maximumQps": 42, # The maximum queries per second the Ad Exchange will send.
-      },
-    ],
-    "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
-    "id": 42, # Account id.
-    "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Configuration data for an Ad Exchange buyer account.
-      "kind": "adexchangebuyer#account", # Resource type.
-      "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
-      "bidderLocation": [ # Your bidder locations that have distinct URLs.
-        {
-          "url": "A String", # The URL to which the Ad Exchange will send bid requests.
-          "region": "A String", # The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values:
-              # - ASIA
-              # - EUROPE
-              # - US_EAST
-              # - US_WEST
-          "maximumQps": 42, # The maximum queries per second the Ad Exchange will send.
-        },
-      ],
-      "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
-      "id": 42, # Account id.
-      "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(id, body)</code>
-  <pre>Updates an existing account.
-
-Args:
-  id: integer, The account id (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Configuration data for an Ad Exchange buyer account.
-    "kind": "adexchangebuyer#account", # Resource type.
-    "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
-    "bidderLocation": [ # Your bidder locations that have distinct URLs.
-      {
-        "url": "A String", # The URL to which the Ad Exchange will send bid requests.
-        "region": "A String", # The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values:
-            # - ASIA
-            # - EUROPE
-            # - US_EAST
-            # - US_WEST
-        "maximumQps": 42, # The maximum queries per second the Ad Exchange will send.
-      },
-    ],
-    "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
-    "id": 42, # Account id.
-    "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Configuration data for an Ad Exchange buyer account.
-      "kind": "adexchangebuyer#account", # Resource type.
-      "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
-      "bidderLocation": [ # Your bidder locations that have distinct URLs.
-        {
-          "url": "A String", # The URL to which the Ad Exchange will send bid requests.
-          "region": "A String", # The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values:
-              # - ASIA
-              # - EUROPE
-              # - US_EAST
-              # - US_WEST
-          "maximumQps": 42, # The maximum queries per second the Ad Exchange will send.
-        },
-      ],
-      "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
-      "id": 42, # Account id.
-      "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangebuyer_v1_2.creatives.html b/docs/dyn/adexchangebuyer_v1_2.creatives.html
deleted file mode 100644
index d2ef5ba..0000000
--- a/docs/dyn/adexchangebuyer_v1_2.creatives.html
+++ /dev/null
@@ -1,308 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adexchangebuyer_v1_2.html">Ad Exchange Buyer API</a> . <a href="adexchangebuyer_v1_2.creatives.html">creatives</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(accountId, buyerCreativeId)</a></code></p>
-<p class="firstline">Gets the status for a single creative.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(body)</a></code></p>
-<p class="firstline">Submit a new creative.</p>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, maxResults=None, statusFilter=None)</a></code></p>
-<p class="firstline">Retrieves a list of the authenticated user's active creatives.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(accountId, buyerCreativeId)</code>
-  <pre>Gets the status for a single creative.
-
-Args:
-  accountId: integer, The id for the account that will serve this creative. (required)
-  buyerCreativeId: string, The buyer-specific id for this creative. (required)
-
-Returns:
-  An object of the form:
-
-    { # A creative and its classification data.
-      "productCategories": [ # Detected product categories, if any. Read-only. This field should not be set in requests.
-        42,
-      ],
-      "advertiserName": "A String", # The name of the company being advertised in the creative.
-      "kind": "adexchangebuyer#creative", # Resource type.
-      "videoURL": "A String", # The url to fetch a video ad. If set, HTMLSnippet should not be set.
-      "agencyId": "A String", # The agency id for this creative.
-      "width": 42, # Ad width.
-      "attribute": [ # All attributes for the ads that may be shown from this snippet.
-        42,
-      ],
-      "height": 42, # Ad height.
-      "advertiserId": [ # Detected advertiser id, if any. Read-only. This field should not be set in requests.
-        "A String",
-      ],
-      "HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.
-      "status": "A String", # Creative serving status. Read-only. This field should not be set in requests.
-      "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad.
-      "clickThroughUrl": [ # The set of destination urls for the snippet.
-        "A String",
-      ],
-      "vendorType": [ # All vendor types for the ads that may be shown from this snippet.
-        42,
-      ],
-      "disapprovalReasons": [ # The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.
-        {
-          "reason": "A String", # The categorized reason for disapproval.
-          "details": [ # Additional details about the reason for disapproval.
-            "A String",
-          ],
-        },
-      ],
-      "sensitiveCategories": [ # Detected sensitive categories, if any. Read-only. This field should not be set in requests.
-        42,
-      ],
-      "accountId": 42, # Account id.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(body)</code>
-  <pre>Submit a new creative.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A creative and its classification data.
-    "productCategories": [ # Detected product categories, if any. Read-only. This field should not be set in requests.
-      42,
-    ],
-    "advertiserName": "A String", # The name of the company being advertised in the creative.
-    "kind": "adexchangebuyer#creative", # Resource type.
-    "videoURL": "A String", # The url to fetch a video ad. If set, HTMLSnippet should not be set.
-    "agencyId": "A String", # The agency id for this creative.
-    "width": 42, # Ad width.
-    "attribute": [ # All attributes for the ads that may be shown from this snippet.
-      42,
-    ],
-    "height": 42, # Ad height.
-    "advertiserId": [ # Detected advertiser id, if any. Read-only. This field should not be set in requests.
-      "A String",
-    ],
-    "HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.
-    "status": "A String", # Creative serving status. Read-only. This field should not be set in requests.
-    "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad.
-    "clickThroughUrl": [ # The set of destination urls for the snippet.
-      "A String",
-    ],
-    "vendorType": [ # All vendor types for the ads that may be shown from this snippet.
-      42,
-    ],
-    "disapprovalReasons": [ # The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.
-      {
-        "reason": "A String", # The categorized reason for disapproval.
-        "details": [ # Additional details about the reason for disapproval.
-          "A String",
-        ],
-      },
-    ],
-    "sensitiveCategories": [ # Detected sensitive categories, if any. Read-only. This field should not be set in requests.
-      42,
-    ],
-    "accountId": 42, # Account id.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A creative and its classification data.
-      "productCategories": [ # Detected product categories, if any. Read-only. This field should not be set in requests.
-        42,
-      ],
-      "advertiserName": "A String", # The name of the company being advertised in the creative.
-      "kind": "adexchangebuyer#creative", # Resource type.
-      "videoURL": "A String", # The url to fetch a video ad. If set, HTMLSnippet should not be set.
-      "agencyId": "A String", # The agency id for this creative.
-      "width": 42, # Ad width.
-      "attribute": [ # All attributes for the ads that may be shown from this snippet.
-        42,
-      ],
-      "height": 42, # Ad height.
-      "advertiserId": [ # Detected advertiser id, if any. Read-only. This field should not be set in requests.
-        "A String",
-      ],
-      "HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.
-      "status": "A String", # Creative serving status. Read-only. This field should not be set in requests.
-      "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad.
-      "clickThroughUrl": [ # The set of destination urls for the snippet.
-        "A String",
-      ],
-      "vendorType": [ # All vendor types for the ads that may be shown from this snippet.
-        42,
-      ],
-      "disapprovalReasons": [ # The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.
-        {
-          "reason": "A String", # The categorized reason for disapproval.
-          "details": [ # Additional details about the reason for disapproval.
-            "A String",
-          ],
-        },
-      ],
-      "sensitiveCategories": [ # Detected sensitive categories, if any. Read-only. This field should not be set in requests.
-        42,
-      ],
-      "accountId": 42, # Account id.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, maxResults=None, statusFilter=None)</code>
-  <pre>Retrieves a list of the authenticated user's active creatives.
-
-Args:
-  pageToken: string, A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. Optional.
-  maxResults: integer, Maximum number of entries returned on one result page. If not set, the default is 100. Optional.
-  statusFilter: string, When specified, only creatives having the given status are returned.
-    Allowed values
-      approved - Creatives which have been approved.
-      disapproved - Creatives which have been disapproved.
-      not_checked - Creatives whose status is not yet checked.
-
-Returns:
-  An object of the form:
-
-    { # The creatives feed lists the active creatives for the Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single creative.
-    "nextPageToken": "A String", # Continuation token used to page through creatives. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # A list of creatives.
-      { # A creative and its classification data.
-          "productCategories": [ # Detected product categories, if any. Read-only. This field should not be set in requests.
-            42,
-          ],
-          "advertiserName": "A String", # The name of the company being advertised in the creative.
-          "kind": "adexchangebuyer#creative", # Resource type.
-          "videoURL": "A String", # The url to fetch a video ad. If set, HTMLSnippet should not be set.
-          "agencyId": "A String", # The agency id for this creative.
-          "width": 42, # Ad width.
-          "attribute": [ # All attributes for the ads that may be shown from this snippet.
-            42,
-          ],
-          "height": 42, # Ad height.
-          "advertiserId": [ # Detected advertiser id, if any. Read-only. This field should not be set in requests.
-            "A String",
-          ],
-          "HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.
-          "status": "A String", # Creative serving status. Read-only. This field should not be set in requests.
-          "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad.
-          "clickThroughUrl": [ # The set of destination urls for the snippet.
-            "A String",
-          ],
-          "vendorType": [ # All vendor types for the ads that may be shown from this snippet.
-            42,
-          ],
-          "disapprovalReasons": [ # The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.
-            {
-              "reason": "A String", # The categorized reason for disapproval.
-              "details": [ # Additional details about the reason for disapproval.
-                "A String",
-              ],
-            },
-          ],
-          "sensitiveCategories": [ # Detected sensitive categories, if any. Read-only. This field should not be set in requests.
-            42,
-          ],
-          "accountId": 42, # Account id.
-        },
-    ],
-    "kind": "adexchangebuyer#creativesList", # Resource type.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangebuyer_v1_2.directDeals.html b/docs/dyn/adexchangebuyer_v1_2.directDeals.html
deleted file mode 100644
index 851baf0..0000000
--- a/docs/dyn/adexchangebuyer_v1_2.directDeals.html
+++ /dev/null
@@ -1,136 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adexchangebuyer_v1_2.html">Ad Exchange Buyer API</a> . <a href="adexchangebuyer_v1_2.directDeals.html">directDeals</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(id)</a></code></p>
-<p class="firstline">Gets one direct deal by ID.</p>
-<p class="toc_element">
-  <code><a href="#list">list()</a></code></p>
-<p class="firstline">Retrieves the authenticated user's list of direct deals.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(id)</code>
-  <pre>Gets one direct deal by ID.
-
-Args:
-  id: string, The direct deal id (required)
-
-Returns:
-  An object of the form:
-
-    { # The configuration data for an Ad Exchange direct deal.
-    "advertiser": "A String", # The name of the advertiser this deal is for.
-    "kind": "adexchangebuyer#directDeal", # Resource type.
-    "privateExchangeMinCpm": "A String", # The minimum price for this direct deal. In cpm micros of currency according to currency_code. If set, then this deal is eligible for the private exchange tier of buying (below fixed price priority, run as a second price auction).
-    "currencyCode": "A String", # The currency code that applies to the fixed_cpm value. If not set then assumed to be USD.
-    "fixedCpm": "A String", # The fixed price for this direct deal. In cpm micros of currency according to currency_code. If set, then this deal is eligible for the fixed price tier of buying (highest priority, pay exactly the configured fixed price).
-    "startTime": "A String", # Start time for when this deal becomes active. If not set then this deal is active immediately upon creation. In seconds since the epoch.
-    "endTime": "A String", # End time for when this deal stops being active. If not set then this deal is valid until manually disabled by the publisher. In seconds since the epoch.
-    "sellerNetwork": "A String", # The name of the publisher offering this direct deal.
-    "id": "A String", # Deal id.
-    "accountId": 42, # The account id of the buyer this deal is for.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list()</code>
-  <pre>Retrieves the authenticated user's list of direct deals.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    { # A direct deals feed lists Direct Deals the Ad Exchange buyer account has access to. This includes direct deals set up for the buyer account as well as its merged stream seats.
-    "kind": "adexchangebuyer#directDealsList", # Resource type.
-    "directDeals": [ # A list of direct deals relevant for your account.
-      { # The configuration data for an Ad Exchange direct deal.
-        "advertiser": "A String", # The name of the advertiser this deal is for.
-        "kind": "adexchangebuyer#directDeal", # Resource type.
-        "privateExchangeMinCpm": "A String", # The minimum price for this direct deal. In cpm micros of currency according to currency_code. If set, then this deal is eligible for the private exchange tier of buying (below fixed price priority, run as a second price auction).
-        "currencyCode": "A String", # The currency code that applies to the fixed_cpm value. If not set then assumed to be USD.
-        "fixedCpm": "A String", # The fixed price for this direct deal. In cpm micros of currency according to currency_code. If set, then this deal is eligible for the fixed price tier of buying (highest priority, pay exactly the configured fixed price).
-        "startTime": "A String", # Start time for when this deal becomes active. If not set then this deal is active immediately upon creation. In seconds since the epoch.
-        "endTime": "A String", # End time for when this deal stops being active. If not set then this deal is valid until manually disabled by the publisher. In seconds since the epoch.
-        "sellerNetwork": "A String", # The name of the publisher offering this direct deal.
-        "id": "A String", # Deal id.
-        "accountId": 42, # The account id of the buyer this deal is for.
-      },
-    ],
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangebuyer_v1_2.html b/docs/dyn/adexchangebuyer_v1_2.html
deleted file mode 100644
index 461963b..0000000
--- a/docs/dyn/adexchangebuyer_v1_2.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adexchangebuyer_v1_2.html">Ad Exchange Buyer API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adexchangebuyer_v1_2.accounts.html">accounts()</a></code>
-</p>
-<p class="firstline">Returns the accounts Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adexchangebuyer_v1_2.creatives.html">creatives()</a></code>
-</p>
-<p class="firstline">Returns the creatives Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adexchangebuyer_v1_2.directDeals.html">directDeals()</a></code>
-</p>
-<p class="firstline">Returns the directDeals Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adexchangebuyer_v1_2.performanceReport.html">performanceReport()</a></code>
-</p>
-<p class="firstline">Returns the performanceReport Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangebuyer_v1_2.performanceReport.html b/docs/dyn/adexchangebuyer_v1_2.performanceReport.html
deleted file mode 100644
index 63f9f2d..0000000
--- a/docs/dyn/adexchangebuyer_v1_2.performanceReport.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adexchangebuyer_v1_2.html">Ad Exchange Buyer API</a> . <a href="adexchangebuyer_v1_2.performanceReport.html">performanceReport</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, endDateTime, startDateTime)</a></code></p>
-<p class="firstline">Retrieves the authenticated user's list of performance metrics.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(accountId, endDateTime, startDateTime)</code>
-  <pre>Retrieves the authenticated user's list of performance metrics.
-
-Args:
-  accountId: string, The account id to get the reports for. (required)
-  endDateTime: string, The end time for the reports. (required)
-  startDateTime: string, The start time for the reports. (required)
-
-Returns:
-  An object of the form:
-
-    { # The configuration data for an Ad Exchange performance report list. TODO(nathanbullock): need to add some release tests before releasing this. https://sites.google.com/a/google.com/adx-integration/Home/engineering/binary-releases/rtb-api-release https://cs.corp.google.com/#piper///depot/google3/contentads/adx/tools/rtb_api/adxrtb.py
-    "kind": "adexchangebuyer#performanceReportList", # Resource type.
-    "performance_report": [ # A list of performance reports relevant for the account.
-      {
-        "kind": "adexchangebuyer#performanceReport", # Resource type.
-        "timestamp": "A String", # Timestamp of the starting time of this performance data.
-        "region": "A String", # The trading location of this data.
-        "latency50thPercentile": 3.14, # The Nth percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.
-        "latency85thPercentile": 3.14,
-        "latency95thPercentile": 3.14,
-      },
-    ],
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangeseller_v1.adclients.html b/docs/dyn/adexchangeseller_v1.adclients.html
deleted file mode 100644
index 0fa196e..0000000
--- a/docs/dyn/adexchangeseller_v1.adclients.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adexchangeseller_v1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1.adclients.html">adclients</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all ad clients in this Ad Exchange account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
-  <pre>List all ad clients in this Ad Exchange account.
-
-Args:
-  pageToken: string, A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of ad clients to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad clients. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The ad clients returned in this list response.
-      {
-        "productCode": "A String", # This ad client's product code, which corresponds to the PRODUCT_CODE report dimension.
-        "kind": "adexchangeseller#adClient", # Kind of resource this is, in this case adexchangeseller#adClient.
-        "id": "A String", # Unique identifier of this ad client.
-        "arcOptIn": True or False, # Whether this ad client is opted in to ARC.
-        "supportsReporting": True or False, # Whether this ad client supports being reported on.
-      },
-    ],
-    "kind": "adexchangeseller#adClients", # Kind of list this is, in this case adexchangeseller#adClients.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangeseller_v1.adunits.customchannels.html b/docs/dyn/adexchangeseller_v1.adunits.customchannels.html
deleted file mode 100644
index 23c42c7..0000000
--- a/docs/dyn/adexchangeseller_v1.adunits.customchannels.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adexchangeseller_v1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1.adunits.html">adunits</a> . <a href="adexchangeseller_v1.adunits.customchannels.html">customchannels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(adClientId, adUnitId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all custom channels which the specified ad unit belongs to.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(adClientId, adUnitId, pageToken=None, maxResults=None)</code>
-  <pre>List all custom channels which the specified ad unit belongs to.
-
-Args:
-  adClientId: string, Ad client which contains the ad unit. (required)
-  adUnitId: string, Ad unit for which to list custom channels. (required)
-  pageToken: string, A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of custom channels to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through custom channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The custom channels returned in this list response.
-      {
-        "kind": "adexchangeseller#customChannel", # Kind of resource this is, in this case adexchangeseller#customChannel.
-        "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-        "targetingInfo": { # The targeting information of this custom channel, if activated.
-          "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
-          "adsAppearOn": "A String", # The name used to describe this channel externally.
-          "siteLanguage": "A String", # The language of the sites ads will be displayed on.
-          "description": "A String", # The external description of the channel.
-        },
-        "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "name": "A String", # Name of this custom channel.
-      },
-    ],
-    "kind": "adexchangeseller#customChannels", # Kind of list this is, in this case adexchangeseller#customChannels.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangeseller_v1.adunits.html b/docs/dyn/adexchangeseller_v1.adunits.html
deleted file mode 100644
index 103214d..0000000
--- a/docs/dyn/adexchangeseller_v1.adunits.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adexchangeseller_v1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1.adunits.html">adunits</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adexchangeseller_v1.adunits.customchannels.html">customchannels()</a></code>
-</p>
-<p class="firstline">Returns the customchannels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get(adClientId, adUnitId)</a></code></p>
-<p class="firstline">Gets the specified ad unit in the specified ad client.</p>
-<p class="toc_element">
-  <code><a href="#list">list(adClientId, pageToken=None, includeInactive=None, maxResults=None)</a></code></p>
-<p class="firstline">List all ad units in the specified ad client for this Ad Exchange account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(adClientId, adUnitId)</code>
-  <pre>Gets the specified ad unit in the specified ad client.
-
-Args:
-  adClientId: string, Ad client for which to get the ad unit. (required)
-  adUnitId: string, Ad unit to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of this ad unit. Possible values are:
-        # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-        #
-        # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-        #
-        # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-    "kind": "adexchangeseller#adUnit", # Kind of resource this is, in this case adexchangeseller#adUnit.
-    "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-    "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-    "name": "A String", # Name of this ad unit.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(adClientId, pageToken=None, includeInactive=None, maxResults=None)</code>
-  <pre>List all ad units in the specified ad client for this Ad Exchange account.
-
-Args:
-  adClientId: string, Ad client for which to list ad units. (required)
-  pageToken: string, A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  includeInactive: boolean, Whether to include inactive ad units. Default: true.
-  maxResults: integer, The maximum number of ad units to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The ad units returned in this list response.
-      {
-        "status": "A String", # Status of this ad unit. Possible values are:
-            # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-            #
-            # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-            #
-            # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-        "kind": "adexchangeseller#adUnit", # Kind of resource this is, in this case adexchangeseller#adUnit.
-        "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-        "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "name": "A String", # Name of this ad unit.
-      },
-    ],
-    "kind": "adexchangeseller#adUnits", # Kind of list this is, in this case adexchangeseller#adUnits.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangeseller_v1.customchannels.adunits.html b/docs/dyn/adexchangeseller_v1.customchannels.adunits.html
deleted file mode 100644
index 52f5a88..0000000
--- a/docs/dyn/adexchangeseller_v1.customchannels.adunits.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adexchangeseller_v1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1.customchannels.html">customchannels</a> . <a href="adexchangeseller_v1.customchannels.adunits.html">adunits</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(adClientId, customChannelId, pageToken=None, includeInactive=None, maxResults=None)</a></code></p>
-<p class="firstline">List all ad units in the specified custom channel.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(adClientId, customChannelId, pageToken=None, includeInactive=None, maxResults=None)</code>
-  <pre>List all ad units in the specified custom channel.
-
-Args:
-  adClientId: string, Ad client which contains the custom channel. (required)
-  customChannelId: string, Custom channel for which to list ad units. (required)
-  pageToken: string, A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  includeInactive: boolean, Whether to include inactive ad units. Default: true.
-  maxResults: integer, The maximum number of ad units to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The ad units returned in this list response.
-      {
-        "status": "A String", # Status of this ad unit. Possible values are:
-            # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-            #
-            # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-            #
-            # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-        "kind": "adexchangeseller#adUnit", # Kind of resource this is, in this case adexchangeseller#adUnit.
-        "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-        "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "name": "A String", # Name of this ad unit.
-      },
-    ],
-    "kind": "adexchangeseller#adUnits", # Kind of list this is, in this case adexchangeseller#adUnits.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangeseller_v1.customchannels.html b/docs/dyn/adexchangeseller_v1.customchannels.html
deleted file mode 100644
index 0d324f8..0000000
--- a/docs/dyn/adexchangeseller_v1.customchannels.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adexchangeseller_v1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1.customchannels.html">customchannels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adexchangeseller_v1.customchannels.adunits.html">adunits()</a></code>
-</p>
-<p class="firstline">Returns the adunits Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get(adClientId, customChannelId)</a></code></p>
-<p class="firstline">Get the specified custom channel from the specified ad client.</p>
-<p class="toc_element">
-  <code><a href="#list">list(adClientId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all custom channels in the specified ad client for this Ad Exchange account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(adClientId, customChannelId)</code>
-  <pre>Get the specified custom channel from the specified ad client.
-
-Args:
-  adClientId: string, Ad client which contains the custom channel. (required)
-  customChannelId: string, Custom channel to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adexchangeseller#customChannel", # Kind of resource this is, in this case adexchangeseller#customChannel.
-    "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-    "targetingInfo": { # The targeting information of this custom channel, if activated.
-      "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
-      "adsAppearOn": "A String", # The name used to describe this channel externally.
-      "siteLanguage": "A String", # The language of the sites ads will be displayed on.
-      "description": "A String", # The external description of the channel.
-    },
-    "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-    "name": "A String", # Name of this custom channel.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(adClientId, pageToken=None, maxResults=None)</code>
-  <pre>List all custom channels in the specified ad client for this Ad Exchange account.
-
-Args:
-  adClientId: string, Ad client for which to list custom channels. (required)
-  pageToken: string, A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of custom channels to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through custom channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The custom channels returned in this list response.
-      {
-        "kind": "adexchangeseller#customChannel", # Kind of resource this is, in this case adexchangeseller#customChannel.
-        "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-        "targetingInfo": { # The targeting information of this custom channel, if activated.
-          "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
-          "adsAppearOn": "A String", # The name used to describe this channel externally.
-          "siteLanguage": "A String", # The language of the sites ads will be displayed on.
-          "description": "A String", # The external description of the channel.
-        },
-        "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "name": "A String", # Name of this custom channel.
-      },
-    ],
-    "kind": "adexchangeseller#customChannels", # Kind of list this is, in this case adexchangeseller#customChannels.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangeseller_v1.html b/docs/dyn/adexchangeseller_v1.html
deleted file mode 100644
index 7d31449..0000000
--- a/docs/dyn/adexchangeseller_v1.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adexchangeseller_v1.html">Ad Exchange Seller API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adexchangeseller_v1.adclients.html">adclients()</a></code>
-</p>
-<p class="firstline">Returns the adclients Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adexchangeseller_v1.adunits.html">adunits()</a></code>
-</p>
-<p class="firstline">Returns the adunits Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adexchangeseller_v1.customchannels.html">customchannels()</a></code>
-</p>
-<p class="firstline">Returns the customchannels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adexchangeseller_v1.reports.html">reports()</a></code>
-</p>
-<p class="firstline">Returns the reports Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adexchangeseller_v1.urlchannels.html">urlchannels()</a></code>
-</p>
-<p class="firstline">Returns the urlchannels Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangeseller_v1.reports.html b/docs/dyn/adexchangeseller_v1.reports.html
deleted file mode 100644
index 4b2e40e..0000000
--- a/docs/dyn/adexchangeseller_v1.reports.html
+++ /dev/null
@@ -1,155 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adexchangeseller_v1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1.reports.html">reports</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adexchangeseller_v1.reports.saved.html">saved()</a></code>
-</p>
-<p class="firstline">Returns the saved Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#generate">generate(startDate, endDate, sort=None, locale=None, metric=None, maxResults=None, dimension=None, startIndex=None, filter=None)</a></code></p>
-<p class="firstline">Generate an Ad Exchange report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.</p>
-<p class="toc_element">
-  <code><a href="#generate_media">generate_media(startDate, endDate, sort=None, locale=None, metric=None, maxResults=None, dimension=None, startIndex=None, filter=None)</a></code></p>
-<p class="firstline">Generate an Ad Exchange report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="generate">generate(startDate, endDate, sort=None, locale=None, metric=None, maxResults=None, dimension=None, startIndex=None, filter=None)</code>
-  <pre>Generate an Ad Exchange report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.
-
-Args:
-  startDate: string, Start of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  endDate: string, End of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  sort: string, The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. (repeated)
-  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
-  metric: string, Numeric columns to include in the report. (repeated)
-  maxResults: integer, The maximum number of rows of report data to return.
-  dimension: string, Dimensions to base the report on. (repeated)
-  startIndex: integer, Index of the first row of report data to return.
-  filter: string, Filters to be run on the report. (repeated)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adexchangeseller#report", # Kind this is, in this case adexchangeseller#report.
-    "rows": [ # The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.
-      [
-        "A String",
-      ],
-    ],
-    "warnings": [ # Any warnings associated with generation of the report.
-      "A String",
-    ],
-    "totals": [ # The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-    "headers": [ # The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.
-      {
-        "currency": "A String", # The currency of this column. Only present if the header type is METRIC_CURRENCY.
-        "type": "A String", # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.
-        "name": "A String", # The name of the header.
-      },
-    ],
-    "totalMatchedRows": "A String", # The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.
-    "averages": [ # The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="generate_media">generate_media(startDate, endDate, sort=None, locale=None, metric=None, maxResults=None, dimension=None, startIndex=None, filter=None)</code>
-  <pre>Generate an Ad Exchange report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.
-
-Args:
-  startDate: string, Start of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  endDate: string, End of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  sort: string, The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. (repeated)
-  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
-  metric: string, Numeric columns to include in the report. (repeated)
-  maxResults: integer, The maximum number of rows of report data to return.
-  dimension: string, Dimensions to base the report on. (repeated)
-  startIndex: integer, Index of the first row of report data to return.
-  filter: string, Filters to be run on the report. (repeated)
-
-Returns:
-  The media object as a string.
-
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangeseller_v1.reports.saved.html b/docs/dyn/adexchangeseller_v1.reports.saved.html
deleted file mode 100644
index 33ec795..0000000
--- a/docs/dyn/adexchangeseller_v1.reports.saved.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adexchangeseller_v1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1.reports.html">reports</a> . <a href="adexchangeseller_v1.reports.saved.html">saved</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#generate">generate(savedReportId, locale=None, maxResults=None, startIndex=None)</a></code></p>
-<p class="firstline">Generate an Ad Exchange report based on the saved report ID sent in the query parameters.</p>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all saved reports in this Ad Exchange account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="generate">generate(savedReportId, locale=None, maxResults=None, startIndex=None)</code>
-  <pre>Generate an Ad Exchange report based on the saved report ID sent in the query parameters.
-
-Args:
-  savedReportId: string, The saved report to retrieve. (required)
-  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
-  maxResults: integer, The maximum number of rows of report data to return.
-  startIndex: integer, Index of the first row of report data to return.
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adexchangeseller#report", # Kind this is, in this case adexchangeseller#report.
-    "rows": [ # The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.
-      [
-        "A String",
-      ],
-    ],
-    "warnings": [ # Any warnings associated with generation of the report.
-      "A String",
-    ],
-    "totals": [ # The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-    "headers": [ # The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.
-      {
-        "currency": "A String", # The currency of this column. Only present if the header type is METRIC_CURRENCY.
-        "type": "A String", # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.
-        "name": "A String", # The name of the header.
-      },
-    ],
-    "totalMatchedRows": "A String", # The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.
-    "averages": [ # The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
-  <pre>List all saved reports in this Ad Exchange account.
-
-Args:
-  pageToken: string, A continuation token, used to page through saved reports. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of saved reports to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through saved reports. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The saved reports returned in this list response.
-      {
-        "kind": "adexchangeseller#savedReport", # Kind of resource this is, in this case adexchangeseller#savedReport.
-        "id": "A String", # Unique identifier of this saved report.
-        "name": "A String", # This saved report's name.
-      },
-    ],
-    "kind": "adexchangeseller#savedReports", # Kind of list this is, in this case adexchangeseller#savedReports.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangeseller_v1.urlchannels.html b/docs/dyn/adexchangeseller_v1.urlchannels.html
deleted file mode 100644
index 0e8b9b4..0000000
--- a/docs/dyn/adexchangeseller_v1.urlchannels.html
+++ /dev/null
@@ -1,124 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adexchangeseller_v1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1.urlchannels.html">urlchannels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(adClientId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all URL channels in the specified ad client for this Ad Exchange account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(adClientId, pageToken=None, maxResults=None)</code>
-  <pre>List all URL channels in the specified ad client for this Ad Exchange account.
-
-Args:
-  adClientId: string, Ad client for which to list URL channels. (required)
-  pageToken: string, A continuation token, used to page through URL channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of URL channels to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through URL channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The URL channels returned in this list response.
-      {
-        "kind": "adexchangeseller#urlChannel", # Kind of resource this is, in this case adexchangeseller#urlChannel.
-        "id": "A String", # Unique identifier of this URL channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "urlPattern": "A String", # URL Pattern of this URL channel. Does not include "http://" or "https://". Example: www.example.com/home
-      },
-    ],
-    "kind": "adexchangeseller#urlChannels", # Kind of list this is, in this case adexchangeseller#urlChannels.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/admin_reports_v1.activities.html b/docs/dyn/admin_reports_v1.activities.html
deleted file mode 100644
index eab3e8a..0000000
--- a/docs/dyn/admin_reports_v1.activities.html
+++ /dev/null
@@ -1,155 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="admin_reports_v1.html">Admin Reports API</a> . <a href="admin_reports_v1.activities.html">activities</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(userKey, applicationName, eventName=None, actorIpAddress=None, filters=None, maxResults=None, pageToken=None, startTime=None, endTime=None)</a></code></p>
-<p class="firstline">Retrieves a list of activities for a specific customer and application.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(userKey, applicationName, eventName=None, actorIpAddress=None, filters=None, maxResults=None, pageToken=None, startTime=None, endTime=None)</code>
-  <pre>Retrieves a list of activities for a specific customer and application.
-
-Args:
-  userKey: string, Represents the profile id or the user email for which the data should be filtered. When 'all' is specified as the userKey, it returns usageReports for all users. (required)
-  applicationName: string, Application name for which the events are to be retrieved. (required)
-  eventName: string, Name of the event being queried.
-  actorIpAddress: string, IP Address of host where the event was performed. Supports both IPv4 and IPv6 addresses.
-  filters: string, Event parameters in the form [parameter1 name][operator][parameter1 value],[parameter2 name][operator][parameter2 value],...
-  maxResults: integer, Number of activity records to be shown in each page.
-  pageToken: string, Token to specify next page.
-  startTime: string, Return events which occured at or after this time.
-  endTime: string, Return events which occured at or before this time.
-
-Returns:
-  An object of the form:
-
-    { # JSON template for a collection of activites.
-    "nextPageToken": "A String", # Token for retrieving the next page
-    "items": [ # Each record in read response.
-      { # JSON template for the activity resource.
-        "kind": "admin#reports#activity", # Kind of resource this is.
-        "ownerDomain": "A String", # Domain of source customer.
-        "actor": { # User doing the action.
-          "profileId": "A String", # Obfuscated user id of the user.
-          "email": "A String", # Email address of the user.
-          "key": "A String", # For OAuth 2LO API requests, consumer_key of the requestor.
-          "callerType": "A String", # User or OAuth 2LO request.
-        },
-        "id": { # Unique identifier for each activity record.
-          "applicationName": "A String", # Application name to which the event belongs.
-          "uniqueQualifier": "A String", # Unique qualifier if multiple events have the same time.
-          "customerId": "A String", # Obfuscated customer ID of the source customer.
-          "time": "A String", # Time of occurrence of the activity.
-        },
-        "ipAddress": "A String", # IP Address of the user doing the action.
-        "events": [ # Activity events.
-          {
-            "type": "A String", # Type of event.
-            "name": "A String", # Name of event.
-            "parameters": [ # Parameter value pairs for various applications.
-              {
-                "boolValue": True or False, # Boolean value of the parameter.
-                "intValue": "A String", # Integral value of the parameter.
-                "value": "A String", # String value of the parameter.
-                "name": "A String", # The name of the parameter.
-              },
-            ],
-          },
-        ],
-      },
-    ],
-    "kind": "admin#reports#activities", # Kind of list response this is.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/admin_reports_v1.customerUsageReports.html b/docs/dyn/admin_reports_v1.customerUsageReports.html
deleted file mode 100644
index 2b76bba..0000000
--- a/docs/dyn/admin_reports_v1.customerUsageReports.html
+++ /dev/null
@@ -1,149 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="admin_reports_v1.html">Admin Reports API</a> . <a href="admin_reports_v1.customerUsageReports.html">customerUsageReports</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(date, pageToken=None, parameters=None)</a></code></p>
-<p class="firstline">Retrieves a report which is a collection of properties / statistics for a specific customer.</p>
-<p class="toc_element">
-  <code><a href="#get_next">get_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(date, pageToken=None, parameters=None)</code>
-  <pre>Retrieves a report which is a collection of properties / statistics for a specific customer.
-
-Args:
-  date: string, Represents the date in yyyy-mm-dd format for which the data is to be fetched. (required)
-  pageToken: string, Token to specify next page.
-  parameters: string, Represents the application name, parameter name pairs to fetch in csv as app_name1:param_name1, app_name2:param_name2.
-
-Returns:
-  An object of the form:
-
-    { # JSON template for a collection of usage reports.
-    "nextPageToken": "A String", # Token for retrieving the next page
-    "kind": "admin#reports#usageReports", # The kind of object.
-    "usageReports": [ # Various application parameter records.
-      { # JSON template for a usage report.
-        "date": "A String", # The date to which the record belongs.
-        "kind": "admin#reports#usageReport", # The kind of object.
-        "parameters": [ # Parameter value pairs for various applications.
-          {
-            "stringValue": "A String", # String value of the parameter.
-            "boolValue": True or False, # Boolean value of the parameter.
-            "datetimeValue": "A String", # RFC 3339 formatted value of the parameter.
-            "intValue": "A String", # Integral value of the parameter.
-            "name": "A String", # The name of the parameter.
-          },
-        ],
-        "entity": { # Information about the type of the item.
-          "profileId": "A String", # Obfuscated user id for the record.
-          "userEmail": "A String", # user's email.
-          "type": "A String", # The type of item, can be a customer or user.
-          "customerId": "A String", # Obfuscated customer id for the record.
-        },
-      },
-    ],
-    "warnings": [ # Warnings if any.
-      {
-        "message": "A String", # Human readable message for the warning.
-        "code": "A String", # Machine readable code / warning type.
-        "data": [ # Key-Value pairs to give detailed information on the warning.
-          {
-            "value": "A String", # Value associated with a key-value pair to give detailed information on the warning.
-            "key": "A String", # Key associated with a key-value pair to give detailed information on the warning.
-          },
-        ],
-      },
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get_next">get_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/admin_reports_v1.html b/docs/dyn/admin_reports_v1.html
deleted file mode 100644
index 0169d33..0000000
--- a/docs/dyn/admin_reports_v1.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="admin_reports_v1.html">Admin Reports API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="admin_reports_v1.activities.html">activities()</a></code>
-</p>
-<p class="firstline">Returns the activities Resource.</p>
-
-<p class="toc_element">
-  <code><a href="admin_reports_v1.customerUsageReports.html">customerUsageReports()</a></code>
-</p>
-<p class="firstline">Returns the customerUsageReports Resource.</p>
-
-<p class="toc_element">
-  <code><a href="admin_reports_v1.userUsageReport.html">userUsageReport()</a></code>
-</p>
-<p class="firstline">Returns the userUsageReport Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/admin_reports_v1.userUsageReport.html b/docs/dyn/admin_reports_v1.userUsageReport.html
deleted file mode 100644
index fdeaf57..0000000
--- a/docs/dyn/admin_reports_v1.userUsageReport.html
+++ /dev/null
@@ -1,152 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="admin_reports_v1.html">Admin Reports API</a> . <a href="admin_reports_v1.userUsageReport.html">userUsageReport</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(userKey, date, parameters=None, pageToken=None, filters=None, maxResults=None)</a></code></p>
-<p class="firstline">Retrieves a report which is a collection of properties / statistics for a set of users.</p>
-<p class="toc_element">
-  <code><a href="#get_next">get_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(userKey, date, parameters=None, pageToken=None, filters=None, maxResults=None)</code>
-  <pre>Retrieves a report which is a collection of properties / statistics for a set of users.
-
-Args:
-  userKey: string, Represents the profile id or the user email for which the data should be filtered. (required)
-  date: string, Represents the date in yyyy-mm-dd format for which the data is to be fetched. (required)
-  parameters: string, Represents the application name, parameter name pairs to fetch in csv as app_name1:param_name1, app_name2:param_name2.
-  pageToken: string, Token to specify next page.
-  filters: string, Represents the set of filters including parameter operator value.
-  maxResults: integer, Maximum number of results to return. Maximum allowed is 1000
-
-Returns:
-  An object of the form:
-
-    { # JSON template for a collection of usage reports.
-    "nextPageToken": "A String", # Token for retrieving the next page
-    "kind": "admin#reports#usageReports", # The kind of object.
-    "usageReports": [ # Various application parameter records.
-      { # JSON template for a usage report.
-        "date": "A String", # The date to which the record belongs.
-        "kind": "admin#reports#usageReport", # The kind of object.
-        "parameters": [ # Parameter value pairs for various applications.
-          {
-            "stringValue": "A String", # String value of the parameter.
-            "boolValue": True or False, # Boolean value of the parameter.
-            "datetimeValue": "A String", # RFC 3339 formatted value of the parameter.
-            "intValue": "A String", # Integral value of the parameter.
-            "name": "A String", # The name of the parameter.
-          },
-        ],
-        "entity": { # Information about the type of the item.
-          "profileId": "A String", # Obfuscated user id for the record.
-          "userEmail": "A String", # user's email.
-          "type": "A String", # The type of item, can be a customer or user.
-          "customerId": "A String", # Obfuscated customer id for the record.
-        },
-      },
-    ],
-    "warnings": [ # Warnings if any.
-      {
-        "message": "A String", # Human readable message for the warning.
-        "code": "A String", # Machine readable code / warning type.
-        "data": [ # Key-Value pairs to give detailed information on the warning.
-          {
-            "value": "A String", # Value associated with a key-value pair to give detailed information on the warning.
-            "key": "A String", # Key associated with a key-value pair to give detailed information on the warning.
-          },
-        ],
-      },
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get_next">get_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.accounts.adclients.html b/docs/dyn/adsense_v1_2.accounts.adclients.html
deleted file mode 100644
index 92ea18d..0000000
--- a/docs/dyn/adsense_v1_2.accounts.adclients.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.accounts.html">accounts</a> . <a href="adsense_v1_2.accounts.adclients.html">adclients</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all ad clients in the specified account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(accountId, pageToken=None, maxResults=None)</code>
-  <pre>List all ad clients in the specified account.
-
-Args:
-  accountId: string, Account for which to list ad clients. (required)
-  pageToken: string, A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of ad clients to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad clients. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The ad clients returned in this list response.
-      {
-        "productCode": "A String", # This ad client's product code, which corresponds to the PRODUCT_CODE report dimension.
-        "kind": "adsense#adClient", # Kind of resource this is, in this case adsense#adClient.
-        "id": "A String", # Unique identifier of this ad client.
-        "arcOptIn": True or False, # Whether this ad client is opted in to ARC.
-        "supportsReporting": True or False, # Whether this ad client supports being reported on.
-      },
-    ],
-    "kind": "adsense#adClients", # Kind of list this is, in this case adsense#adClients.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.accounts.adunits.customchannels.html b/docs/dyn/adsense_v1_2.accounts.adunits.customchannels.html
deleted file mode 100644
index ea80de0..0000000
--- a/docs/dyn/adsense_v1_2.accounts.adunits.customchannels.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.accounts.html">accounts</a> . <a href="adsense_v1_2.accounts.adunits.html">adunits</a> . <a href="adsense_v1_2.accounts.adunits.customchannels.html">customchannels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, adClientId, adUnitId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all custom channels which the specified ad unit belongs to.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(accountId, adClientId, adUnitId, pageToken=None, maxResults=None)</code>
-  <pre>List all custom channels which the specified ad unit belongs to.
-
-Args:
-  accountId: string, Account to which the ad client belongs. (required)
-  adClientId: string, Ad client which contains the ad unit. (required)
-  adUnitId: string, Ad unit for which to list custom channels. (required)
-  pageToken: string, A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of custom channels to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through custom channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The custom channels returned in this list response.
-      {
-        "kind": "adsense#customChannel", # Kind of resource this is, in this case adsense#customChannel.
-        "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-        "targetingInfo": { # The targeting information of this custom channel, if activated.
-          "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
-          "adsAppearOn": "A String", # The name used to describe this channel externally.
-          "siteLanguage": "A String", # The language of the sites ads will be displayed on.
-          "description": "A String", # The external description of the channel.
-        },
-        "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "name": "A String", # Name of this custom channel.
-      },
-    ],
-    "kind": "adsense#customChannels", # Kind of list this is, in this case adsense#customChannels.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.accounts.adunits.html b/docs/dyn/adsense_v1_2.accounts.adunits.html
deleted file mode 100644
index 96e2499..0000000
--- a/docs/dyn/adsense_v1_2.accounts.adunits.html
+++ /dev/null
@@ -1,241 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.accounts.html">accounts</a> . <a href="adsense_v1_2.accounts.adunits.html">adunits</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsense_v1_2.accounts.adunits.customchannels.html">customchannels()</a></code>
-</p>
-<p class="firstline">Returns the customchannels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get(accountId, adClientId, adUnitId)</a></code></p>
-<p class="firstline">Gets the specified ad unit in the specified ad client for the specified account.</p>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, adClientId, pageToken=None, includeInactive=None, maxResults=None)</a></code></p>
-<p class="firstline">List all ad units in the specified ad client for the specified account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(accountId, adClientId, adUnitId)</code>
-  <pre>Gets the specified ad unit in the specified ad client for the specified account.
-
-Args:
-  accountId: string, Account to which the ad client belongs. (required)
-  adClientId: string, Ad client for which to get the ad unit. (required)
-  adUnitId: string, Ad unit to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of this ad unit. Possible values are:
-        # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-        #
-        # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-        #
-        # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-    "kind": "adsense#adUnit", # Kind of resource this is, in this case adsense#adUnit.
-    "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-    "name": "A String", # Name of this ad unit.
-    "feedAdsSettings": { # Settings specific to feed ads (AFF).
-      "minimumWordCount": 42, # The minimum length an entry should be in order to have attached ads.
-      "frequency": 42, # The frequency at which ads should appear in the feed (i.e. every N entries).
-      "adPosition": "A String", # The position of the ads relative to the feed entries.
-      "type": "A String", # The type of ads which should appear.
-    },
-    "savedStyleId": "A String", # ID of the saved ad style which holds this ad unit's style information.
-    "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-      "type": "A String", # Type of this ad unit.
-      "backupOption": { # The backup option to be used in instances where no ad is available.
-        "color": "A String", # Color to use when type is set to COLOR.
-        "url": "A String", # URL to use when type is set to URL.
-        "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-      },
-      "size": "A String", # Size of this ad unit.
-    },
-    "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-    "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-      "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-      "type": "A String", # Type of this ad unit.
-      "markupLanguage": "A String", # The markup language to use for this ad unit.
-      "size": "A String", # Size of this ad unit.
-    },
-    "customStyle": { # Custom style information specific to this ad unit.
-      "corners": "A String", # The style of the corners in the ad.
-      "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-        "url": "A String", # The color of the ad url.
-        "text": "A String", # The color of the ad text.
-        "border": "A String", # The color of the ad border.
-        "background": "A String", # The color of the ad background.
-        "title": "A String", # The color of the ad title.
-      },
-      "font": { # The font which is included in the style.
-        "family": "A String", # The family of the font.
-        "size": "A String", # The size of the font.
-      },
-      "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(accountId, adClientId, pageToken=None, includeInactive=None, maxResults=None)</code>
-  <pre>List all ad units in the specified ad client for the specified account.
-
-Args:
-  accountId: string, Account to which the ad client belongs. (required)
-  adClientId: string, Ad client for which to list ad units. (required)
-  pageToken: string, A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  includeInactive: boolean, Whether to include inactive ad units. Default: true.
-  maxResults: integer, The maximum number of ad units to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The ad units returned in this list response.
-      {
-        "status": "A String", # Status of this ad unit. Possible values are:
-            # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-            #
-            # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-            #
-            # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-        "kind": "adsense#adUnit", # Kind of resource this is, in this case adsense#adUnit.
-        "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-        "name": "A String", # Name of this ad unit.
-        "feedAdsSettings": { # Settings specific to feed ads (AFF).
-          "minimumWordCount": 42, # The minimum length an entry should be in order to have attached ads.
-          "frequency": 42, # The frequency at which ads should appear in the feed (i.e. every N entries).
-          "adPosition": "A String", # The position of the ads relative to the feed entries.
-          "type": "A String", # The type of ads which should appear.
-        },
-        "savedStyleId": "A String", # ID of the saved ad style which holds this ad unit's style information.
-        "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-          "type": "A String", # Type of this ad unit.
-          "backupOption": { # The backup option to be used in instances where no ad is available.
-            "color": "A String", # Color to use when type is set to COLOR.
-            "url": "A String", # URL to use when type is set to URL.
-            "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-          },
-          "size": "A String", # Size of this ad unit.
-        },
-        "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-          "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-          "type": "A String", # Type of this ad unit.
-          "markupLanguage": "A String", # The markup language to use for this ad unit.
-          "size": "A String", # Size of this ad unit.
-        },
-        "customStyle": { # Custom style information specific to this ad unit.
-          "corners": "A String", # The style of the corners in the ad.
-          "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-            "url": "A String", # The color of the ad url.
-            "text": "A String", # The color of the ad text.
-            "border": "A String", # The color of the ad border.
-            "background": "A String", # The color of the ad background.
-            "title": "A String", # The color of the ad title.
-          },
-          "font": { # The font which is included in the style.
-            "family": "A String", # The family of the font.
-            "size": "A String", # The size of the font.
-          },
-          "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-        },
-      },
-    ],
-    "kind": "adsense#adUnits", # Kind of list this is, in this case adsense#adUnits.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.accounts.customchannels.adunits.html b/docs/dyn/adsense_v1_2.accounts.customchannels.adunits.html
deleted file mode 100644
index a23f5f4..0000000
--- a/docs/dyn/adsense_v1_2.accounts.customchannels.adunits.html
+++ /dev/null
@@ -1,171 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.accounts.html">accounts</a> . <a href="adsense_v1_2.accounts.customchannels.html">customchannels</a> . <a href="adsense_v1_2.accounts.customchannels.adunits.html">adunits</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, adClientId, customChannelId, pageToken=None, includeInactive=None, maxResults=None)</a></code></p>
-<p class="firstline">List all ad units in the specified custom channel.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(accountId, adClientId, customChannelId, pageToken=None, includeInactive=None, maxResults=None)</code>
-  <pre>List all ad units in the specified custom channel.
-
-Args:
-  accountId: string, Account to which the ad client belongs. (required)
-  adClientId: string, Ad client which contains the custom channel. (required)
-  customChannelId: string, Custom channel for which to list ad units. (required)
-  pageToken: string, A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  includeInactive: boolean, Whether to include inactive ad units. Default: true.
-  maxResults: integer, The maximum number of ad units to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The ad units returned in this list response.
-      {
-        "status": "A String", # Status of this ad unit. Possible values are:
-            # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-            #
-            # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-            #
-            # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-        "kind": "adsense#adUnit", # Kind of resource this is, in this case adsense#adUnit.
-        "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-        "name": "A String", # Name of this ad unit.
-        "feedAdsSettings": { # Settings specific to feed ads (AFF).
-          "minimumWordCount": 42, # The minimum length an entry should be in order to have attached ads.
-          "frequency": 42, # The frequency at which ads should appear in the feed (i.e. every N entries).
-          "adPosition": "A String", # The position of the ads relative to the feed entries.
-          "type": "A String", # The type of ads which should appear.
-        },
-        "savedStyleId": "A String", # ID of the saved ad style which holds this ad unit's style information.
-        "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-          "type": "A String", # Type of this ad unit.
-          "backupOption": { # The backup option to be used in instances where no ad is available.
-            "color": "A String", # Color to use when type is set to COLOR.
-            "url": "A String", # URL to use when type is set to URL.
-            "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-          },
-          "size": "A String", # Size of this ad unit.
-        },
-        "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-          "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-          "type": "A String", # Type of this ad unit.
-          "markupLanguage": "A String", # The markup language to use for this ad unit.
-          "size": "A String", # Size of this ad unit.
-        },
-        "customStyle": { # Custom style information specific to this ad unit.
-          "corners": "A String", # The style of the corners in the ad.
-          "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-            "url": "A String", # The color of the ad url.
-            "text": "A String", # The color of the ad text.
-            "border": "A String", # The color of the ad border.
-            "background": "A String", # The color of the ad background.
-            "title": "A String", # The color of the ad title.
-          },
-          "font": { # The font which is included in the style.
-            "family": "A String", # The family of the font.
-            "size": "A String", # The size of the font.
-          },
-          "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-        },
-      },
-    ],
-    "kind": "adsense#adUnits", # Kind of list this is, in this case adsense#adUnits.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.accounts.customchannels.html b/docs/dyn/adsense_v1_2.accounts.customchannels.html
deleted file mode 100644
index e22116f..0000000
--- a/docs/dyn/adsense_v1_2.accounts.customchannels.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.accounts.html">accounts</a> . <a href="adsense_v1_2.accounts.customchannels.html">customchannels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsense_v1_2.accounts.customchannels.adunits.html">adunits()</a></code>
-</p>
-<p class="firstline">Returns the adunits Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get(accountId, adClientId, customChannelId)</a></code></p>
-<p class="firstline">Get the specified custom channel from the specified ad client for the specified account.</p>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, adClientId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all custom channels in the specified ad client for the specified account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(accountId, adClientId, customChannelId)</code>
-  <pre>Get the specified custom channel from the specified ad client for the specified account.
-
-Args:
-  accountId: string, Account to which the ad client belongs. (required)
-  adClientId: string, Ad client which contains the custom channel. (required)
-  customChannelId: string, Custom channel to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsense#customChannel", # Kind of resource this is, in this case adsense#customChannel.
-    "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-    "targetingInfo": { # The targeting information of this custom channel, if activated.
-      "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
-      "adsAppearOn": "A String", # The name used to describe this channel externally.
-      "siteLanguage": "A String", # The language of the sites ads will be displayed on.
-      "description": "A String", # The external description of the channel.
-    },
-    "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-    "name": "A String", # Name of this custom channel.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(accountId, adClientId, pageToken=None, maxResults=None)</code>
-  <pre>List all custom channels in the specified ad client for the specified account.
-
-Args:
-  accountId: string, Account to which the ad client belongs. (required)
-  adClientId: string, Ad client for which to list custom channels. (required)
-  pageToken: string, A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of custom channels to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through custom channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The custom channels returned in this list response.
-      {
-        "kind": "adsense#customChannel", # Kind of resource this is, in this case adsense#customChannel.
-        "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-        "targetingInfo": { # The targeting information of this custom channel, if activated.
-          "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
-          "adsAppearOn": "A String", # The name used to describe this channel externally.
-          "siteLanguage": "A String", # The language of the sites ads will be displayed on.
-          "description": "A String", # The external description of the channel.
-        },
-        "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "name": "A String", # Name of this custom channel.
-      },
-    ],
-    "kind": "adsense#customChannels", # Kind of list this is, in this case adsense#customChannels.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.accounts.html b/docs/dyn/adsense_v1_2.accounts.html
deleted file mode 100644
index db3d4f4..0000000
--- a/docs/dyn/adsense_v1_2.accounts.html
+++ /dev/null
@@ -1,182 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.accounts.html">accounts</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsense_v1_2.accounts.adclients.html">adclients()</a></code>
-</p>
-<p class="firstline">Returns the adclients Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_2.accounts.adunits.html">adunits()</a></code>
-</p>
-<p class="firstline">Returns the adunits Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_2.accounts.customchannels.html">customchannels()</a></code>
-</p>
-<p class="firstline">Returns the customchannels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_2.accounts.reports.html">reports()</a></code>
-</p>
-<p class="firstline">Returns the reports Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_2.accounts.savedadstyles.html">savedadstyles()</a></code>
-</p>
-<p class="firstline">Returns the savedadstyles Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_2.accounts.urlchannels.html">urlchannels()</a></code>
-</p>
-<p class="firstline">Returns the urlchannels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get(accountId, tree=None)</a></code></p>
-<p class="firstline">Get information about the selected AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all accounts available to this AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(accountId, tree=None)</code>
-  <pre>Get information about the selected AdSense account.
-
-Args:
-  accountId: string, Account to get information about. (required)
-  tree: boolean, Whether the tree of sub accounts should be returned.
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsense#account", # Kind of resource this is, in this case adsense#account.
-    "premium": True or False, # Whether this account is premium.
-    "id": "A String", # Unique identifier of this account.
-    "subAccounts": [ # Sub accounts of the this account.
-      # Object with schema name: Account
-    ],
-    "name": "A String", # Name of this account.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
-  <pre>List all accounts available to this AdSense account.
-
-Args:
-  pageToken: string, A continuation token, used to page through accounts. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of accounts to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through accounts. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The accounts returned in this list response.
-      {
-        "kind": "adsense#account", # Kind of resource this is, in this case adsense#account.
-        "premium": True or False, # Whether this account is premium.
-        "id": "A String", # Unique identifier of this account.
-        "subAccounts": [ # Sub accounts of the this account.
-          # Object with schema name: Account
-        ],
-        "name": "A String", # Name of this account.
-      },
-    ],
-    "kind": "adsense#accounts", # Kind of list this is, in this case adsense#accounts.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.accounts.reports.html b/docs/dyn/adsense_v1_2.accounts.reports.html
deleted file mode 100644
index c68275e..0000000
--- a/docs/dyn/adsense_v1_2.accounts.reports.html
+++ /dev/null
@@ -1,159 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.accounts.html">accounts</a> . <a href="adsense_v1_2.accounts.reports.html">reports</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsense_v1_2.accounts.reports.saved.html">saved()</a></code>
-</p>
-<p class="firstline">Returns the saved Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#generate">generate(accountId, startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, sort=None, maxResults=None, filter=None, dimension=None)</a></code></p>
-<p class="firstline">Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.</p>
-<p class="toc_element">
-  <code><a href="#generate_media">generate_media(accountId, startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, sort=None, maxResults=None, filter=None, dimension=None)</a></code></p>
-<p class="firstline">Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="generate">generate(accountId, startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, sort=None, maxResults=None, filter=None, dimension=None)</code>
-  <pre>Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.
-
-Args:
-  accountId: string, Account upon which to report. (required)
-  startDate: string, Start of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  endDate: string, End of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
-  metric: string, Numeric columns to include in the report. (repeated)
-  currency: string, Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set.
-  startIndex: integer, Index of the first row of report data to return.
-  sort: string, The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. (repeated)
-  maxResults: integer, The maximum number of rows of report data to return.
-  filter: string, Filters to be run on the report. (repeated)
-  dimension: string, Dimensions to base the report on. (repeated)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsense#report", # Kind this is, in this case adsense#report.
-    "rows": [ # The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.
-      [
-        "A String",
-      ],
-    ],
-    "warnings": [ # Any warnings associated with generation of the report.
-      "A String",
-    ],
-    "totals": [ # The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-    "headers": [ # The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.
-      {
-        "currency": "A String", # The currency of this column. Only present if the header type is METRIC_CURRENCY.
-        "type": "A String", # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.
-        "name": "A String", # The name of the header.
-      },
-    ],
-    "totalMatchedRows": "A String", # The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.
-    "averages": [ # The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="generate_media">generate_media(accountId, startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, sort=None, maxResults=None, filter=None, dimension=None)</code>
-  <pre>Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.
-
-Args:
-  accountId: string, Account upon which to report. (required)
-  startDate: string, Start of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  endDate: string, End of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
-  metric: string, Numeric columns to include in the report. (repeated)
-  currency: string, Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set.
-  startIndex: integer, Index of the first row of report data to return.
-  sort: string, The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. (repeated)
-  maxResults: integer, The maximum number of rows of report data to return.
-  filter: string, Filters to be run on the report. (repeated)
-  dimension: string, Dimensions to base the report on. (repeated)
-
-Returns:
-  The media object as a string.
-
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.accounts.reports.saved.html b/docs/dyn/adsense_v1_2.accounts.reports.saved.html
deleted file mode 100644
index d0f028f..0000000
--- a/docs/dyn/adsense_v1_2.accounts.reports.saved.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.accounts.html">accounts</a> . <a href="adsense_v1_2.accounts.reports.html">reports</a> . <a href="adsense_v1_2.accounts.reports.saved.html">saved</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#generate">generate(accountId, savedReportId, locale=None, maxResults=None, startIndex=None)</a></code></p>
-<p class="firstline">Generate an AdSense report based on the saved report ID sent in the query parameters.</p>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all saved reports in the specified AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="generate">generate(accountId, savedReportId, locale=None, maxResults=None, startIndex=None)</code>
-  <pre>Generate an AdSense report based on the saved report ID sent in the query parameters.
-
-Args:
-  accountId: string, Account to which the saved reports belong. (required)
-  savedReportId: string, The saved report to retrieve. (required)
-  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
-  maxResults: integer, The maximum number of rows of report data to return.
-  startIndex: integer, Index of the first row of report data to return.
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsense#report", # Kind this is, in this case adsense#report.
-    "rows": [ # The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.
-      [
-        "A String",
-      ],
-    ],
-    "warnings": [ # Any warnings associated with generation of the report.
-      "A String",
-    ],
-    "totals": [ # The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-    "headers": [ # The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.
-      {
-        "currency": "A String", # The currency of this column. Only present if the header type is METRIC_CURRENCY.
-        "type": "A String", # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.
-        "name": "A String", # The name of the header.
-      },
-    ],
-    "totalMatchedRows": "A String", # The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.
-    "averages": [ # The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(accountId, pageToken=None, maxResults=None)</code>
-  <pre>List all saved reports in the specified AdSense account.
-
-Args:
-  accountId: string, Account to which the saved reports belong. (required)
-  pageToken: string, A continuation token, used to page through saved reports. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of saved reports to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through saved reports. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The saved reports returned in this list response.
-      {
-        "kind": "adsense#savedReport", # Kind of resource this is, in this case adsense#savedReport.
-        "id": "A String", # Unique identifier of this saved report.
-        "name": "A String", # This saved report's name.
-      },
-    ],
-    "kind": "adsense#savedReports", # Kind of list this is, in this case adsense#savedReports.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.accounts.savedadstyles.html b/docs/dyn/adsense_v1_2.accounts.savedadstyles.html
deleted file mode 100644
index 2076d53..0000000
--- a/docs/dyn/adsense_v1_2.accounts.savedadstyles.html
+++ /dev/null
@@ -1,175 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.accounts.html">accounts</a> . <a href="adsense_v1_2.accounts.savedadstyles.html">savedadstyles</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(accountId, savedAdStyleId)</a></code></p>
-<p class="firstline">List a specific saved ad style for the specified account.</p>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all saved ad styles in the specified account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(accountId, savedAdStyleId)</code>
-  <pre>List a specific saved ad style for the specified account.
-
-Args:
-  accountId: string, Account for which to get the saved ad style. (required)
-  savedAdStyleId: string, Saved ad style to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsense#savedAdStyle", # Kind of resource this is, in this case adsense#savedAdStyle.
-    "adStyle": { # The AdStyle itself.
-      "corners": "A String", # The style of the corners in the ad.
-      "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-        "url": "A String", # The color of the ad url.
-        "text": "A String", # The color of the ad text.
-        "border": "A String", # The color of the ad border.
-        "background": "A String", # The color of the ad background.
-        "title": "A String", # The color of the ad title.
-      },
-      "font": { # The font which is included in the style.
-        "family": "A String", # The family of the font.
-        "size": "A String", # The size of the font.
-      },
-      "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-    },
-    "name": "A String", # The user selected name of this SavedAdStyle.
-    "id": "A String", # Unique identifier of this saved ad style. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(accountId, pageToken=None, maxResults=None)</code>
-  <pre>List all saved ad styles in the specified account.
-
-Args:
-  accountId: string, Account for which to list saved ad styles. (required)
-  pageToken: string, A continuation token, used to page through saved ad styles. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of saved ad styles to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The saved ad styles returned in this list response.
-      {
-        "kind": "adsense#savedAdStyle", # Kind of resource this is, in this case adsense#savedAdStyle.
-        "adStyle": { # The AdStyle itself.
-          "corners": "A String", # The style of the corners in the ad.
-          "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-            "url": "A String", # The color of the ad url.
-            "text": "A String", # The color of the ad text.
-            "border": "A String", # The color of the ad border.
-            "background": "A String", # The color of the ad background.
-            "title": "A String", # The color of the ad title.
-          },
-          "font": { # The font which is included in the style.
-            "family": "A String", # The family of the font.
-            "size": "A String", # The size of the font.
-          },
-          "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-        },
-        "name": "A String", # The user selected name of this SavedAdStyle.
-        "id": "A String", # Unique identifier of this saved ad style. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-      },
-    ],
-    "kind": "adsense#savedAdStyles", # Kind of list this is, in this case adsense#savedAdStyles.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.accounts.urlchannels.html b/docs/dyn/adsense_v1_2.accounts.urlchannels.html
deleted file mode 100644
index a93f533..0000000
--- a/docs/dyn/adsense_v1_2.accounts.urlchannels.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.accounts.html">accounts</a> . <a href="adsense_v1_2.accounts.urlchannels.html">urlchannels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, adClientId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all URL channels in the specified ad client for the specified account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(accountId, adClientId, pageToken=None, maxResults=None)</code>
-  <pre>List all URL channels in the specified ad client for the specified account.
-
-Args:
-  accountId: string, Account to which the ad client belongs. (required)
-  adClientId: string, Ad client for which to list URL channels. (required)
-  pageToken: string, A continuation token, used to page through URL channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of URL channels to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through URL channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The URL channels returned in this list response.
-      {
-        "kind": "adsense#urlChannel", # Kind of resource this is, in this case adsense#urlChannel.
-        "id": "A String", # Unique identifier of this URL channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "urlPattern": "A String", # URL Pattern of this URL channel. Does not include "http://" or "https://". Example: www.example.com/home
-      },
-    ],
-    "kind": "adsense#urlChannels", # Kind of list this is, in this case adsense#urlChannels.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.adclients.html b/docs/dyn/adsense_v1_2.adclients.html
deleted file mode 100644
index e51338f..0000000
--- a/docs/dyn/adsense_v1_2.adclients.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.adclients.html">adclients</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all ad clients in this AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
-  <pre>List all ad clients in this AdSense account.
-
-Args:
-  pageToken: string, A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of ad clients to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad clients. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The ad clients returned in this list response.
-      {
-        "productCode": "A String", # This ad client's product code, which corresponds to the PRODUCT_CODE report dimension.
-        "kind": "adsense#adClient", # Kind of resource this is, in this case adsense#adClient.
-        "id": "A String", # Unique identifier of this ad client.
-        "arcOptIn": True or False, # Whether this ad client is opted in to ARC.
-        "supportsReporting": True or False, # Whether this ad client supports being reported on.
-      },
-    ],
-    "kind": "adsense#adClients", # Kind of list this is, in this case adsense#adClients.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.adunits.customchannels.html b/docs/dyn/adsense_v1_2.adunits.customchannels.html
deleted file mode 100644
index af00814..0000000
--- a/docs/dyn/adsense_v1_2.adunits.customchannels.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.adunits.html">adunits</a> . <a href="adsense_v1_2.adunits.customchannels.html">customchannels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(adClientId, adUnitId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all custom channels which the specified ad unit belongs to.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(adClientId, adUnitId, pageToken=None, maxResults=None)</code>
-  <pre>List all custom channels which the specified ad unit belongs to.
-
-Args:
-  adClientId: string, Ad client which contains the ad unit. (required)
-  adUnitId: string, Ad unit for which to list custom channels. (required)
-  pageToken: string, A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of custom channels to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through custom channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The custom channels returned in this list response.
-      {
-        "kind": "adsense#customChannel", # Kind of resource this is, in this case adsense#customChannel.
-        "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-        "targetingInfo": { # The targeting information of this custom channel, if activated.
-          "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
-          "adsAppearOn": "A String", # The name used to describe this channel externally.
-          "siteLanguage": "A String", # The language of the sites ads will be displayed on.
-          "description": "A String", # The external description of the channel.
-        },
-        "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "name": "A String", # Name of this custom channel.
-      },
-    ],
-    "kind": "adsense#customChannels", # Kind of list this is, in this case adsense#customChannels.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.adunits.html b/docs/dyn/adsense_v1_2.adunits.html
deleted file mode 100644
index 21cfc74..0000000
--- a/docs/dyn/adsense_v1_2.adunits.html
+++ /dev/null
@@ -1,239 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.adunits.html">adunits</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsense_v1_2.adunits.customchannels.html">customchannels()</a></code>
-</p>
-<p class="firstline">Returns the customchannels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get(adClientId, adUnitId)</a></code></p>
-<p class="firstline">Gets the specified ad unit in the specified ad client.</p>
-<p class="toc_element">
-  <code><a href="#list">list(adClientId, pageToken=None, includeInactive=None, maxResults=None)</a></code></p>
-<p class="firstline">List all ad units in the specified ad client for this AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(adClientId, adUnitId)</code>
-  <pre>Gets the specified ad unit in the specified ad client.
-
-Args:
-  adClientId: string, Ad client for which to get the ad unit. (required)
-  adUnitId: string, Ad unit to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of this ad unit. Possible values are:
-        # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-        #
-        # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-        #
-        # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-    "kind": "adsense#adUnit", # Kind of resource this is, in this case adsense#adUnit.
-    "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-    "name": "A String", # Name of this ad unit.
-    "feedAdsSettings": { # Settings specific to feed ads (AFF).
-      "minimumWordCount": 42, # The minimum length an entry should be in order to have attached ads.
-      "frequency": 42, # The frequency at which ads should appear in the feed (i.e. every N entries).
-      "adPosition": "A String", # The position of the ads relative to the feed entries.
-      "type": "A String", # The type of ads which should appear.
-    },
-    "savedStyleId": "A String", # ID of the saved ad style which holds this ad unit's style information.
-    "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-      "type": "A String", # Type of this ad unit.
-      "backupOption": { # The backup option to be used in instances where no ad is available.
-        "color": "A String", # Color to use when type is set to COLOR.
-        "url": "A String", # URL to use when type is set to URL.
-        "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-      },
-      "size": "A String", # Size of this ad unit.
-    },
-    "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-    "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-      "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-      "type": "A String", # Type of this ad unit.
-      "markupLanguage": "A String", # The markup language to use for this ad unit.
-      "size": "A String", # Size of this ad unit.
-    },
-    "customStyle": { # Custom style information specific to this ad unit.
-      "corners": "A String", # The style of the corners in the ad.
-      "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-        "url": "A String", # The color of the ad url.
-        "text": "A String", # The color of the ad text.
-        "border": "A String", # The color of the ad border.
-        "background": "A String", # The color of the ad background.
-        "title": "A String", # The color of the ad title.
-      },
-      "font": { # The font which is included in the style.
-        "family": "A String", # The family of the font.
-        "size": "A String", # The size of the font.
-      },
-      "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(adClientId, pageToken=None, includeInactive=None, maxResults=None)</code>
-  <pre>List all ad units in the specified ad client for this AdSense account.
-
-Args:
-  adClientId: string, Ad client for which to list ad units. (required)
-  pageToken: string, A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  includeInactive: boolean, Whether to include inactive ad units. Default: true.
-  maxResults: integer, The maximum number of ad units to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The ad units returned in this list response.
-      {
-        "status": "A String", # Status of this ad unit. Possible values are:
-            # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-            #
-            # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-            #
-            # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-        "kind": "adsense#adUnit", # Kind of resource this is, in this case adsense#adUnit.
-        "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-        "name": "A String", # Name of this ad unit.
-        "feedAdsSettings": { # Settings specific to feed ads (AFF).
-          "minimumWordCount": 42, # The minimum length an entry should be in order to have attached ads.
-          "frequency": 42, # The frequency at which ads should appear in the feed (i.e. every N entries).
-          "adPosition": "A String", # The position of the ads relative to the feed entries.
-          "type": "A String", # The type of ads which should appear.
-        },
-        "savedStyleId": "A String", # ID of the saved ad style which holds this ad unit's style information.
-        "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-          "type": "A String", # Type of this ad unit.
-          "backupOption": { # The backup option to be used in instances where no ad is available.
-            "color": "A String", # Color to use when type is set to COLOR.
-            "url": "A String", # URL to use when type is set to URL.
-            "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-          },
-          "size": "A String", # Size of this ad unit.
-        },
-        "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-          "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-          "type": "A String", # Type of this ad unit.
-          "markupLanguage": "A String", # The markup language to use for this ad unit.
-          "size": "A String", # Size of this ad unit.
-        },
-        "customStyle": { # Custom style information specific to this ad unit.
-          "corners": "A String", # The style of the corners in the ad.
-          "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-            "url": "A String", # The color of the ad url.
-            "text": "A String", # The color of the ad text.
-            "border": "A String", # The color of the ad border.
-            "background": "A String", # The color of the ad background.
-            "title": "A String", # The color of the ad title.
-          },
-          "font": { # The font which is included in the style.
-            "family": "A String", # The family of the font.
-            "size": "A String", # The size of the font.
-          },
-          "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-        },
-      },
-    ],
-    "kind": "adsense#adUnits", # Kind of list this is, in this case adsense#adUnits.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.customchannels.adunits.html b/docs/dyn/adsense_v1_2.customchannels.adunits.html
deleted file mode 100644
index f987595..0000000
--- a/docs/dyn/adsense_v1_2.customchannels.adunits.html
+++ /dev/null
@@ -1,170 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.customchannels.html">customchannels</a> . <a href="adsense_v1_2.customchannels.adunits.html">adunits</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(adClientId, customChannelId, pageToken=None, includeInactive=None, maxResults=None)</a></code></p>
-<p class="firstline">List all ad units in the specified custom channel.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(adClientId, customChannelId, pageToken=None, includeInactive=None, maxResults=None)</code>
-  <pre>List all ad units in the specified custom channel.
-
-Args:
-  adClientId: string, Ad client which contains the custom channel. (required)
-  customChannelId: string, Custom channel for which to list ad units. (required)
-  pageToken: string, A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  includeInactive: boolean, Whether to include inactive ad units. Default: true.
-  maxResults: integer, The maximum number of ad units to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The ad units returned in this list response.
-      {
-        "status": "A String", # Status of this ad unit. Possible values are:
-            # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-            #
-            # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-            #
-            # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-        "kind": "adsense#adUnit", # Kind of resource this is, in this case adsense#adUnit.
-        "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-        "name": "A String", # Name of this ad unit.
-        "feedAdsSettings": { # Settings specific to feed ads (AFF).
-          "minimumWordCount": 42, # The minimum length an entry should be in order to have attached ads.
-          "frequency": 42, # The frequency at which ads should appear in the feed (i.e. every N entries).
-          "adPosition": "A String", # The position of the ads relative to the feed entries.
-          "type": "A String", # The type of ads which should appear.
-        },
-        "savedStyleId": "A String", # ID of the saved ad style which holds this ad unit's style information.
-        "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-          "type": "A String", # Type of this ad unit.
-          "backupOption": { # The backup option to be used in instances where no ad is available.
-            "color": "A String", # Color to use when type is set to COLOR.
-            "url": "A String", # URL to use when type is set to URL.
-            "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-          },
-          "size": "A String", # Size of this ad unit.
-        },
-        "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-          "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-          "type": "A String", # Type of this ad unit.
-          "markupLanguage": "A String", # The markup language to use for this ad unit.
-          "size": "A String", # Size of this ad unit.
-        },
-        "customStyle": { # Custom style information specific to this ad unit.
-          "corners": "A String", # The style of the corners in the ad.
-          "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-            "url": "A String", # The color of the ad url.
-            "text": "A String", # The color of the ad text.
-            "border": "A String", # The color of the ad border.
-            "background": "A String", # The color of the ad background.
-            "title": "A String", # The color of the ad title.
-          },
-          "font": { # The font which is included in the style.
-            "family": "A String", # The family of the font.
-            "size": "A String", # The size of the font.
-          },
-          "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-        },
-      },
-    ],
-    "kind": "adsense#adUnits", # Kind of list this is, in this case adsense#adUnits.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.customchannels.html b/docs/dyn/adsense_v1_2.customchannels.html
deleted file mode 100644
index daf3804..0000000
--- a/docs/dyn/adsense_v1_2.customchannels.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.customchannels.html">customchannels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsense_v1_2.customchannels.adunits.html">adunits()</a></code>
-</p>
-<p class="firstline">Returns the adunits Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get(adClientId, customChannelId)</a></code></p>
-<p class="firstline">Get the specified custom channel from the specified ad client.</p>
-<p class="toc_element">
-  <code><a href="#list">list(adClientId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all custom channels in the specified ad client for this AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(adClientId, customChannelId)</code>
-  <pre>Get the specified custom channel from the specified ad client.
-
-Args:
-  adClientId: string, Ad client which contains the custom channel. (required)
-  customChannelId: string, Custom channel to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsense#customChannel", # Kind of resource this is, in this case adsense#customChannel.
-    "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-    "targetingInfo": { # The targeting information of this custom channel, if activated.
-      "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
-      "adsAppearOn": "A String", # The name used to describe this channel externally.
-      "siteLanguage": "A String", # The language of the sites ads will be displayed on.
-      "description": "A String", # The external description of the channel.
-    },
-    "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-    "name": "A String", # Name of this custom channel.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(adClientId, pageToken=None, maxResults=None)</code>
-  <pre>List all custom channels in the specified ad client for this AdSense account.
-
-Args:
-  adClientId: string, Ad client for which to list custom channels. (required)
-  pageToken: string, A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of custom channels to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through custom channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The custom channels returned in this list response.
-      {
-        "kind": "adsense#customChannel", # Kind of resource this is, in this case adsense#customChannel.
-        "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-        "targetingInfo": { # The targeting information of this custom channel, if activated.
-          "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
-          "adsAppearOn": "A String", # The name used to describe this channel externally.
-          "siteLanguage": "A String", # The language of the sites ads will be displayed on.
-          "description": "A String", # The external description of the channel.
-        },
-        "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "name": "A String", # Name of this custom channel.
-      },
-    ],
-    "kind": "adsense#customChannels", # Kind of list this is, in this case adsense#customChannels.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.html b/docs/dyn/adsense_v1_2.html
deleted file mode 100644
index de27135..0000000
--- a/docs/dyn/adsense_v1_2.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsense_v1_2.accounts.html">accounts()</a></code>
-</p>
-<p class="firstline">Returns the accounts Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_2.adclients.html">adclients()</a></code>
-</p>
-<p class="firstline">Returns the adclients Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_2.adunits.html">adunits()</a></code>
-</p>
-<p class="firstline">Returns the adunits Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_2.customchannels.html">customchannels()</a></code>
-</p>
-<p class="firstline">Returns the customchannels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_2.reports.html">reports()</a></code>
-</p>
-<p class="firstline">Returns the reports Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_2.savedadstyles.html">savedadstyles()</a></code>
-</p>
-<p class="firstline">Returns the savedadstyles Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_2.urlchannels.html">urlchannels()</a></code>
-</p>
-<p class="firstline">Returns the urlchannels Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.reports.html b/docs/dyn/adsense_v1_2.reports.html
deleted file mode 100644
index d5d6938..0000000
--- a/docs/dyn/adsense_v1_2.reports.html
+++ /dev/null
@@ -1,159 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.reports.html">reports</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsense_v1_2.reports.saved.html">saved()</a></code>
-</p>
-<p class="firstline">Returns the saved Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#generate">generate(startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, accountId=None, sort=None, maxResults=None, filter=None, dimension=None)</a></code></p>
-<p class="firstline">Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.</p>
-<p class="toc_element">
-  <code><a href="#generate_media">generate_media(startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, accountId=None, sort=None, maxResults=None, filter=None, dimension=None)</a></code></p>
-<p class="firstline">Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="generate">generate(startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, accountId=None, sort=None, maxResults=None, filter=None, dimension=None)</code>
-  <pre>Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.
-
-Args:
-  startDate: string, Start of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  endDate: string, End of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
-  metric: string, Numeric columns to include in the report. (repeated)
-  currency: string, Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set.
-  startIndex: integer, Index of the first row of report data to return.
-  accountId: string, Accounts upon which to report. (repeated)
-  sort: string, The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. (repeated)
-  maxResults: integer, The maximum number of rows of report data to return.
-  filter: string, Filters to be run on the report. (repeated)
-  dimension: string, Dimensions to base the report on. (repeated)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsense#report", # Kind this is, in this case adsense#report.
-    "rows": [ # The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.
-      [
-        "A String",
-      ],
-    ],
-    "warnings": [ # Any warnings associated with generation of the report.
-      "A String",
-    ],
-    "totals": [ # The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-    "headers": [ # The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.
-      {
-        "currency": "A String", # The currency of this column. Only present if the header type is METRIC_CURRENCY.
-        "type": "A String", # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.
-        "name": "A String", # The name of the header.
-      },
-    ],
-    "totalMatchedRows": "A String", # The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.
-    "averages": [ # The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="generate_media">generate_media(startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, accountId=None, sort=None, maxResults=None, filter=None, dimension=None)</code>
-  <pre>Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.
-
-Args:
-  startDate: string, Start of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  endDate: string, End of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
-  metric: string, Numeric columns to include in the report. (repeated)
-  currency: string, Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set.
-  startIndex: integer, Index of the first row of report data to return.
-  accountId: string, Accounts upon which to report. (repeated)
-  sort: string, The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. (repeated)
-  maxResults: integer, The maximum number of rows of report data to return.
-  filter: string, Filters to be run on the report. (repeated)
-  dimension: string, Dimensions to base the report on. (repeated)
-
-Returns:
-  The media object as a string.
-
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.reports.saved.html b/docs/dyn/adsense_v1_2.reports.saved.html
deleted file mode 100644
index 301f525..0000000
--- a/docs/dyn/adsense_v1_2.reports.saved.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.reports.html">reports</a> . <a href="adsense_v1_2.reports.saved.html">saved</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#generate">generate(savedReportId, locale=None, maxResults=None, startIndex=None)</a></code></p>
-<p class="firstline">Generate an AdSense report based on the saved report ID sent in the query parameters.</p>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all saved reports in this AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="generate">generate(savedReportId, locale=None, maxResults=None, startIndex=None)</code>
-  <pre>Generate an AdSense report based on the saved report ID sent in the query parameters.
-
-Args:
-  savedReportId: string, The saved report to retrieve. (required)
-  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
-  maxResults: integer, The maximum number of rows of report data to return.
-  startIndex: integer, Index of the first row of report data to return.
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsense#report", # Kind this is, in this case adsense#report.
-    "rows": [ # The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.
-      [
-        "A String",
-      ],
-    ],
-    "warnings": [ # Any warnings associated with generation of the report.
-      "A String",
-    ],
-    "totals": [ # The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-    "headers": [ # The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.
-      {
-        "currency": "A String", # The currency of this column. Only present if the header type is METRIC_CURRENCY.
-        "type": "A String", # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.
-        "name": "A String", # The name of the header.
-      },
-    ],
-    "totalMatchedRows": "A String", # The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.
-    "averages": [ # The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
-  <pre>List all saved reports in this AdSense account.
-
-Args:
-  pageToken: string, A continuation token, used to page through saved reports. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of saved reports to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through saved reports. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The saved reports returned in this list response.
-      {
-        "kind": "adsense#savedReport", # Kind of resource this is, in this case adsense#savedReport.
-        "id": "A String", # Unique identifier of this saved report.
-        "name": "A String", # This saved report's name.
-      },
-    ],
-    "kind": "adsense#savedReports", # Kind of list this is, in this case adsense#savedReports.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.savedadstyles.html b/docs/dyn/adsense_v1_2.savedadstyles.html
deleted file mode 100644
index c8fdd89..0000000
--- a/docs/dyn/adsense_v1_2.savedadstyles.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.savedadstyles.html">savedadstyles</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(savedAdStyleId)</a></code></p>
-<p class="firstline">Get a specific saved ad style from the user's account.</p>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all saved ad styles in the user's account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(savedAdStyleId)</code>
-  <pre>Get a specific saved ad style from the user's account.
-
-Args:
-  savedAdStyleId: string, Saved ad style to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsense#savedAdStyle", # Kind of resource this is, in this case adsense#savedAdStyle.
-    "adStyle": { # The AdStyle itself.
-      "corners": "A String", # The style of the corners in the ad.
-      "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-        "url": "A String", # The color of the ad url.
-        "text": "A String", # The color of the ad text.
-        "border": "A String", # The color of the ad border.
-        "background": "A String", # The color of the ad background.
-        "title": "A String", # The color of the ad title.
-      },
-      "font": { # The font which is included in the style.
-        "family": "A String", # The family of the font.
-        "size": "A String", # The size of the font.
-      },
-      "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-    },
-    "name": "A String", # The user selected name of this SavedAdStyle.
-    "id": "A String", # Unique identifier of this saved ad style. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
-  <pre>List all saved ad styles in the user's account.
-
-Args:
-  pageToken: string, A continuation token, used to page through saved ad styles. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of saved ad styles to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The saved ad styles returned in this list response.
-      {
-        "kind": "adsense#savedAdStyle", # Kind of resource this is, in this case adsense#savedAdStyle.
-        "adStyle": { # The AdStyle itself.
-          "corners": "A String", # The style of the corners in the ad.
-          "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-            "url": "A String", # The color of the ad url.
-            "text": "A String", # The color of the ad text.
-            "border": "A String", # The color of the ad border.
-            "background": "A String", # The color of the ad background.
-            "title": "A String", # The color of the ad title.
-          },
-          "font": { # The font which is included in the style.
-            "family": "A String", # The family of the font.
-            "size": "A String", # The size of the font.
-          },
-          "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-        },
-        "name": "A String", # The user selected name of this SavedAdStyle.
-        "id": "A String", # Unique identifier of this saved ad style. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-      },
-    ],
-    "kind": "adsense#savedAdStyles", # Kind of list this is, in this case adsense#savedAdStyles.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_2.urlchannels.html b/docs/dyn/adsense_v1_2.urlchannels.html
deleted file mode 100644
index 9aa8cdd..0000000
--- a/docs/dyn/adsense_v1_2.urlchannels.html
+++ /dev/null
@@ -1,124 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_2.html">AdSense Management API</a> . <a href="adsense_v1_2.urlchannels.html">urlchannels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(adClientId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all URL channels in the specified ad client for this AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(adClientId, pageToken=None, maxResults=None)</code>
-  <pre>List all URL channels in the specified ad client for this AdSense account.
-
-Args:
-  adClientId: string, Ad client for which to list URL channels. (required)
-  pageToken: string, A continuation token, used to page through URL channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of URL channels to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through URL channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The URL channels returned in this list response.
-      {
-        "kind": "adsense#urlChannel", # Kind of resource this is, in this case adsense#urlChannel.
-        "id": "A String", # Unique identifier of this URL channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "urlPattern": "A String", # URL Pattern of this URL channel. Does not include "http://" or "https://". Example: www.example.com/home
-      },
-    ],
-    "kind": "adsense#urlChannels", # Kind of list this is, in this case adsense#urlChannels.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.adclients.html b/docs/dyn/adsense_v1_3.accounts.adclients.html
deleted file mode 100644
index 7cc13c1..0000000
--- a/docs/dyn/adsense_v1_3.accounts.adclients.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.adclients.html">adclients</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all ad clients in the specified account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(accountId, pageToken=None, maxResults=None)</code>
-  <pre>List all ad clients in the specified account.
-
-Args:
-  accountId: string, Account for which to list ad clients. (required)
-  pageToken: string, A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of ad clients to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad clients. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The ad clients returned in this list response.
-      {
-        "productCode": "A String", # This ad client's product code, which corresponds to the PRODUCT_CODE report dimension.
-        "kind": "adsense#adClient", # Kind of resource this is, in this case adsense#adClient.
-        "id": "A String", # Unique identifier of this ad client.
-        "arcOptIn": True or False, # Whether this ad client is opted in to ARC.
-        "supportsReporting": True or False, # Whether this ad client supports being reported on.
-      },
-    ],
-    "kind": "adsense#adClients", # Kind of list this is, in this case adsense#adClients.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.adunits.customchannels.html b/docs/dyn/adsense_v1_3.accounts.adunits.customchannels.html
deleted file mode 100644
index 52c280a..0000000
--- a/docs/dyn/adsense_v1_3.accounts.adunits.customchannels.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.adunits.html">adunits</a> . <a href="adsense_v1_3.accounts.adunits.customchannels.html">customchannels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, adClientId, adUnitId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all custom channels which the specified ad unit belongs to.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(accountId, adClientId, adUnitId, pageToken=None, maxResults=None)</code>
-  <pre>List all custom channels which the specified ad unit belongs to.
-
-Args:
-  accountId: string, Account to which the ad client belongs. (required)
-  adClientId: string, Ad client which contains the ad unit. (required)
-  adUnitId: string, Ad unit for which to list custom channels. (required)
-  pageToken: string, A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of custom channels to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through custom channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The custom channels returned in this list response.
-      {
-        "kind": "adsense#customChannel", # Kind of resource this is, in this case adsense#customChannel.
-        "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-        "targetingInfo": { # The targeting information of this custom channel, if activated.
-          "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
-          "adsAppearOn": "A String", # The name used to describe this channel externally.
-          "siteLanguage": "A String", # The language of the sites ads will be displayed on.
-          "description": "A String", # The external description of the channel.
-        },
-        "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "name": "A String", # Name of this custom channel.
-      },
-    ],
-    "kind": "adsense#customChannels", # Kind of list this is, in this case adsense#customChannels.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.adunits.html b/docs/dyn/adsense_v1_3.accounts.adunits.html
deleted file mode 100644
index 4f752ff..0000000
--- a/docs/dyn/adsense_v1_3.accounts.adunits.html
+++ /dev/null
@@ -1,262 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.adunits.html">adunits</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsense_v1_3.accounts.adunits.customchannels.html">customchannels()</a></code>
-</p>
-<p class="firstline">Returns the customchannels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get(accountId, adClientId, adUnitId)</a></code></p>
-<p class="firstline">Gets the specified ad unit in the specified ad client for the specified account.</p>
-<p class="toc_element">
-  <code><a href="#getAdCode">getAdCode(accountId, adClientId, adUnitId)</a></code></p>
-<p class="firstline">Get ad code for the specified ad unit.</p>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, adClientId, pageToken=None, includeInactive=None, maxResults=None)</a></code></p>
-<p class="firstline">List all ad units in the specified ad client for the specified account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(accountId, adClientId, adUnitId)</code>
-  <pre>Gets the specified ad unit in the specified ad client for the specified account.
-
-Args:
-  accountId: string, Account to which the ad client belongs. (required)
-  adClientId: string, Ad client for which to get the ad unit. (required)
-  adUnitId: string, Ad unit to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of this ad unit. Possible values are:
-        # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-        #
-        # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-        #
-        # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-    "kind": "adsense#adUnit", # Kind of resource this is, in this case adsense#adUnit.
-    "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-    "name": "A String", # Name of this ad unit.
-    "feedAdsSettings": { # Settings specific to feed ads (AFF).
-      "minimumWordCount": 42, # The minimum length an entry should be in order to have attached ads.
-      "frequency": 42, # The frequency at which ads should appear in the feed (i.e. every N entries).
-      "adPosition": "A String", # The position of the ads relative to the feed entries.
-      "type": "A String", # The type of ads which should appear.
-    },
-    "savedStyleId": "A String", # ID of the saved ad style which holds this ad unit's style information.
-    "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-      "type": "A String", # Type of this ad unit.
-      "backupOption": { # The backup option to be used in instances where no ad is available.
-        "color": "A String", # Color to use when type is set to COLOR.
-        "url": "A String", # URL to use when type is set to URL.
-        "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-      },
-      "size": "A String", # Size of this ad unit.
-    },
-    "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-    "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-      "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-      "type": "A String", # Type of this ad unit.
-      "markupLanguage": "A String", # The markup language to use for this ad unit.
-      "size": "A String", # Size of this ad unit.
-    },
-    "customStyle": { # Custom style information specific to this ad unit.
-      "corners": "A String", # The style of the corners in the ad.
-      "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-        "url": "A String", # The color of the ad url.
-        "text": "A String", # The color of the ad text.
-        "border": "A String", # The color of the ad border.
-        "background": "A String", # The color of the ad background.
-        "title": "A String", # The color of the ad title.
-      },
-      "font": { # The font which is included in the style.
-        "family": "A String", # The family of the font.
-        "size": "A String", # The size of the font.
-      },
-      "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="getAdCode">getAdCode(accountId, adClientId, adUnitId)</code>
-  <pre>Get ad code for the specified ad unit.
-
-Args:
-  accountId: string, Account which contains the ad client. (required)
-  adClientId: string, Ad client with contains the ad unit. (required)
-  adUnitId: string, Ad unit to get the code for. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "adCode": "A String", # The ad code snippet.
-    "kind": "adsense#adCode", # Kind this is, in this case adsense#adCode.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(accountId, adClientId, pageToken=None, includeInactive=None, maxResults=None)</code>
-  <pre>List all ad units in the specified ad client for the specified account.
-
-Args:
-  accountId: string, Account to which the ad client belongs. (required)
-  adClientId: string, Ad client for which to list ad units. (required)
-  pageToken: string, A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  includeInactive: boolean, Whether to include inactive ad units. Default: true.
-  maxResults: integer, The maximum number of ad units to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The ad units returned in this list response.
-      {
-        "status": "A String", # Status of this ad unit. Possible values are:
-            # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-            #
-            # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-            #
-            # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-        "kind": "adsense#adUnit", # Kind of resource this is, in this case adsense#adUnit.
-        "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-        "name": "A String", # Name of this ad unit.
-        "feedAdsSettings": { # Settings specific to feed ads (AFF).
-          "minimumWordCount": 42, # The minimum length an entry should be in order to have attached ads.
-          "frequency": 42, # The frequency at which ads should appear in the feed (i.e. every N entries).
-          "adPosition": "A String", # The position of the ads relative to the feed entries.
-          "type": "A String", # The type of ads which should appear.
-        },
-        "savedStyleId": "A String", # ID of the saved ad style which holds this ad unit's style information.
-        "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-          "type": "A String", # Type of this ad unit.
-          "backupOption": { # The backup option to be used in instances where no ad is available.
-            "color": "A String", # Color to use when type is set to COLOR.
-            "url": "A String", # URL to use when type is set to URL.
-            "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-          },
-          "size": "A String", # Size of this ad unit.
-        },
-        "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-          "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-          "type": "A String", # Type of this ad unit.
-          "markupLanguage": "A String", # The markup language to use for this ad unit.
-          "size": "A String", # Size of this ad unit.
-        },
-        "customStyle": { # Custom style information specific to this ad unit.
-          "corners": "A String", # The style of the corners in the ad.
-          "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-            "url": "A String", # The color of the ad url.
-            "text": "A String", # The color of the ad text.
-            "border": "A String", # The color of the ad border.
-            "background": "A String", # The color of the ad background.
-            "title": "A String", # The color of the ad title.
-          },
-          "font": { # The font which is included in the style.
-            "family": "A String", # The family of the font.
-            "size": "A String", # The size of the font.
-          },
-          "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-        },
-      },
-    ],
-    "kind": "adsense#adUnits", # Kind of list this is, in this case adsense#adUnits.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.alerts.html b/docs/dyn/adsense_v1_3.accounts.alerts.html
deleted file mode 100644
index 35f095f..0000000
--- a/docs/dyn/adsense_v1_3.accounts.alerts.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.alerts.html">alerts</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, locale=None)</a></code></p>
-<p class="firstline">List the alerts for the specified AdSense account.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(accountId, locale=None)</code>
-  <pre>List the alerts for the specified AdSense account.
-
-Args:
-  accountId: string, Account for which to retrieve the alerts. (required)
-  locale: string, The locale to use for translating alert messages. The account locale will be used if this is not supplied. The AdSense default (English) will be used if the supplied locale is invalid or unsupported.
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # The alerts returned in this list response.
-      {
-        "type": "A String", # Type of this alert. Possible values: SELF_HOLD, MIGRATED_TO_BILLING3, ADDRESS_PIN_VERIFICATION, PHONE_PIN_VERIFICATION, CORPORATE_ENTITY, GRAYLISTED_PUBLISHER, API_HOLD.
-        "kind": "adsense#alert", # Kind of resource this is, in this case adsense#alert.
-        "message": "A String", # The localized alert message.
-        "id": "A String", # Unique identifier of this alert. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "severity": "A String", # Severity of this alert. Possible values: INFO, WARNING, SEVERE.
-      },
-    ],
-    "kind": "adsense#alerts", # Kind of list this is, in this case adsense#alerts.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.customchannels.adunits.html b/docs/dyn/adsense_v1_3.accounts.customchannels.adunits.html
deleted file mode 100644
index 003d4c0..0000000
--- a/docs/dyn/adsense_v1_3.accounts.customchannels.adunits.html
+++ /dev/null
@@ -1,171 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.customchannels.html">customchannels</a> . <a href="adsense_v1_3.accounts.customchannels.adunits.html">adunits</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, adClientId, customChannelId, pageToken=None, includeInactive=None, maxResults=None)</a></code></p>
-<p class="firstline">List all ad units in the specified custom channel.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(accountId, adClientId, customChannelId, pageToken=None, includeInactive=None, maxResults=None)</code>
-  <pre>List all ad units in the specified custom channel.
-
-Args:
-  accountId: string, Account to which the ad client belongs. (required)
-  adClientId: string, Ad client which contains the custom channel. (required)
-  customChannelId: string, Custom channel for which to list ad units. (required)
-  pageToken: string, A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  includeInactive: boolean, Whether to include inactive ad units. Default: true.
-  maxResults: integer, The maximum number of ad units to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The ad units returned in this list response.
-      {
-        "status": "A String", # Status of this ad unit. Possible values are:
-            # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-            #
-            # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-            #
-            # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-        "kind": "adsense#adUnit", # Kind of resource this is, in this case adsense#adUnit.
-        "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-        "name": "A String", # Name of this ad unit.
-        "feedAdsSettings": { # Settings specific to feed ads (AFF).
-          "minimumWordCount": 42, # The minimum length an entry should be in order to have attached ads.
-          "frequency": 42, # The frequency at which ads should appear in the feed (i.e. every N entries).
-          "adPosition": "A String", # The position of the ads relative to the feed entries.
-          "type": "A String", # The type of ads which should appear.
-        },
-        "savedStyleId": "A String", # ID of the saved ad style which holds this ad unit's style information.
-        "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-          "type": "A String", # Type of this ad unit.
-          "backupOption": { # The backup option to be used in instances where no ad is available.
-            "color": "A String", # Color to use when type is set to COLOR.
-            "url": "A String", # URL to use when type is set to URL.
-            "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-          },
-          "size": "A String", # Size of this ad unit.
-        },
-        "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-          "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-          "type": "A String", # Type of this ad unit.
-          "markupLanguage": "A String", # The markup language to use for this ad unit.
-          "size": "A String", # Size of this ad unit.
-        },
-        "customStyle": { # Custom style information specific to this ad unit.
-          "corners": "A String", # The style of the corners in the ad.
-          "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-            "url": "A String", # The color of the ad url.
-            "text": "A String", # The color of the ad text.
-            "border": "A String", # The color of the ad border.
-            "background": "A String", # The color of the ad background.
-            "title": "A String", # The color of the ad title.
-          },
-          "font": { # The font which is included in the style.
-            "family": "A String", # The family of the font.
-            "size": "A String", # The size of the font.
-          },
-          "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-        },
-      },
-    ],
-    "kind": "adsense#adUnits", # Kind of list this is, in this case adsense#adUnits.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.customchannels.html b/docs/dyn/adsense_v1_3.accounts.customchannels.html
deleted file mode 100644
index 13de0c9..0000000
--- a/docs/dyn/adsense_v1_3.accounts.customchannels.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.customchannels.html">customchannels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsense_v1_3.accounts.customchannels.adunits.html">adunits()</a></code>
-</p>
-<p class="firstline">Returns the adunits Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get(accountId, adClientId, customChannelId)</a></code></p>
-<p class="firstline">Get the specified custom channel from the specified ad client for the specified account.</p>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, adClientId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all custom channels in the specified ad client for the specified account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(accountId, adClientId, customChannelId)</code>
-  <pre>Get the specified custom channel from the specified ad client for the specified account.
-
-Args:
-  accountId: string, Account to which the ad client belongs. (required)
-  adClientId: string, Ad client which contains the custom channel. (required)
-  customChannelId: string, Custom channel to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsense#customChannel", # Kind of resource this is, in this case adsense#customChannel.
-    "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-    "targetingInfo": { # The targeting information of this custom channel, if activated.
-      "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
-      "adsAppearOn": "A String", # The name used to describe this channel externally.
-      "siteLanguage": "A String", # The language of the sites ads will be displayed on.
-      "description": "A String", # The external description of the channel.
-    },
-    "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-    "name": "A String", # Name of this custom channel.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(accountId, adClientId, pageToken=None, maxResults=None)</code>
-  <pre>List all custom channels in the specified ad client for the specified account.
-
-Args:
-  accountId: string, Account to which the ad client belongs. (required)
-  adClientId: string, Ad client for which to list custom channels. (required)
-  pageToken: string, A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of custom channels to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through custom channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The custom channels returned in this list response.
-      {
-        "kind": "adsense#customChannel", # Kind of resource this is, in this case adsense#customChannel.
-        "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-        "targetingInfo": { # The targeting information of this custom channel, if activated.
-          "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
-          "adsAppearOn": "A String", # The name used to describe this channel externally.
-          "siteLanguage": "A String", # The language of the sites ads will be displayed on.
-          "description": "A String", # The external description of the channel.
-        },
-        "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "name": "A String", # Name of this custom channel.
-      },
-    ],
-    "kind": "adsense#customChannels", # Kind of list this is, in this case adsense#customChannels.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.html b/docs/dyn/adsense_v1_3.accounts.html
deleted file mode 100644
index b1e2266..0000000
--- a/docs/dyn/adsense_v1_3.accounts.html
+++ /dev/null
@@ -1,187 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsense_v1_3.accounts.adclients.html">adclients()</a></code>
-</p>
-<p class="firstline">Returns the adclients Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_3.accounts.adunits.html">adunits()</a></code>
-</p>
-<p class="firstline">Returns the adunits Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_3.accounts.alerts.html">alerts()</a></code>
-</p>
-<p class="firstline">Returns the alerts Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_3.accounts.customchannels.html">customchannels()</a></code>
-</p>
-<p class="firstline">Returns the customchannels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_3.accounts.reports.html">reports()</a></code>
-</p>
-<p class="firstline">Returns the reports Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_3.accounts.savedadstyles.html">savedadstyles()</a></code>
-</p>
-<p class="firstline">Returns the savedadstyles Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_3.accounts.urlchannels.html">urlchannels()</a></code>
-</p>
-<p class="firstline">Returns the urlchannels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get(accountId, tree=None)</a></code></p>
-<p class="firstline">Get information about the selected AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all accounts available to this AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(accountId, tree=None)</code>
-  <pre>Get information about the selected AdSense account.
-
-Args:
-  accountId: string, Account to get information about. (required)
-  tree: boolean, Whether the tree of sub accounts should be returned.
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsense#account", # Kind of resource this is, in this case adsense#account.
-    "premium": True or False, # Whether this account is premium.
-    "id": "A String", # Unique identifier of this account.
-    "subAccounts": [ # Sub accounts of the this account.
-      # Object with schema name: Account
-    ],
-    "name": "A String", # Name of this account.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
-  <pre>List all accounts available to this AdSense account.
-
-Args:
-  pageToken: string, A continuation token, used to page through accounts. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of accounts to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through accounts. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The accounts returned in this list response.
-      {
-        "kind": "adsense#account", # Kind of resource this is, in this case adsense#account.
-        "premium": True or False, # Whether this account is premium.
-        "id": "A String", # Unique identifier of this account.
-        "subAccounts": [ # Sub accounts of the this account.
-          # Object with schema name: Account
-        ],
-        "name": "A String", # Name of this account.
-      },
-    ],
-    "kind": "adsense#accounts", # Kind of list this is, in this case adsense#accounts.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.reports.html b/docs/dyn/adsense_v1_3.accounts.reports.html
deleted file mode 100644
index c75137a..0000000
--- a/docs/dyn/adsense_v1_3.accounts.reports.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.reports.html">reports</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsense_v1_3.accounts.reports.saved.html">saved()</a></code>
-</p>
-<p class="firstline">Returns the saved Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#generate">generate(accountId, startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, useTimezoneReporting=None, sort=None, maxResults=None, filter=None, dimension=None)</a></code></p>
-<p class="firstline">Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.</p>
-<p class="toc_element">
-  <code><a href="#generate_media">generate_media(accountId, startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, useTimezoneReporting=None, sort=None, maxResults=None, filter=None, dimension=None)</a></code></p>
-<p class="firstline">Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="generate">generate(accountId, startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, useTimezoneReporting=None, sort=None, maxResults=None, filter=None, dimension=None)</code>
-  <pre>Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.
-
-Args:
-  accountId: string, Account upon which to report. (required)
-  startDate: string, Start of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  endDate: string, End of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
-  metric: string, Numeric columns to include in the report. (repeated)
-  currency: string, Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set.
-  startIndex: integer, Index of the first row of report data to return.
-  useTimezoneReporting: boolean, Whether the report should be generated in the AdSense account's local timezone. If false default PST/PDT timezone will be used.
-  sort: string, The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. (repeated)
-  maxResults: integer, The maximum number of rows of report data to return.
-  filter: string, Filters to be run on the report. (repeated)
-  dimension: string, Dimensions to base the report on. (repeated)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsense#report", # Kind this is, in this case adsense#report.
-    "rows": [ # The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.
-      [
-        "A String",
-      ],
-    ],
-    "warnings": [ # Any warnings associated with generation of the report.
-      "A String",
-    ],
-    "totals": [ # The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-    "headers": [ # The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.
-      {
-        "currency": "A String", # The currency of this column. Only present if the header type is METRIC_CURRENCY.
-        "type": "A String", # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.
-        "name": "A String", # The name of the header.
-      },
-    ],
-    "totalMatchedRows": "A String", # The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.
-    "averages": [ # The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="generate_media">generate_media(accountId, startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, useTimezoneReporting=None, sort=None, maxResults=None, filter=None, dimension=None)</code>
-  <pre>Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.
-
-Args:
-  accountId: string, Account upon which to report. (required)
-  startDate: string, Start of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  endDate: string, End of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
-  metric: string, Numeric columns to include in the report. (repeated)
-  currency: string, Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set.
-  startIndex: integer, Index of the first row of report data to return.
-  useTimezoneReporting: boolean, Whether the report should be generated in the AdSense account's local timezone. If false default PST/PDT timezone will be used.
-  sort: string, The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. (repeated)
-  maxResults: integer, The maximum number of rows of report data to return.
-  filter: string, Filters to be run on the report. (repeated)
-  dimension: string, Dimensions to base the report on. (repeated)
-
-Returns:
-  The media object as a string.
-
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.reports.saved.html b/docs/dyn/adsense_v1_3.accounts.reports.saved.html
deleted file mode 100644
index 971a2ad..0000000
--- a/docs/dyn/adsense_v1_3.accounts.reports.saved.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.reports.html">reports</a> . <a href="adsense_v1_3.accounts.reports.saved.html">saved</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#generate">generate(accountId, savedReportId, locale=None, maxResults=None, startIndex=None)</a></code></p>
-<p class="firstline">Generate an AdSense report based on the saved report ID sent in the query parameters.</p>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all saved reports in the specified AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="generate">generate(accountId, savedReportId, locale=None, maxResults=None, startIndex=None)</code>
-  <pre>Generate an AdSense report based on the saved report ID sent in the query parameters.
-
-Args:
-  accountId: string, Account to which the saved reports belong. (required)
-  savedReportId: string, The saved report to retrieve. (required)
-  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
-  maxResults: integer, The maximum number of rows of report data to return.
-  startIndex: integer, Index of the first row of report data to return.
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsense#report", # Kind this is, in this case adsense#report.
-    "rows": [ # The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.
-      [
-        "A String",
-      ],
-    ],
-    "warnings": [ # Any warnings associated with generation of the report.
-      "A String",
-    ],
-    "totals": [ # The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-    "headers": [ # The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.
-      {
-        "currency": "A String", # The currency of this column. Only present if the header type is METRIC_CURRENCY.
-        "type": "A String", # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.
-        "name": "A String", # The name of the header.
-      },
-    ],
-    "totalMatchedRows": "A String", # The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.
-    "averages": [ # The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(accountId, pageToken=None, maxResults=None)</code>
-  <pre>List all saved reports in the specified AdSense account.
-
-Args:
-  accountId: string, Account to which the saved reports belong. (required)
-  pageToken: string, A continuation token, used to page through saved reports. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of saved reports to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through saved reports. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The saved reports returned in this list response.
-      {
-        "kind": "adsense#savedReport", # Kind of resource this is, in this case adsense#savedReport.
-        "id": "A String", # Unique identifier of this saved report.
-        "name": "A String", # This saved report's name.
-      },
-    ],
-    "kind": "adsense#savedReports", # Kind of list this is, in this case adsense#savedReports.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.savedadstyles.html b/docs/dyn/adsense_v1_3.accounts.savedadstyles.html
deleted file mode 100644
index 12ccac8..0000000
--- a/docs/dyn/adsense_v1_3.accounts.savedadstyles.html
+++ /dev/null
@@ -1,175 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.savedadstyles.html">savedadstyles</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(accountId, savedAdStyleId)</a></code></p>
-<p class="firstline">List a specific saved ad style for the specified account.</p>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all saved ad styles in the specified account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(accountId, savedAdStyleId)</code>
-  <pre>List a specific saved ad style for the specified account.
-
-Args:
-  accountId: string, Account for which to get the saved ad style. (required)
-  savedAdStyleId: string, Saved ad style to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsense#savedAdStyle", # Kind of resource this is, in this case adsense#savedAdStyle.
-    "adStyle": { # The AdStyle itself.
-      "corners": "A String", # The style of the corners in the ad.
-      "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-        "url": "A String", # The color of the ad url.
-        "text": "A String", # The color of the ad text.
-        "border": "A String", # The color of the ad border.
-        "background": "A String", # The color of the ad background.
-        "title": "A String", # The color of the ad title.
-      },
-      "font": { # The font which is included in the style.
-        "family": "A String", # The family of the font.
-        "size": "A String", # The size of the font.
-      },
-      "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-    },
-    "name": "A String", # The user selected name of this SavedAdStyle.
-    "id": "A String", # Unique identifier of this saved ad style. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(accountId, pageToken=None, maxResults=None)</code>
-  <pre>List all saved ad styles in the specified account.
-
-Args:
-  accountId: string, Account for which to list saved ad styles. (required)
-  pageToken: string, A continuation token, used to page through saved ad styles. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of saved ad styles to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The saved ad styles returned in this list response.
-      {
-        "kind": "adsense#savedAdStyle", # Kind of resource this is, in this case adsense#savedAdStyle.
-        "adStyle": { # The AdStyle itself.
-          "corners": "A String", # The style of the corners in the ad.
-          "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-            "url": "A String", # The color of the ad url.
-            "text": "A String", # The color of the ad text.
-            "border": "A String", # The color of the ad border.
-            "background": "A String", # The color of the ad background.
-            "title": "A String", # The color of the ad title.
-          },
-          "font": { # The font which is included in the style.
-            "family": "A String", # The family of the font.
-            "size": "A String", # The size of the font.
-          },
-          "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-        },
-        "name": "A String", # The user selected name of this SavedAdStyle.
-        "id": "A String", # Unique identifier of this saved ad style. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-      },
-    ],
-    "kind": "adsense#savedAdStyles", # Kind of list this is, in this case adsense#savedAdStyles.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.urlchannels.html b/docs/dyn/adsense_v1_3.accounts.urlchannels.html
deleted file mode 100644
index c024486..0000000
--- a/docs/dyn/adsense_v1_3.accounts.urlchannels.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.urlchannels.html">urlchannels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, adClientId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all URL channels in the specified ad client for the specified account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(accountId, adClientId, pageToken=None, maxResults=None)</code>
-  <pre>List all URL channels in the specified ad client for the specified account.
-
-Args:
-  accountId: string, Account to which the ad client belongs. (required)
-  adClientId: string, Ad client for which to list URL channels. (required)
-  pageToken: string, A continuation token, used to page through URL channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of URL channels to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through URL channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The URL channels returned in this list response.
-      {
-        "kind": "adsense#urlChannel", # Kind of resource this is, in this case adsense#urlChannel.
-        "id": "A String", # Unique identifier of this URL channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "urlPattern": "A String", # URL Pattern of this URL channel. Does not include "http://" or "https://". Example: www.example.com/home
-      },
-    ],
-    "kind": "adsense#urlChannels", # Kind of list this is, in this case adsense#urlChannels.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.adclients.html b/docs/dyn/adsense_v1_3.adclients.html
deleted file mode 100644
index 58a4541..0000000
--- a/docs/dyn/adsense_v1_3.adclients.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.adclients.html">adclients</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all ad clients in this AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
-  <pre>List all ad clients in this AdSense account.
-
-Args:
-  pageToken: string, A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of ad clients to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad clients. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The ad clients returned in this list response.
-      {
-        "productCode": "A String", # This ad client's product code, which corresponds to the PRODUCT_CODE report dimension.
-        "kind": "adsense#adClient", # Kind of resource this is, in this case adsense#adClient.
-        "id": "A String", # Unique identifier of this ad client.
-        "arcOptIn": True or False, # Whether this ad client is opted in to ARC.
-        "supportsReporting": True or False, # Whether this ad client supports being reported on.
-      },
-    ],
-    "kind": "adsense#adClients", # Kind of list this is, in this case adsense#adClients.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.adunits.customchannels.html b/docs/dyn/adsense_v1_3.adunits.customchannels.html
deleted file mode 100644
index 0d4b429..0000000
--- a/docs/dyn/adsense_v1_3.adunits.customchannels.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.adunits.html">adunits</a> . <a href="adsense_v1_3.adunits.customchannels.html">customchannels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(adClientId, adUnitId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all custom channels which the specified ad unit belongs to.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(adClientId, adUnitId, pageToken=None, maxResults=None)</code>
-  <pre>List all custom channels which the specified ad unit belongs to.
-
-Args:
-  adClientId: string, Ad client which contains the ad unit. (required)
-  adUnitId: string, Ad unit for which to list custom channels. (required)
-  pageToken: string, A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of custom channels to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through custom channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The custom channels returned in this list response.
-      {
-        "kind": "adsense#customChannel", # Kind of resource this is, in this case adsense#customChannel.
-        "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-        "targetingInfo": { # The targeting information of this custom channel, if activated.
-          "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
-          "adsAppearOn": "A String", # The name used to describe this channel externally.
-          "siteLanguage": "A String", # The language of the sites ads will be displayed on.
-          "description": "A String", # The external description of the channel.
-        },
-        "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "name": "A String", # Name of this custom channel.
-      },
-    ],
-    "kind": "adsense#customChannels", # Kind of list this is, in this case adsense#customChannels.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.adunits.html b/docs/dyn/adsense_v1_3.adunits.html
deleted file mode 100644
index c2db63a..0000000
--- a/docs/dyn/adsense_v1_3.adunits.html
+++ /dev/null
@@ -1,259 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.adunits.html">adunits</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsense_v1_3.adunits.customchannels.html">customchannels()</a></code>
-</p>
-<p class="firstline">Returns the customchannels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get(adClientId, adUnitId)</a></code></p>
-<p class="firstline">Gets the specified ad unit in the specified ad client.</p>
-<p class="toc_element">
-  <code><a href="#getAdCode">getAdCode(adClientId, adUnitId)</a></code></p>
-<p class="firstline">Get ad code for the specified ad unit.</p>
-<p class="toc_element">
-  <code><a href="#list">list(adClientId, pageToken=None, includeInactive=None, maxResults=None)</a></code></p>
-<p class="firstline">List all ad units in the specified ad client for this AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(adClientId, adUnitId)</code>
-  <pre>Gets the specified ad unit in the specified ad client.
-
-Args:
-  adClientId: string, Ad client for which to get the ad unit. (required)
-  adUnitId: string, Ad unit to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of this ad unit. Possible values are:
-        # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-        #
-        # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-        #
-        # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-    "kind": "adsense#adUnit", # Kind of resource this is, in this case adsense#adUnit.
-    "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-    "name": "A String", # Name of this ad unit.
-    "feedAdsSettings": { # Settings specific to feed ads (AFF).
-      "minimumWordCount": 42, # The minimum length an entry should be in order to have attached ads.
-      "frequency": 42, # The frequency at which ads should appear in the feed (i.e. every N entries).
-      "adPosition": "A String", # The position of the ads relative to the feed entries.
-      "type": "A String", # The type of ads which should appear.
-    },
-    "savedStyleId": "A String", # ID of the saved ad style which holds this ad unit's style information.
-    "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-      "type": "A String", # Type of this ad unit.
-      "backupOption": { # The backup option to be used in instances where no ad is available.
-        "color": "A String", # Color to use when type is set to COLOR.
-        "url": "A String", # URL to use when type is set to URL.
-        "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-      },
-      "size": "A String", # Size of this ad unit.
-    },
-    "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-    "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-      "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-      "type": "A String", # Type of this ad unit.
-      "markupLanguage": "A String", # The markup language to use for this ad unit.
-      "size": "A String", # Size of this ad unit.
-    },
-    "customStyle": { # Custom style information specific to this ad unit.
-      "corners": "A String", # The style of the corners in the ad.
-      "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-        "url": "A String", # The color of the ad url.
-        "text": "A String", # The color of the ad text.
-        "border": "A String", # The color of the ad border.
-        "background": "A String", # The color of the ad background.
-        "title": "A String", # The color of the ad title.
-      },
-      "font": { # The font which is included in the style.
-        "family": "A String", # The family of the font.
-        "size": "A String", # The size of the font.
-      },
-      "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="getAdCode">getAdCode(adClientId, adUnitId)</code>
-  <pre>Get ad code for the specified ad unit.
-
-Args:
-  adClientId: string, Ad client with contains the ad unit. (required)
-  adUnitId: string, Ad unit to get the code for. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "adCode": "A String", # The ad code snippet.
-    "kind": "adsense#adCode", # Kind this is, in this case adsense#adCode.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(adClientId, pageToken=None, includeInactive=None, maxResults=None)</code>
-  <pre>List all ad units in the specified ad client for this AdSense account.
-
-Args:
-  adClientId: string, Ad client for which to list ad units. (required)
-  pageToken: string, A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  includeInactive: boolean, Whether to include inactive ad units. Default: true.
-  maxResults: integer, The maximum number of ad units to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The ad units returned in this list response.
-      {
-        "status": "A String", # Status of this ad unit. Possible values are:
-            # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-            #
-            # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-            #
-            # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-        "kind": "adsense#adUnit", # Kind of resource this is, in this case adsense#adUnit.
-        "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-        "name": "A String", # Name of this ad unit.
-        "feedAdsSettings": { # Settings specific to feed ads (AFF).
-          "minimumWordCount": 42, # The minimum length an entry should be in order to have attached ads.
-          "frequency": 42, # The frequency at which ads should appear in the feed (i.e. every N entries).
-          "adPosition": "A String", # The position of the ads relative to the feed entries.
-          "type": "A String", # The type of ads which should appear.
-        },
-        "savedStyleId": "A String", # ID of the saved ad style which holds this ad unit's style information.
-        "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-          "type": "A String", # Type of this ad unit.
-          "backupOption": { # The backup option to be used in instances where no ad is available.
-            "color": "A String", # Color to use when type is set to COLOR.
-            "url": "A String", # URL to use when type is set to URL.
-            "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-          },
-          "size": "A String", # Size of this ad unit.
-        },
-        "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-          "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-          "type": "A String", # Type of this ad unit.
-          "markupLanguage": "A String", # The markup language to use for this ad unit.
-          "size": "A String", # Size of this ad unit.
-        },
-        "customStyle": { # Custom style information specific to this ad unit.
-          "corners": "A String", # The style of the corners in the ad.
-          "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-            "url": "A String", # The color of the ad url.
-            "text": "A String", # The color of the ad text.
-            "border": "A String", # The color of the ad border.
-            "background": "A String", # The color of the ad background.
-            "title": "A String", # The color of the ad title.
-          },
-          "font": { # The font which is included in the style.
-            "family": "A String", # The family of the font.
-            "size": "A String", # The size of the font.
-          },
-          "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-        },
-      },
-    ],
-    "kind": "adsense#adUnits", # Kind of list this is, in this case adsense#adUnits.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.alerts.html b/docs/dyn/adsense_v1_3.alerts.html
deleted file mode 100644
index 513bec1..0000000
--- a/docs/dyn/adsense_v1_3.alerts.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.alerts.html">alerts</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(locale=None)</a></code></p>
-<p class="firstline">List the alerts for this AdSense account.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(locale=None)</code>
-  <pre>List the alerts for this AdSense account.
-
-Args:
-  locale: string, The locale to use for translating alert messages. The account locale will be used if this is not supplied. The AdSense default (English) will be used if the supplied locale is invalid or unsupported.
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # The alerts returned in this list response.
-      {
-        "type": "A String", # Type of this alert. Possible values: SELF_HOLD, MIGRATED_TO_BILLING3, ADDRESS_PIN_VERIFICATION, PHONE_PIN_VERIFICATION, CORPORATE_ENTITY, GRAYLISTED_PUBLISHER, API_HOLD.
-        "kind": "adsense#alert", # Kind of resource this is, in this case adsense#alert.
-        "message": "A String", # The localized alert message.
-        "id": "A String", # Unique identifier of this alert. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "severity": "A String", # Severity of this alert. Possible values: INFO, WARNING, SEVERE.
-      },
-    ],
-    "kind": "adsense#alerts", # Kind of list this is, in this case adsense#alerts.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.customchannels.adunits.html b/docs/dyn/adsense_v1_3.customchannels.adunits.html
deleted file mode 100644
index d8e2955..0000000
--- a/docs/dyn/adsense_v1_3.customchannels.adunits.html
+++ /dev/null
@@ -1,170 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.customchannels.html">customchannels</a> . <a href="adsense_v1_3.customchannels.adunits.html">adunits</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(adClientId, customChannelId, pageToken=None, includeInactive=None, maxResults=None)</a></code></p>
-<p class="firstline">List all ad units in the specified custom channel.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(adClientId, customChannelId, pageToken=None, includeInactive=None, maxResults=None)</code>
-  <pre>List all ad units in the specified custom channel.
-
-Args:
-  adClientId: string, Ad client which contains the custom channel. (required)
-  customChannelId: string, Custom channel for which to list ad units. (required)
-  pageToken: string, A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  includeInactive: boolean, Whether to include inactive ad units. Default: true.
-  maxResults: integer, The maximum number of ad units to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The ad units returned in this list response.
-      {
-        "status": "A String", # Status of this ad unit. Possible values are:
-            # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-            #
-            # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-            #
-            # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-        "kind": "adsense#adUnit", # Kind of resource this is, in this case adsense#adUnit.
-        "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-        "name": "A String", # Name of this ad unit.
-        "feedAdsSettings": { # Settings specific to feed ads (AFF).
-          "minimumWordCount": 42, # The minimum length an entry should be in order to have attached ads.
-          "frequency": 42, # The frequency at which ads should appear in the feed (i.e. every N entries).
-          "adPosition": "A String", # The position of the ads relative to the feed entries.
-          "type": "A String", # The type of ads which should appear.
-        },
-        "savedStyleId": "A String", # ID of the saved ad style which holds this ad unit's style information.
-        "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-          "type": "A String", # Type of this ad unit.
-          "backupOption": { # The backup option to be used in instances where no ad is available.
-            "color": "A String", # Color to use when type is set to COLOR.
-            "url": "A String", # URL to use when type is set to URL.
-            "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-          },
-          "size": "A String", # Size of this ad unit.
-        },
-        "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-          "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-          "type": "A String", # Type of this ad unit.
-          "markupLanguage": "A String", # The markup language to use for this ad unit.
-          "size": "A String", # Size of this ad unit.
-        },
-        "customStyle": { # Custom style information specific to this ad unit.
-          "corners": "A String", # The style of the corners in the ad.
-          "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-            "url": "A String", # The color of the ad url.
-            "text": "A String", # The color of the ad text.
-            "border": "A String", # The color of the ad border.
-            "background": "A String", # The color of the ad background.
-            "title": "A String", # The color of the ad title.
-          },
-          "font": { # The font which is included in the style.
-            "family": "A String", # The family of the font.
-            "size": "A String", # The size of the font.
-          },
-          "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-        },
-      },
-    ],
-    "kind": "adsense#adUnits", # Kind of list this is, in this case adsense#adUnits.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.customchannels.html b/docs/dyn/adsense_v1_3.customchannels.html
deleted file mode 100644
index a27610d..0000000
--- a/docs/dyn/adsense_v1_3.customchannels.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.customchannels.html">customchannels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsense_v1_3.customchannels.adunits.html">adunits()</a></code>
-</p>
-<p class="firstline">Returns the adunits Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get(adClientId, customChannelId)</a></code></p>
-<p class="firstline">Get the specified custom channel from the specified ad client.</p>
-<p class="toc_element">
-  <code><a href="#list">list(adClientId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all custom channels in the specified ad client for this AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(adClientId, customChannelId)</code>
-  <pre>Get the specified custom channel from the specified ad client.
-
-Args:
-  adClientId: string, Ad client which contains the custom channel. (required)
-  customChannelId: string, Custom channel to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsense#customChannel", # Kind of resource this is, in this case adsense#customChannel.
-    "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-    "targetingInfo": { # The targeting information of this custom channel, if activated.
-      "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
-      "adsAppearOn": "A String", # The name used to describe this channel externally.
-      "siteLanguage": "A String", # The language of the sites ads will be displayed on.
-      "description": "A String", # The external description of the channel.
-    },
-    "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-    "name": "A String", # Name of this custom channel.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(adClientId, pageToken=None, maxResults=None)</code>
-  <pre>List all custom channels in the specified ad client for this AdSense account.
-
-Args:
-  adClientId: string, Ad client for which to list custom channels. (required)
-  pageToken: string, A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of custom channels to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through custom channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The custom channels returned in this list response.
-      {
-        "kind": "adsense#customChannel", # Kind of resource this is, in this case adsense#customChannel.
-        "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-        "targetingInfo": { # The targeting information of this custom channel, if activated.
-          "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
-          "adsAppearOn": "A String", # The name used to describe this channel externally.
-          "siteLanguage": "A String", # The language of the sites ads will be displayed on.
-          "description": "A String", # The external description of the channel.
-        },
-        "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "name": "A String", # Name of this custom channel.
-      },
-    ],
-    "kind": "adsense#customChannels", # Kind of list this is, in this case adsense#customChannels.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.html b/docs/dyn/adsense_v1_3.html
deleted file mode 100644
index e6b9395..0000000
--- a/docs/dyn/adsense_v1_3.html
+++ /dev/null
@@ -1,122 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsense_v1_3.accounts.html">accounts()</a></code>
-</p>
-<p class="firstline">Returns the accounts Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_3.adclients.html">adclients()</a></code>
-</p>
-<p class="firstline">Returns the adclients Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_3.adunits.html">adunits()</a></code>
-</p>
-<p class="firstline">Returns the adunits Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_3.alerts.html">alerts()</a></code>
-</p>
-<p class="firstline">Returns the alerts Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_3.customchannels.html">customchannels()</a></code>
-</p>
-<p class="firstline">Returns the customchannels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_3.metadata.html">metadata()</a></code>
-</p>
-<p class="firstline">Returns the metadata Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_3.reports.html">reports()</a></code>
-</p>
-<p class="firstline">Returns the reports Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_3.savedadstyles.html">savedadstyles()</a></code>
-</p>
-<p class="firstline">Returns the savedadstyles Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_3.urlchannels.html">urlchannels()</a></code>
-</p>
-<p class="firstline">Returns the urlchannels Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.metadata.dimensions.html b/docs/dyn/adsense_v1_3.metadata.dimensions.html
deleted file mode 100644
index e59c54f..0000000
--- a/docs/dyn/adsense_v1_3.metadata.dimensions.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.metadata.html">metadata</a> . <a href="adsense_v1_3.metadata.dimensions.html">dimensions</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list()</a></code></p>
-<p class="firstline">List the metadata for the dimensions available to this AdSense account.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list()</code>
-  <pre>List the metadata for the dimensions available to this AdSense account.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [
-      {
-        "requiredMetrics": [ # The names of the metrics which the dimension or metric this reporting metadata entry describes requires to also be present in order for the report to be valid. Omitting these will not cause an error or warning, but may result in data which cannot be correctly interpreted.
-          "A String",
-        ],
-        "kind": "adsense#reportingMetadataEntry", # Kind of resource this is, in this case adsense#reportingMetadataEntry.
-        "compatibleMetrics": [ # The names of the metrics the dimension or metric this reporting metadata entry describes is compatible with.
-          "A String",
-        ],
-        "requiredDimensions": [ # The names of the dimensions which the dimension or metric this reporting metadata entry describes requires to also be present in order for the report to be valid. Omitting these will not cause an error or warning, but may result in data which cannot be correctly interpreted.
-          "A String",
-        ],
-        "compatibleDimensions": [ # For metrics this is a list of dimension IDs which the metric is compatible with, for dimensions it is a list of compatibility groups the dimension belongs to.
-          "A String",
-        ],
-        "id": "A String", # Unique identifier of this reporting metadata entry, corresponding to the name of the appropriate dimension or metric.
-        "supportedProducts": [ # The codes of the projects supported by the dimension or metric this reporting metadata entry describes.
-          "A String",
-        ],
-      },
-    ],
-    "kind": "adsense#metadata", # Kind of list this is, in this case adsense#metadata.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.metadata.html b/docs/dyn/adsense_v1_3.metadata.html
deleted file mode 100644
index c1aee39..0000000
--- a/docs/dyn/adsense_v1_3.metadata.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.metadata.html">metadata</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsense_v1_3.metadata.dimensions.html">dimensions()</a></code>
-</p>
-<p class="firstline">Returns the dimensions Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsense_v1_3.metadata.metrics.html">metrics()</a></code>
-</p>
-<p class="firstline">Returns the metrics Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.metadata.metrics.html b/docs/dyn/adsense_v1_3.metadata.metrics.html
deleted file mode 100644
index 754349f..0000000
--- a/docs/dyn/adsense_v1_3.metadata.metrics.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.metadata.html">metadata</a> . <a href="adsense_v1_3.metadata.metrics.html">metrics</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list()</a></code></p>
-<p class="firstline">List the metadata for the metrics available to this AdSense account.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list()</code>
-  <pre>List the metadata for the metrics available to this AdSense account.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [
-      {
-        "requiredMetrics": [ # The names of the metrics which the dimension or metric this reporting metadata entry describes requires to also be present in order for the report to be valid. Omitting these will not cause an error or warning, but may result in data which cannot be correctly interpreted.
-          "A String",
-        ],
-        "kind": "adsense#reportingMetadataEntry", # Kind of resource this is, in this case adsense#reportingMetadataEntry.
-        "compatibleMetrics": [ # The names of the metrics the dimension or metric this reporting metadata entry describes is compatible with.
-          "A String",
-        ],
-        "requiredDimensions": [ # The names of the dimensions which the dimension or metric this reporting metadata entry describes requires to also be present in order for the report to be valid. Omitting these will not cause an error or warning, but may result in data which cannot be correctly interpreted.
-          "A String",
-        ],
-        "compatibleDimensions": [ # For metrics this is a list of dimension IDs which the metric is compatible with, for dimensions it is a list of compatibility groups the dimension belongs to.
-          "A String",
-        ],
-        "id": "A String", # Unique identifier of this reporting metadata entry, corresponding to the name of the appropriate dimension or metric.
-        "supportedProducts": [ # The codes of the projects supported by the dimension or metric this reporting metadata entry describes.
-          "A String",
-        ],
-      },
-    ],
-    "kind": "adsense#metadata", # Kind of list this is, in this case adsense#metadata.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.reports.html b/docs/dyn/adsense_v1_3.reports.html
deleted file mode 100644
index ff3f34a..0000000
--- a/docs/dyn/adsense_v1_3.reports.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.reports.html">reports</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsense_v1_3.reports.saved.html">saved()</a></code>
-</p>
-<p class="firstline">Returns the saved Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#generate">generate(startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, accountId=None, useTimezoneReporting=None, sort=None, maxResults=None, filter=None, dimension=None)</a></code></p>
-<p class="firstline">Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.</p>
-<p class="toc_element">
-  <code><a href="#generate_media">generate_media(startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, accountId=None, useTimezoneReporting=None, sort=None, maxResults=None, filter=None, dimension=None)</a></code></p>
-<p class="firstline">Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="generate">generate(startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, accountId=None, useTimezoneReporting=None, sort=None, maxResults=None, filter=None, dimension=None)</code>
-  <pre>Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.
-
-Args:
-  startDate: string, Start of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  endDate: string, End of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
-  metric: string, Numeric columns to include in the report. (repeated)
-  currency: string, Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set.
-  startIndex: integer, Index of the first row of report data to return.
-  accountId: string, Accounts upon which to report. (repeated)
-  useTimezoneReporting: boolean, Whether the report should be generated in the AdSense account's local timezone. If false default PST/PDT timezone will be used.
-  sort: string, The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. (repeated)
-  maxResults: integer, The maximum number of rows of report data to return.
-  filter: string, Filters to be run on the report. (repeated)
-  dimension: string, Dimensions to base the report on. (repeated)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsense#report", # Kind this is, in this case adsense#report.
-    "rows": [ # The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.
-      [
-        "A String",
-      ],
-    ],
-    "warnings": [ # Any warnings associated with generation of the report.
-      "A String",
-    ],
-    "totals": [ # The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-    "headers": [ # The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.
-      {
-        "currency": "A String", # The currency of this column. Only present if the header type is METRIC_CURRENCY.
-        "type": "A String", # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.
-        "name": "A String", # The name of the header.
-      },
-    ],
-    "totalMatchedRows": "A String", # The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.
-    "averages": [ # The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="generate_media">generate_media(startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, accountId=None, useTimezoneReporting=None, sort=None, maxResults=None, filter=None, dimension=None)</code>
-  <pre>Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.
-
-Args:
-  startDate: string, Start of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  endDate: string, End of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
-  metric: string, Numeric columns to include in the report. (repeated)
-  currency: string, Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set.
-  startIndex: integer, Index of the first row of report data to return.
-  accountId: string, Accounts upon which to report. (repeated)
-  useTimezoneReporting: boolean, Whether the report should be generated in the AdSense account's local timezone. If false default PST/PDT timezone will be used.
-  sort: string, The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. (repeated)
-  maxResults: integer, The maximum number of rows of report data to return.
-  filter: string, Filters to be run on the report. (repeated)
-  dimension: string, Dimensions to base the report on. (repeated)
-
-Returns:
-  The media object as a string.
-
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.reports.saved.html b/docs/dyn/adsense_v1_3.reports.saved.html
deleted file mode 100644
index e64429d..0000000
--- a/docs/dyn/adsense_v1_3.reports.saved.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.reports.html">reports</a> . <a href="adsense_v1_3.reports.saved.html">saved</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#generate">generate(savedReportId, locale=None, maxResults=None, startIndex=None)</a></code></p>
-<p class="firstline">Generate an AdSense report based on the saved report ID sent in the query parameters.</p>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all saved reports in this AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="generate">generate(savedReportId, locale=None, maxResults=None, startIndex=None)</code>
-  <pre>Generate an AdSense report based on the saved report ID sent in the query parameters.
-
-Args:
-  savedReportId: string, The saved report to retrieve. (required)
-  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
-  maxResults: integer, The maximum number of rows of report data to return.
-  startIndex: integer, Index of the first row of report data to return.
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsense#report", # Kind this is, in this case adsense#report.
-    "rows": [ # The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.
-      [
-        "A String",
-      ],
-    ],
-    "warnings": [ # Any warnings associated with generation of the report.
-      "A String",
-    ],
-    "totals": [ # The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-    "headers": [ # The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.
-      {
-        "currency": "A String", # The currency of this column. Only present if the header type is METRIC_CURRENCY.
-        "type": "A String", # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.
-        "name": "A String", # The name of the header.
-      },
-    ],
-    "totalMatchedRows": "A String", # The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.
-    "averages": [ # The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
-  <pre>List all saved reports in this AdSense account.
-
-Args:
-  pageToken: string, A continuation token, used to page through saved reports. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of saved reports to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through saved reports. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The saved reports returned in this list response.
-      {
-        "kind": "adsense#savedReport", # Kind of resource this is, in this case adsense#savedReport.
-        "id": "A String", # Unique identifier of this saved report.
-        "name": "A String", # This saved report's name.
-      },
-    ],
-    "kind": "adsense#savedReports", # Kind of list this is, in this case adsense#savedReports.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.savedadstyles.html b/docs/dyn/adsense_v1_3.savedadstyles.html
deleted file mode 100644
index 4a663e1..0000000
--- a/docs/dyn/adsense_v1_3.savedadstyles.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.savedadstyles.html">savedadstyles</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(savedAdStyleId)</a></code></p>
-<p class="firstline">Get a specific saved ad style from the user's account.</p>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all saved ad styles in the user's account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(savedAdStyleId)</code>
-  <pre>Get a specific saved ad style from the user's account.
-
-Args:
-  savedAdStyleId: string, Saved ad style to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsense#savedAdStyle", # Kind of resource this is, in this case adsense#savedAdStyle.
-    "adStyle": { # The AdStyle itself.
-      "corners": "A String", # The style of the corners in the ad.
-      "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-        "url": "A String", # The color of the ad url.
-        "text": "A String", # The color of the ad text.
-        "border": "A String", # The color of the ad border.
-        "background": "A String", # The color of the ad background.
-        "title": "A String", # The color of the ad title.
-      },
-      "font": { # The font which is included in the style.
-        "family": "A String", # The family of the font.
-        "size": "A String", # The size of the font.
-      },
-      "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-    },
-    "name": "A String", # The user selected name of this SavedAdStyle.
-    "id": "A String", # Unique identifier of this saved ad style. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
-  <pre>List all saved ad styles in the user's account.
-
-Args:
-  pageToken: string, A continuation token, used to page through saved ad styles. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of saved ad styles to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The saved ad styles returned in this list response.
-      {
-        "kind": "adsense#savedAdStyle", # Kind of resource this is, in this case adsense#savedAdStyle.
-        "adStyle": { # The AdStyle itself.
-          "corners": "A String", # The style of the corners in the ad.
-          "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-            "url": "A String", # The color of the ad url.
-            "text": "A String", # The color of the ad text.
-            "border": "A String", # The color of the ad border.
-            "background": "A String", # The color of the ad background.
-            "title": "A String", # The color of the ad title.
-          },
-          "font": { # The font which is included in the style.
-            "family": "A String", # The family of the font.
-            "size": "A String", # The size of the font.
-          },
-          "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
-        },
-        "name": "A String", # The user selected name of this SavedAdStyle.
-        "id": "A String", # Unique identifier of this saved ad style. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-      },
-    ],
-    "kind": "adsense#savedAdStyles", # Kind of list this is, in this case adsense#savedAdStyles.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.urlchannels.html b/docs/dyn/adsense_v1_3.urlchannels.html
deleted file mode 100644
index b3bf582..0000000
--- a/docs/dyn/adsense_v1_3.urlchannels.html
+++ /dev/null
@@ -1,124 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.urlchannels.html">urlchannels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(adClientId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all URL channels in the specified ad client for this AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(adClientId, pageToken=None, maxResults=None)</code>
-  <pre>List all URL channels in the specified ad client for this AdSense account.
-
-Args:
-  adClientId: string, Ad client for which to list URL channels. (required)
-  pageToken: string, A continuation token, used to page through URL channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of URL channels to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through URL channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The URL channels returned in this list response.
-      {
-        "kind": "adsense#urlChannel", # Kind of resource this is, in this case adsense#urlChannel.
-        "id": "A String", # Unique identifier of this URL channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-        "urlPattern": "A String", # URL Pattern of this URL channel. Does not include "http://" or "https://". Example: www.example.com/home
-      },
-    ],
-    "kind": "adsense#urlChannels", # Kind of list this is, in this case adsense#urlChannels.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsensehost_v4_1.accounts.adclients.html b/docs/dyn/adsensehost_v4_1.accounts.adclients.html
deleted file mode 100644
index 9fb1929..0000000
--- a/docs/dyn/adsensehost_v4_1.accounts.adclients.html
+++ /dev/null
@@ -1,149 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsensehost_v4_1.html">AdSense Host API</a> . <a href="adsensehost_v4_1.accounts.html">accounts</a> . <a href="adsensehost_v4_1.accounts.adclients.html">adclients</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(accountId, adClientId)</a></code></p>
-<p class="firstline">Get information about one of the ad clients in the specified publisher's AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all hosted ad clients in the specified hosted account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(accountId, adClientId)</code>
-  <pre>Get information about one of the ad clients in the specified publisher's AdSense account.
-
-Args:
-  accountId: string, Account which contains the ad client. (required)
-  adClientId: string, Ad client to get. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "productCode": "A String", # This ad client's product code, which corresponds to the PRODUCT_CODE report dimension.
-    "kind": "adsensehost#adClient", # Kind of resource this is, in this case adsensehost#adClient.
-    "id": "A String", # Unique identifier of this ad client.
-    "arcOptIn": True or False, # Whether this ad client is opted in to ARC.
-    "supportsReporting": True or False, # Whether this ad client supports being reported on.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(accountId, pageToken=None, maxResults=None)</code>
-  <pre>List all hosted ad clients in the specified hosted account.
-
-Args:
-  accountId: string, Account for which to list ad clients. (required)
-  pageToken: string, A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of ad clients to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad clients. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The ad clients returned in this list response.
-      {
-        "productCode": "A String", # This ad client's product code, which corresponds to the PRODUCT_CODE report dimension.
-        "kind": "adsensehost#adClient", # Kind of resource this is, in this case adsensehost#adClient.
-        "id": "A String", # Unique identifier of this ad client.
-        "arcOptIn": True or False, # Whether this ad client is opted in to ARC.
-        "supportsReporting": True or False, # Whether this ad client supports being reported on.
-      },
-    ],
-    "kind": "adsensehost#adClients", # Kind of list this is, in this case adsensehost#adClients.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsensehost_v4_1.accounts.adunits.html b/docs/dyn/adsensehost_v4_1.accounts.adunits.html
deleted file mode 100644
index 167fa1e..0000000
--- a/docs/dyn/adsensehost_v4_1.accounts.adunits.html
+++ /dev/null
@@ -1,616 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsensehost_v4_1.html">AdSense Host API</a> . <a href="adsensehost_v4_1.accounts.html">accounts</a> . <a href="adsensehost_v4_1.accounts.adunits.html">adunits</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(accountId, adClientId, adUnitId)</a></code></p>
-<p class="firstline">Delete the specified ad unit from the specified publisher AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#get">get(accountId, adClientId, adUnitId)</a></code></p>
-<p class="firstline">Get the specified host ad unit in this AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#getAdCode">getAdCode(accountId, adClientId, adUnitId, hostCustomChannelId=None)</a></code></p>
-<p class="firstline">Get ad code for the specified ad unit, attaching the specified host custom channels.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(accountId, adClientId, body)</a></code></p>
-<p class="firstline">Insert the supplied ad unit into the specified publisher AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, adClientId, pageToken=None, includeInactive=None, maxResults=None)</a></code></p>
-<p class="firstline">List all ad units in the specified publisher's AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(accountId, adClientId, adUnitId, body)</a></code></p>
-<p class="firstline">Update the supplied ad unit in the specified publisher AdSense account. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(accountId, adClientId, body)</a></code></p>
-<p class="firstline">Update the supplied ad unit in the specified publisher AdSense account.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(accountId, adClientId, adUnitId)</code>
-  <pre>Delete the specified ad unit from the specified publisher AdSense account.
-
-Args:
-  accountId: string, Account which contains the ad unit. (required)
-  adClientId: string, Ad client for which to get ad unit. (required)
-  adUnitId: string, Ad unit to delete. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "status": "A String", # Status of this ad unit. Possible values are:
-          # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-          #
-          # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-          #
-          # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-      "kind": "adsensehost#adUnit", # Kind of resource this is, in this case adsensehost#adUnit.
-      "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-      "name": "A String", # Name of this ad unit.
-      "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-        "type": "A String", # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
-        "backupOption": { # The backup option to be used in instances where no ad is available.
-          "color": "A String", # Color to use when type is set to COLOR. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-          "url": "A String", # URL to use when type is set to URL.
-          "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-        },
-        "size": "A String", # Size of this ad unit. Size values are in the form SIZE_{width}_{height}.
-      },
-      "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-      "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-        "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-        "type": "A String", # Type of this ad unit.
-        "markupLanguage": "A String", # The markup language to use for this ad unit.
-        "size": "A String", # Size of this ad unit.
-      },
-      "customStyle": { # Custom style information specific to this ad unit.
-        "corners": "A String", # The style of the corners in the ad. Possible values are SQUARE, SLIGHTLY_ROUNDED and VERY_ROUNDED.
-        "colors": { # The colors included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-          "url": "A String", # The color of the ad url.
-          "text": "A String", # The color of the ad text.
-          "border": "A String", # The color of the ad border.
-          "background": "A String", # The color of the ad background.
-          "title": "A String", # The color of the ad title.
-        },
-        "font": { # The font which is included in the style.
-          "family": "A String", # The family of the font. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
-          "size": "A String", # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
-        },
-        "kind": "adsensehost#adStyle", # Kind this is, in this case adsensehost#adStyle.
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(accountId, adClientId, adUnitId)</code>
-  <pre>Get the specified host ad unit in this AdSense account.
-
-Args:
-  accountId: string, Account which contains the ad unit. (required)
-  adClientId: string, Ad client for which to get ad unit. (required)
-  adUnitId: string, Ad unit to get. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "status": "A String", # Status of this ad unit. Possible values are:
-          # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-          #
-          # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-          #
-          # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-      "kind": "adsensehost#adUnit", # Kind of resource this is, in this case adsensehost#adUnit.
-      "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-      "name": "A String", # Name of this ad unit.
-      "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-        "type": "A String", # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
-        "backupOption": { # The backup option to be used in instances where no ad is available.
-          "color": "A String", # Color to use when type is set to COLOR. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-          "url": "A String", # URL to use when type is set to URL.
-          "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-        },
-        "size": "A String", # Size of this ad unit. Size values are in the form SIZE_{width}_{height}.
-      },
-      "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-      "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-        "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-        "type": "A String", # Type of this ad unit.
-        "markupLanguage": "A String", # The markup language to use for this ad unit.
-        "size": "A String", # Size of this ad unit.
-      },
-      "customStyle": { # Custom style information specific to this ad unit.
-        "corners": "A String", # The style of the corners in the ad. Possible values are SQUARE, SLIGHTLY_ROUNDED and VERY_ROUNDED.
-        "colors": { # The colors included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-          "url": "A String", # The color of the ad url.
-          "text": "A String", # The color of the ad text.
-          "border": "A String", # The color of the ad border.
-          "background": "A String", # The color of the ad background.
-          "title": "A String", # The color of the ad title.
-        },
-        "font": { # The font which is included in the style.
-          "family": "A String", # The family of the font. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
-          "size": "A String", # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
-        },
-        "kind": "adsensehost#adStyle", # Kind this is, in this case adsensehost#adStyle.
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="getAdCode">getAdCode(accountId, adClientId, adUnitId, hostCustomChannelId=None)</code>
-  <pre>Get ad code for the specified ad unit, attaching the specified host custom channels.
-
-Args:
-  accountId: string, Account which contains the ad client. (required)
-  adClientId: string, Ad client with contains the ad unit. (required)
-  adUnitId: string, Ad unit to get the code for. (required)
-  hostCustomChannelId: string, Host custom channel to attach to the ad code. (repeated)
-
-Returns:
-  An object of the form:
-
-    {
-    "adCode": "A String", # The ad code snippet.
-    "kind": "adsensehost#adCode", # Kind this is, in this case adsensehost#adCode.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(accountId, adClientId, body)</code>
-  <pre>Insert the supplied ad unit into the specified publisher AdSense account.
-
-Args:
-  accountId: string, Account which will contain the ad unit. (required)
-  adClientId: string, Ad client into which to insert the ad unit. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "status": "A String", # Status of this ad unit. Possible values are:
-        # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-        # 
-        # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-        # 
-        # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-    "kind": "adsensehost#adUnit", # Kind of resource this is, in this case adsensehost#adUnit.
-    "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-    "name": "A String", # Name of this ad unit.
-    "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-      "type": "A String", # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
-      "backupOption": { # The backup option to be used in instances where no ad is available.
-        "color": "A String", # Color to use when type is set to COLOR. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-        "url": "A String", # URL to use when type is set to URL.
-        "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-      },
-      "size": "A String", # Size of this ad unit. Size values are in the form SIZE_{width}_{height}.
-    },
-    "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-    "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-      "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-      "type": "A String", # Type of this ad unit.
-      "markupLanguage": "A String", # The markup language to use for this ad unit.
-      "size": "A String", # Size of this ad unit.
-    },
-    "customStyle": { # Custom style information specific to this ad unit.
-      "corners": "A String", # The style of the corners in the ad. Possible values are SQUARE, SLIGHTLY_ROUNDED and VERY_ROUNDED.
-      "colors": { # The colors included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-        "url": "A String", # The color of the ad url.
-        "text": "A String", # The color of the ad text.
-        "border": "A String", # The color of the ad border.
-        "background": "A String", # The color of the ad background.
-        "title": "A String", # The color of the ad title.
-      },
-      "font": { # The font which is included in the style.
-        "family": "A String", # The family of the font. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
-        "size": "A String", # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
-      },
-      "kind": "adsensehost#adStyle", # Kind this is, in this case adsensehost#adStyle.
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "status": "A String", # Status of this ad unit. Possible values are:
-          # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-          #
-          # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-          #
-          # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-      "kind": "adsensehost#adUnit", # Kind of resource this is, in this case adsensehost#adUnit.
-      "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-      "name": "A String", # Name of this ad unit.
-      "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-        "type": "A String", # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
-        "backupOption": { # The backup option to be used in instances where no ad is available.
-          "color": "A String", # Color to use when type is set to COLOR. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-          "url": "A String", # URL to use when type is set to URL.
-          "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-        },
-        "size": "A String", # Size of this ad unit. Size values are in the form SIZE_{width}_{height}.
-      },
-      "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-      "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-        "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-        "type": "A String", # Type of this ad unit.
-        "markupLanguage": "A String", # The markup language to use for this ad unit.
-        "size": "A String", # Size of this ad unit.
-      },
-      "customStyle": { # Custom style information specific to this ad unit.
-        "corners": "A String", # The style of the corners in the ad. Possible values are SQUARE, SLIGHTLY_ROUNDED and VERY_ROUNDED.
-        "colors": { # The colors included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-          "url": "A String", # The color of the ad url.
-          "text": "A String", # The color of the ad text.
-          "border": "A String", # The color of the ad border.
-          "background": "A String", # The color of the ad background.
-          "title": "A String", # The color of the ad title.
-        },
-        "font": { # The font which is included in the style.
-          "family": "A String", # The family of the font. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
-          "size": "A String", # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
-        },
-        "kind": "adsensehost#adStyle", # Kind this is, in this case adsensehost#adStyle.
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(accountId, adClientId, pageToken=None, includeInactive=None, maxResults=None)</code>
-  <pre>List all ad units in the specified publisher's AdSense account.
-
-Args:
-  accountId: string, Account which contains the ad client. (required)
-  adClientId: string, Ad client for which to list ad units. (required)
-  pageToken: string, A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  includeInactive: boolean, Whether to include inactive ad units. Default: true.
-  maxResults: integer, The maximum number of ad units to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The ad units returned in this list response.
-      {
-          "status": "A String", # Status of this ad unit. Possible values are:
-              # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-              #
-              # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-              #
-              # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-          "kind": "adsensehost#adUnit", # Kind of resource this is, in this case adsensehost#adUnit.
-          "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-          "name": "A String", # Name of this ad unit.
-          "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-            "type": "A String", # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
-            "backupOption": { # The backup option to be used in instances where no ad is available.
-              "color": "A String", # Color to use when type is set to COLOR. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-              "url": "A String", # URL to use when type is set to URL.
-              "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-            },
-            "size": "A String", # Size of this ad unit. Size values are in the form SIZE_{width}_{height}.
-          },
-          "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-          "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-            "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-            "type": "A String", # Type of this ad unit.
-            "markupLanguage": "A String", # The markup language to use for this ad unit.
-            "size": "A String", # Size of this ad unit.
-          },
-          "customStyle": { # Custom style information specific to this ad unit.
-            "corners": "A String", # The style of the corners in the ad. Possible values are SQUARE, SLIGHTLY_ROUNDED and VERY_ROUNDED.
-            "colors": { # The colors included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-              "url": "A String", # The color of the ad url.
-              "text": "A String", # The color of the ad text.
-              "border": "A String", # The color of the ad border.
-              "background": "A String", # The color of the ad background.
-              "title": "A String", # The color of the ad title.
-            },
-            "font": { # The font which is included in the style.
-              "family": "A String", # The family of the font. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
-              "size": "A String", # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
-            },
-            "kind": "adsensehost#adStyle", # Kind this is, in this case adsensehost#adStyle.
-          },
-        },
-    ],
-    "kind": "adsensehost#adUnits", # Kind of list this is, in this case adsensehost#adUnits.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(accountId, adClientId, adUnitId, body)</code>
-  <pre>Update the supplied ad unit in the specified publisher AdSense account. This method supports patch semantics.
-
-Args:
-  accountId: string, Account which contains the ad client. (required)
-  adClientId: string, Ad client which contains the ad unit. (required)
-  adUnitId: string, Ad unit to get. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "status": "A String", # Status of this ad unit. Possible values are:
-        # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-        # 
-        # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-        # 
-        # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-    "kind": "adsensehost#adUnit", # Kind of resource this is, in this case adsensehost#adUnit.
-    "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-    "name": "A String", # Name of this ad unit.
-    "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-      "type": "A String", # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
-      "backupOption": { # The backup option to be used in instances where no ad is available.
-        "color": "A String", # Color to use when type is set to COLOR. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-        "url": "A String", # URL to use when type is set to URL.
-        "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-      },
-      "size": "A String", # Size of this ad unit. Size values are in the form SIZE_{width}_{height}.
-    },
-    "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-    "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-      "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-      "type": "A String", # Type of this ad unit.
-      "markupLanguage": "A String", # The markup language to use for this ad unit.
-      "size": "A String", # Size of this ad unit.
-    },
-    "customStyle": { # Custom style information specific to this ad unit.
-      "corners": "A String", # The style of the corners in the ad. Possible values are SQUARE, SLIGHTLY_ROUNDED and VERY_ROUNDED.
-      "colors": { # The colors included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-        "url": "A String", # The color of the ad url.
-        "text": "A String", # The color of the ad text.
-        "border": "A String", # The color of the ad border.
-        "background": "A String", # The color of the ad background.
-        "title": "A String", # The color of the ad title.
-      },
-      "font": { # The font which is included in the style.
-        "family": "A String", # The family of the font. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
-        "size": "A String", # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
-      },
-      "kind": "adsensehost#adStyle", # Kind this is, in this case adsensehost#adStyle.
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "status": "A String", # Status of this ad unit. Possible values are:
-          # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-          #
-          # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-          #
-          # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-      "kind": "adsensehost#adUnit", # Kind of resource this is, in this case adsensehost#adUnit.
-      "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-      "name": "A String", # Name of this ad unit.
-      "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-        "type": "A String", # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
-        "backupOption": { # The backup option to be used in instances where no ad is available.
-          "color": "A String", # Color to use when type is set to COLOR. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-          "url": "A String", # URL to use when type is set to URL.
-          "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-        },
-        "size": "A String", # Size of this ad unit. Size values are in the form SIZE_{width}_{height}.
-      },
-      "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-      "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-        "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-        "type": "A String", # Type of this ad unit.
-        "markupLanguage": "A String", # The markup language to use for this ad unit.
-        "size": "A String", # Size of this ad unit.
-      },
-      "customStyle": { # Custom style information specific to this ad unit.
-        "corners": "A String", # The style of the corners in the ad. Possible values are SQUARE, SLIGHTLY_ROUNDED and VERY_ROUNDED.
-        "colors": { # The colors included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-          "url": "A String", # The color of the ad url.
-          "text": "A String", # The color of the ad text.
-          "border": "A String", # The color of the ad border.
-          "background": "A String", # The color of the ad background.
-          "title": "A String", # The color of the ad title.
-        },
-        "font": { # The font which is included in the style.
-          "family": "A String", # The family of the font. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
-          "size": "A String", # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
-        },
-        "kind": "adsensehost#adStyle", # Kind this is, in this case adsensehost#adStyle.
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(accountId, adClientId, body)</code>
-  <pre>Update the supplied ad unit in the specified publisher AdSense account.
-
-Args:
-  accountId: string, Account which contains the ad client. (required)
-  adClientId: string, Ad client which contains the ad unit. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "status": "A String", # Status of this ad unit. Possible values are:
-        # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-        # 
-        # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-        # 
-        # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-    "kind": "adsensehost#adUnit", # Kind of resource this is, in this case adsensehost#adUnit.
-    "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-    "name": "A String", # Name of this ad unit.
-    "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-      "type": "A String", # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
-      "backupOption": { # The backup option to be used in instances where no ad is available.
-        "color": "A String", # Color to use when type is set to COLOR. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-        "url": "A String", # URL to use when type is set to URL.
-        "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-      },
-      "size": "A String", # Size of this ad unit. Size values are in the form SIZE_{width}_{height}.
-    },
-    "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-    "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-      "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-      "type": "A String", # Type of this ad unit.
-      "markupLanguage": "A String", # The markup language to use for this ad unit.
-      "size": "A String", # Size of this ad unit.
-    },
-    "customStyle": { # Custom style information specific to this ad unit.
-      "corners": "A String", # The style of the corners in the ad. Possible values are SQUARE, SLIGHTLY_ROUNDED and VERY_ROUNDED.
-      "colors": { # The colors included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-        "url": "A String", # The color of the ad url.
-        "text": "A String", # The color of the ad text.
-        "border": "A String", # The color of the ad border.
-        "background": "A String", # The color of the ad background.
-        "title": "A String", # The color of the ad title.
-      },
-      "font": { # The font which is included in the style.
-        "family": "A String", # The family of the font. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
-        "size": "A String", # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
-      },
-      "kind": "adsensehost#adStyle", # Kind this is, in this case adsensehost#adStyle.
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "status": "A String", # Status of this ad unit. Possible values are:
-          # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
-          #
-          # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
-          #
-          # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
-      "kind": "adsensehost#adUnit", # Kind of resource this is, in this case adsensehost#adUnit.
-      "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
-      "name": "A String", # Name of this ad unit.
-      "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
-        "type": "A String", # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
-        "backupOption": { # The backup option to be used in instances where no ad is available.
-          "color": "A String", # Color to use when type is set to COLOR. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-          "url": "A String", # URL to use when type is set to URL.
-          "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
-        },
-        "size": "A String", # Size of this ad unit. Size values are in the form SIZE_{width}_{height}.
-      },
-      "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-      "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
-        "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
-        "type": "A String", # Type of this ad unit.
-        "markupLanguage": "A String", # The markup language to use for this ad unit.
-        "size": "A String", # Size of this ad unit.
-      },
-      "customStyle": { # Custom style information specific to this ad unit.
-        "corners": "A String", # The style of the corners in the ad. Possible values are SQUARE, SLIGHTLY_ROUNDED and VERY_ROUNDED.
-        "colors": { # The colors included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
-          "url": "A String", # The color of the ad url.
-          "text": "A String", # The color of the ad text.
-          "border": "A String", # The color of the ad border.
-          "background": "A String", # The color of the ad background.
-          "title": "A String", # The color of the ad title.
-        },
-        "font": { # The font which is included in the style.
-          "family": "A String", # The family of the font. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
-          "size": "A String", # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
-        },
-        "kind": "adsensehost#adStyle", # Kind this is, in this case adsensehost#adStyle.
-      },
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsensehost_v4_1.accounts.html b/docs/dyn/adsensehost_v4_1.accounts.html
deleted file mode 100644
index 733bf72..0000000
--- a/docs/dyn/adsensehost_v4_1.accounts.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsensehost_v4_1.html">AdSense Host API</a> . <a href="adsensehost_v4_1.accounts.html">accounts</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsensehost_v4_1.accounts.adclients.html">adclients()</a></code>
-</p>
-<p class="firstline">Returns the adclients Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsensehost_v4_1.accounts.adunits.html">adunits()</a></code>
-</p>
-<p class="firstline">Returns the adunits Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsensehost_v4_1.accounts.reports.html">reports()</a></code>
-</p>
-<p class="firstline">Returns the reports Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get(accountId)</a></code></p>
-<p class="firstline">Get information about the selected associated AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list">list(filterAdClientId)</a></code></p>
-<p class="firstline">List hosted accounts associated with this AdSense account by ad client id.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(accountId)</code>
-  <pre>Get information about the selected associated AdSense account.
-
-Args:
-  accountId: string, Account to get information about. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Approval status of this account. One of: PENDING, APPROVED, DISABLED.
-    "kind": "adsensehost#account", # Kind of resource this is, in this case adsensehost#account.
-    "id": "A String", # Unique identifier of this account.
-    "name": "A String", # Name of this account.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(filterAdClientId)</code>
-  <pre>List hosted accounts associated with this AdSense account by ad client id.
-
-Args:
-  filterAdClientId: string, Ad clients to list accounts for. (required) (repeated)
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # The accounts returned in this list response.
-      {
-        "status": "A String", # Approval status of this account. One of: PENDING, APPROVED, DISABLED.
-        "kind": "adsensehost#account", # Kind of resource this is, in this case adsensehost#account.
-        "id": "A String", # Unique identifier of this account.
-        "name": "A String", # Name of this account.
-      },
-    ],
-    "kind": "adsensehost#accounts", # Kind of list this is, in this case adsensehost#accounts.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsensehost_v4_1.accounts.reports.html b/docs/dyn/adsensehost_v4_1.accounts.reports.html
deleted file mode 100644
index 920e3b6..0000000
--- a/docs/dyn/adsensehost_v4_1.accounts.reports.html
+++ /dev/null
@@ -1,127 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsensehost_v4_1.html">AdSense Host API</a> . <a href="adsensehost_v4_1.accounts.html">accounts</a> . <a href="adsensehost_v4_1.accounts.reports.html">reports</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#generate">generate(accountId, startDate, endDate, sort=None, locale=None, metric=None, maxResults=None, dimension=None, startIndex=None, filter=None)</a></code></p>
-<p class="firstline">Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="generate">generate(accountId, startDate, endDate, sort=None, locale=None, metric=None, maxResults=None, dimension=None, startIndex=None, filter=None)</code>
-  <pre>Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.
-
-Args:
-  accountId: string, Hosted account upon which to report. (required)
-  startDate: string, Start of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  endDate: string, End of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  sort: string, The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. (repeated)
-  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
-  metric: string, Numeric columns to include in the report. (repeated)
-  maxResults: integer, The maximum number of rows of report data to return.
-  dimension: string, Dimensions to base the report on. (repeated)
-  startIndex: integer, Index of the first row of report data to return.
-  filter: string, Filters to be run on the report. (repeated)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsensehost#report", # Kind this is, in this case adsensehost#report.
-    "rows": [ # The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.
-      [
-        "A String",
-      ],
-    ],
-    "warnings": [ # Any warnings associated with generation of the report.
-      "A String",
-    ],
-    "totals": [ # The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-    "headers": [ # The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.
-      {
-        "currency": "A String", # The currency of this column. Only present if the header type is METRIC_CURRENCY.
-        "type": "A String", # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.
-        "name": "A String", # The name of the header.
-      },
-    ],
-    "totalMatchedRows": "A String", # The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.
-    "averages": [ # The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsensehost_v4_1.adclients.html b/docs/dyn/adsensehost_v4_1.adclients.html
deleted file mode 100644
index 57422e4..0000000
--- a/docs/dyn/adsensehost_v4_1.adclients.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsensehost_v4_1.html">AdSense Host API</a> . <a href="adsensehost_v4_1.adclients.html">adclients</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(adClientId)</a></code></p>
-<p class="firstline">Get information about one of the ad clients in the Host AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all host ad clients in this AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(adClientId)</code>
-  <pre>Get information about one of the ad clients in the Host AdSense account.
-
-Args:
-  adClientId: string, Ad client to get. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "productCode": "A String", # This ad client's product code, which corresponds to the PRODUCT_CODE report dimension.
-    "kind": "adsensehost#adClient", # Kind of resource this is, in this case adsensehost#adClient.
-    "id": "A String", # Unique identifier of this ad client.
-    "arcOptIn": True or False, # Whether this ad client is opted in to ARC.
-    "supportsReporting": True or False, # Whether this ad client supports being reported on.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
-  <pre>List all host ad clients in this AdSense account.
-
-Args:
-  pageToken: string, A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of ad clients to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through ad clients. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The ad clients returned in this list response.
-      {
-        "productCode": "A String", # This ad client's product code, which corresponds to the PRODUCT_CODE report dimension.
-        "kind": "adsensehost#adClient", # Kind of resource this is, in this case adsensehost#adClient.
-        "id": "A String", # Unique identifier of this ad client.
-        "arcOptIn": True or False, # Whether this ad client is opted in to ARC.
-        "supportsReporting": True or False, # Whether this ad client supports being reported on.
-      },
-    ],
-    "kind": "adsensehost#adClients", # Kind of list this is, in this case adsensehost#adClients.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsensehost_v4_1.associationsessions.html b/docs/dyn/adsensehost_v4_1.associationsessions.html
deleted file mode 100644
index 2bd44a5..0000000
--- a/docs/dyn/adsensehost_v4_1.associationsessions.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsensehost_v4_1.html">AdSense Host API</a> . <a href="adsensehost_v4_1.associationsessions.html">associationsessions</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#start">start(productCode, websiteUrl, websiteLocale=None, userLocale=None)</a></code></p>
-<p class="firstline">Create an association session for initiating an association with an AdSense user.</p>
-<p class="toc_element">
-  <code><a href="#verify">verify(token)</a></code></p>
-<p class="firstline">Verify an association session after the association callback returns from AdSense signup.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="start">start(productCode, websiteUrl, websiteLocale=None, userLocale=None)</code>
-  <pre>Create an association session for initiating an association with an AdSense user.
-
-Args:
-  productCode: string, Products to associate with the user. (required) (repeated)
-    Allowed values
-      AFC - AdSense For Content
-      AFG - AdSense For Games
-      AFMC - AdSense For Mobile Content
-      AFS - AdSense For Search
-      AFV - AdSense For Video
-  websiteUrl: string, The URL of the user's hosted website. (required)
-  websiteLocale: string, The locale of the user's hosted website.
-  userLocale: string, The preferred locale of the user.
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the completed association, available once the association callback token has been verified. One of ACCEPTED, REJECTED, or ERROR.
-    "productCodes": [ # The products to associate with the user. Options: AFC, AFF, AFS, AFMC
-      "A String",
-    ],
-    "kind": "adsensehost#associationSession", # Kind of resource this is, in this case adsensehost#associationSession.
-    "userLocale": "A String", # The preferred locale of the user themselves when going through the AdSense association flow.
-    "websiteLocale": "A String", # The locale of the user's hosted website.
-    "redirectUrl": "A String", # Redirect URL of this association session. Used to redirect users into the AdSense association flow.
-    "websiteUrl": "A String", # The URL of the user's hosted website.
-    "id": "A String", # Unique identifier of this association session.
-    "accountId": "A String", # Hosted account id of the associated publisher after association. Present if status is ACCEPTED.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="verify">verify(token)</code>
-  <pre>Verify an association session after the association callback returns from AdSense signup.
-
-Args:
-  token: string, The token returned to the association callback URL. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the completed association, available once the association callback token has been verified. One of ACCEPTED, REJECTED, or ERROR.
-    "productCodes": [ # The products to associate with the user. Options: AFC, AFF, AFS, AFMC
-      "A String",
-    ],
-    "kind": "adsensehost#associationSession", # Kind of resource this is, in this case adsensehost#associationSession.
-    "userLocale": "A String", # The preferred locale of the user themselves when going through the AdSense association flow.
-    "websiteLocale": "A String", # The locale of the user's hosted website.
-    "redirectUrl": "A String", # Redirect URL of this association session. Used to redirect users into the AdSense association flow.
-    "websiteUrl": "A String", # The URL of the user's hosted website.
-    "id": "A String", # Unique identifier of this association session.
-    "accountId": "A String", # Hosted account id of the associated publisher after association. Present if status is ACCEPTED.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsensehost_v4_1.customchannels.html b/docs/dyn/adsensehost_v4_1.customchannels.html
deleted file mode 100644
index a0cd089..0000000
--- a/docs/dyn/adsensehost_v4_1.customchannels.html
+++ /dev/null
@@ -1,263 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsensehost_v4_1.html">AdSense Host API</a> . <a href="adsensehost_v4_1.customchannels.html">customchannels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(adClientId, customChannelId)</a></code></p>
-<p class="firstline">Delete a specific custom channel from the host AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#get">get(adClientId, customChannelId)</a></code></p>
-<p class="firstline">Get a specific custom channel from the host AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(adClientId, body)</a></code></p>
-<p class="firstline">Add a new custom channel to the host AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list">list(adClientId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all host custom channels in this AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(adClientId, customChannelId, body)</a></code></p>
-<p class="firstline">Update a custom channel in the host AdSense account. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(adClientId, body)</a></code></p>
-<p class="firstline">Update a custom channel in the host AdSense account.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(adClientId, customChannelId)</code>
-  <pre>Delete a specific custom channel from the host AdSense account.
-
-Args:
-  adClientId: string, Ad client from which to delete the custom channel. (required)
-  customChannelId: string, Custom channel to delete. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "adsensehost#customChannel", # Kind of resource this is, in this case adsensehost#customChannel.
-      "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-      "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-      "name": "A String", # Name of this custom channel.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(adClientId, customChannelId)</code>
-  <pre>Get a specific custom channel from the host AdSense account.
-
-Args:
-  adClientId: string, Ad client from which to get the custom channel. (required)
-  customChannelId: string, Custom channel to get. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "adsensehost#customChannel", # Kind of resource this is, in this case adsensehost#customChannel.
-      "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-      "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-      "name": "A String", # Name of this custom channel.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(adClientId, body)</code>
-  <pre>Add a new custom channel to the host AdSense account.
-
-Args:
-  adClientId: string, Ad client to which the new custom channel will be added. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "adsensehost#customChannel", # Kind of resource this is, in this case adsensehost#customChannel.
-    "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-    "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-    "name": "A String", # Name of this custom channel.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "adsensehost#customChannel", # Kind of resource this is, in this case adsensehost#customChannel.
-      "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-      "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-      "name": "A String", # Name of this custom channel.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(adClientId, pageToken=None, maxResults=None)</code>
-  <pre>List all host custom channels in this AdSense account.
-
-Args:
-  adClientId: string, Ad client for which to list custom channels. (required)
-  pageToken: string, A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of custom channels to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through custom channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The custom channels returned in this list response.
-      {
-          "kind": "adsensehost#customChannel", # Kind of resource this is, in this case adsensehost#customChannel.
-          "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-          "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-          "name": "A String", # Name of this custom channel.
-        },
-    ],
-    "kind": "adsensehost#customChannels", # Kind of list this is, in this case adsensehost#customChannels.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(adClientId, customChannelId, body)</code>
-  <pre>Update a custom channel in the host AdSense account. This method supports patch semantics.
-
-Args:
-  adClientId: string, Ad client in which the custom channel will be updated. (required)
-  customChannelId: string, Custom channel to get. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "adsensehost#customChannel", # Kind of resource this is, in this case adsensehost#customChannel.
-    "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-    "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-    "name": "A String", # Name of this custom channel.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "adsensehost#customChannel", # Kind of resource this is, in this case adsensehost#customChannel.
-      "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-      "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-      "name": "A String", # Name of this custom channel.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(adClientId, body)</code>
-  <pre>Update a custom channel in the host AdSense account.
-
-Args:
-  adClientId: string, Ad client in which the custom channel will be updated. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "adsensehost#customChannel", # Kind of resource this is, in this case adsensehost#customChannel.
-    "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-    "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-    "name": "A String", # Name of this custom channel.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "adsensehost#customChannel", # Kind of resource this is, in this case adsensehost#customChannel.
-      "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
-      "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-      "name": "A String", # Name of this custom channel.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsensehost_v4_1.html b/docs/dyn/adsensehost_v4_1.html
deleted file mode 100644
index 52a5227..0000000
--- a/docs/dyn/adsensehost_v4_1.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsensehost_v4_1.html">AdSense Host API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="adsensehost_v4_1.accounts.html">accounts()</a></code>
-</p>
-<p class="firstline">Returns the accounts Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsensehost_v4_1.adclients.html">adclients()</a></code>
-</p>
-<p class="firstline">Returns the adclients Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsensehost_v4_1.associationsessions.html">associationsessions()</a></code>
-</p>
-<p class="firstline">Returns the associationsessions Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsensehost_v4_1.customchannels.html">customchannels()</a></code>
-</p>
-<p class="firstline">Returns the customchannels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsensehost_v4_1.reports.html">reports()</a></code>
-</p>
-<p class="firstline">Returns the reports Resource.</p>
-
-<p class="toc_element">
-  <code><a href="adsensehost_v4_1.urlchannels.html">urlchannels()</a></code>
-</p>
-<p class="firstline">Returns the urlchannels Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsensehost_v4_1.reports.html b/docs/dyn/adsensehost_v4_1.reports.html
deleted file mode 100644
index 6e9c039..0000000
--- a/docs/dyn/adsensehost_v4_1.reports.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsensehost_v4_1.html">AdSense Host API</a> . <a href="adsensehost_v4_1.reports.html">reports</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#generate">generate(startDate, endDate, sort=None, locale=None, metric=None, maxResults=None, dimension=None, startIndex=None, filter=None)</a></code></p>
-<p class="firstline">Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="generate">generate(startDate, endDate, sort=None, locale=None, metric=None, maxResults=None, dimension=None, startIndex=None, filter=None)</code>
-  <pre>Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.
-
-Args:
-  startDate: string, Start of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  endDate: string, End of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
-  sort: string, The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. (repeated)
-  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
-  metric: string, Numeric columns to include in the report. (repeated)
-  maxResults: integer, The maximum number of rows of report data to return.
-  dimension: string, Dimensions to base the report on. (repeated)
-  startIndex: integer, Index of the first row of report data to return.
-  filter: string, Filters to be run on the report. (repeated)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "adsensehost#report", # Kind this is, in this case adsensehost#report.
-    "rows": [ # The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.
-      [
-        "A String",
-      ],
-    ],
-    "warnings": [ # Any warnings associated with generation of the report.
-      "A String",
-    ],
-    "totals": [ # The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-    "headers": [ # The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.
-      {
-        "currency": "A String", # The currency of this column. Only present if the header type is METRIC_CURRENCY.
-        "type": "A String", # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.
-        "name": "A String", # The name of the header.
-      },
-    ],
-    "totalMatchedRows": "A String", # The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.
-    "averages": [ # The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
-      "A String",
-    ],
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsensehost_v4_1.urlchannels.html b/docs/dyn/adsensehost_v4_1.urlchannels.html
deleted file mode 100644
index fa85805..0000000
--- a/docs/dyn/adsensehost_v4_1.urlchannels.html
+++ /dev/null
@@ -1,174 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="adsensehost_v4_1.html">AdSense Host API</a> . <a href="adsensehost_v4_1.urlchannels.html">urlchannels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(adClientId, urlChannelId)</a></code></p>
-<p class="firstline">Delete a URL channel from the host AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(adClientId, body)</a></code></p>
-<p class="firstline">Add a new URL channel to the host AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list">list(adClientId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all host URL channels in the host AdSense account.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(adClientId, urlChannelId)</code>
-  <pre>Delete a URL channel from the host AdSense account.
-
-Args:
-  adClientId: string, Ad client from which to delete the URL channel. (required)
-  urlChannelId: string, URL channel to delete. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "adsensehost#urlChannel", # Kind of resource this is, in this case adsensehost#urlChannel.
-      "id": "A String", # Unique identifier of this URL channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-      "urlPattern": "A String", # URL Pattern of this URL channel. Does not include "http://" or "https://". Example: www.example.com/home
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(adClientId, body)</code>
-  <pre>Add a new URL channel to the host AdSense account.
-
-Args:
-  adClientId: string, Ad client to which the new URL channel will be added. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "adsensehost#urlChannel", # Kind of resource this is, in this case adsensehost#urlChannel.
-    "id": "A String", # Unique identifier of this URL channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-    "urlPattern": "A String", # URL Pattern of this URL channel. Does not include "http://" or "https://". Example: www.example.com/home
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "adsensehost#urlChannel", # Kind of resource this is, in this case adsensehost#urlChannel.
-      "id": "A String", # Unique identifier of this URL channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-      "urlPattern": "A String", # URL Pattern of this URL channel. Does not include "http://" or "https://". Example: www.example.com/home
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(adClientId, pageToken=None, maxResults=None)</code>
-  <pre>List all host URL channels in the host AdSense account.
-
-Args:
-  adClientId: string, Ad client for which to list URL channels. (required)
-  pageToken: string, A continuation token, used to page through URL channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of URL channels to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Continuation token used to page through URL channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
-    "items": [ # The URL channels returned in this list response.
-      {
-          "kind": "adsensehost#urlChannel", # Kind of resource this is, in this case adsensehost#urlChannel.
-          "id": "A String", # Unique identifier of this URL channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
-          "urlPattern": "A String", # URL Pattern of this URL channel. Does not include "http://" or "https://". Example: www.example.com/home
-        },
-    ],
-    "kind": "adsensehost#urlChannels", # Kind of list this is, in this case adsensehost#urlChannels.
-    "etag": "A String", # ETag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.data.ga.html b/docs/dyn/analytics_v3.data.ga.html
deleted file mode 100644
index 0df711c..0000000
--- a/docs/dyn/analytics_v3.data.ga.html
+++ /dev/null
@@ -1,151 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.data.html">data</a> . <a href="analytics_v3.data.ga.html">ga</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(ids, start_date, end_date, metrics, sort=None, dimensions=None, filters=None, max_results=None, segment=None, start_index=None)</a></code></p>
-<p class="firstline">Returns Analytics data for a view (profile).</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(ids, start_date, end_date, metrics, sort=None, dimensions=None, filters=None, max_results=None, segment=None, start_index=None)</code>
-  <pre>Returns Analytics data for a view (profile).
-
-Args:
-  ids: string, Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. (required)
-  start_date: string, Start date for fetching Analytics data. All requests should specify a start date formatted as YYYY-MM-DD. (required)
-  end_date: string, End date for fetching Analytics data. All requests should specify an end date formatted as YYYY-MM-DD. (required)
-  metrics: string, A comma-separated list of Analytics metrics. E.g., 'ga:visits,ga:pageviews'. At least one metric must be specified. (required)
-  sort: string, A comma-separated list of dimensions or metrics that determine the sort order for Analytics data.
-  dimensions: string, A comma-separated list of Analytics dimensions. E.g., 'ga:browser,ga:city'.
-  filters: string, A comma-separated list of dimension or metric filters to be applied to Analytics data.
-  max_results: integer, The maximum number of entries to include in this feed.
-  segment: string, An Analytics advanced segment to be applied to data.
-  start_index: integer, An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
-
-Returns:
-  An object of the form:
-
-    { # Analytics data for a given view (profile).
-    "kind": "analytics#gaData", # Resource type.
-    "rows": [ # Analytics data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request.
-      [
-        "A String",
-      ],
-    ],
-    "containsSampledData": True or False, # Determines if Analytics data contains samples.
-    "totalResults": 42, # The total number of rows for the query, regardless of the number of rows in the response.
-    "itemsPerPage": 42, # The maximum number of rows the response can contain, regardless of the actual number of rows returned. Its value ranges from 1 to 10,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
-    "totalsForAllResults": { # Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request.
-      "a_key": "A String", # Key-value pair for the total value of a metric. Key is the metric name and the value is the total value for that metric.
-    },
-    "nextLink": "A String", # Link to next page for this Analytics data query.
-    "id": "A String", # Unique ID for this data response.
-    "query": { # Analytics data request query parameters.
-      "max-results": 42, # Maximum results per page.
-      "sort": [ # List of dimensions or metrics based on which Analytics data is sorted.
-        "A String",
-      ],
-      "dimensions": "A String", # List of analytics dimensions.
-      "start-date": "A String", # Start date.
-      "start-index": 42, # Start index.
-      "segment": "A String", # Analytics advanced segment.
-      "ids": "A String", # Unique table ID.
-      "metrics": [ # List of analytics metrics.
-        "A String",
-      ],
-      "filters": "A String", # Comma-separated list of dimension or metric filters.
-      "end-date": "A String", # End date.
-    },
-    "previousLink": "A String", # Link to previous page for this Analytics data query.
-    "profileInfo": { # Information for the view (profile), for which the Analytics data was requested.
-      "webPropertyId": "A String", # Web Property ID to which this view (profile) belongs.
-      "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
-      "tableId": "A String", # Table ID for view (profile).
-      "profileId": "A String", # View (Profile) ID.
-      "profileName": "A String", # View (Profile) name.
-      "accountId": "A String", # Account ID to which this view (profile) belongs.
-    },
-    "columnHeaders": [ # Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request.
-      {
-        "dataType": "A String", # Data type. Dimension column headers have only STRING as the data type. Metric column headers have data types for metric values such as INTEGER, DOUBLE, CURRENCY etc.
-        "columnType": "A String", # Column Type. Either DIMENSION or METRIC.
-        "name": "A String", # Column name.
-      },
-    ],
-    "selfLink": "A String", # Link to this page.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.data.html b/docs/dyn/analytics_v3.data.html
deleted file mode 100644
index 7d24ed6..0000000
--- a/docs/dyn/analytics_v3.data.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.data.html">data</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="analytics_v3.data.ga.html">ga()</a></code>
-</p>
-<p class="firstline">Returns the ga Resource.</p>
-
-<p class="toc_element">
-  <code><a href="analytics_v3.data.mcf.html">mcf()</a></code>
-</p>
-<p class="firstline">Returns the mcf Resource.</p>
-
-<p class="toc_element">
-  <code><a href="analytics_v3.data.realtime.html">realtime()</a></code>
-</p>
-<p class="firstline">Returns the realtime Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.data.mcf.html b/docs/dyn/analytics_v3.data.mcf.html
deleted file mode 100644
index 176df06..0000000
--- a/docs/dyn/analytics_v3.data.mcf.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.data.html">data</a> . <a href="analytics_v3.data.mcf.html">mcf</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(ids, start_date, end_date, metrics, sort=None, dimensions=None, filters=None, max_results=None, start_index=None)</a></code></p>
-<p class="firstline">Returns Analytics Multi-Channel Funnels data for a view (profile).</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(ids, start_date, end_date, metrics, sort=None, dimensions=None, filters=None, max_results=None, start_index=None)</code>
-  <pre>Returns Analytics Multi-Channel Funnels data for a view (profile).
-
-Args:
-  ids: string, Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. (required)
-  start_date: string, Start date for fetching Analytics data. All requests should specify a start date formatted as YYYY-MM-DD. (required)
-  end_date: string, End date for fetching Analytics data. All requests should specify an end date formatted as YYYY-MM-DD. (required)
-  metrics: string, A comma-separated list of Multi-Channel Funnels metrics. E.g., 'mcf:totalConversions,mcf:totalConversionValue'. At least one metric must be specified. (required)
-  sort: string, A comma-separated list of dimensions or metrics that determine the sort order for the Analytics data.
-  dimensions: string, A comma-separated list of Multi-Channel Funnels dimensions. E.g., 'mcf:source,mcf:medium'.
-  filters: string, A comma-separated list of dimension or metric filters to be applied to the Analytics data.
-  max_results: integer, The maximum number of entries to include in this feed.
-  start_index: integer, An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
-
-Returns:
-  An object of the form:
-
-    { # Multi-Channel Funnels data for a given view (profile).
-    "kind": "analytics#mcfData", # Resource type.
-    "rows": [ # Analytics data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request.
-      [
-        { # A union object representing a dimension or metric value. Only one of "primitiveValue" or "conversionPathValue" attribute will be populated.
-          "primitiveValue": "A String", # A primitive dimension value. A primitive metric value.
-          "conversionPathValue": [ # A conversion path dimension value, containing a list of interactions with their attributes.
-            {
-              "nodeValue": "A String", # Node value of an interaction on conversion path. Such as source, medium etc.
-              "interactionType": "A String", # Type of an interaction on conversion path. Such as CLICK, IMPRESSION etc.
-            },
-          ],
-        },
-      ],
-    ],
-    "containsSampledData": True or False, # Determines if the Analytics data contains sampled data.
-    "totalResults": 42, # The total number of rows for the query, regardless of the number of rows in the response.
-    "itemsPerPage": 42, # The maximum number of rows the response can contain, regardless of the actual number of rows returned. Its value ranges from 1 to 10,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
-    "totalsForAllResults": { # Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request.
-      "a_key": "A String", # Key-value pair for the total value of a metric. Key is the metric name and the value is the total value for that metric.
-    },
-    "nextLink": "A String", # Link to next page for this Analytics data query.
-    "id": "A String", # Unique ID for this data response.
-    "query": { # Analytics data request query parameters.
-      "max-results": 42, # Maximum results per page.
-      "sort": [ # List of dimensions or metrics based on which Analytics data is sorted.
-        "A String",
-      ],
-      "dimensions": "A String", # List of analytics dimensions.
-      "start-date": "A String", # Start date.
-      "start-index": 42, # Start index.
-      "segment": "A String", # Analytics advanced segment.
-      "ids": "A String", # Unique table ID.
-      "metrics": [ # List of analytics metrics.
-        "A String",
-      ],
-      "filters": "A String", # Comma-separated list of dimension or metric filters.
-      "end-date": "A String", # End date.
-    },
-    "previousLink": "A String", # Link to previous page for this Analytics data query.
-    "profileInfo": { # Information for the view (profile), for which the Analytics data was requested.
-      "webPropertyId": "A String", # Web Property ID to which this view (profile) belongs.
-      "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
-      "tableId": "A String", # Table ID for view (profile).
-      "profileId": "A String", # View (Profile) ID.
-      "profileName": "A String", # View (Profile) name.
-      "accountId": "A String", # Account ID to which this view (profile) belongs.
-    },
-    "columnHeaders": [ # Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request.
-      {
-        "dataType": "A String", # Data type. Dimension and metric values data types such as INTEGER, DOUBLE, CURRENCY, MCF_SEQUENCE etc.
-        "columnType": "A String", # Column Type. Either DIMENSION or METRIC.
-        "name": "A String", # Column name.
-      },
-    ],
-    "selfLink": "A String", # Link to this page.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.data.realtime.html b/docs/dyn/analytics_v3.data.realtime.html
deleted file mode 100644
index edaf5e2..0000000
--- a/docs/dyn/analytics_v3.data.realtime.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.data.html">data</a> . <a href="analytics_v3.data.realtime.html">realtime</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(ids, metrics, sort=None, dimensions=None, filters=None, max_results=None)</a></code></p>
-<p class="firstline">Returns real-time data for a view (profile).</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(ids, metrics, sort=None, dimensions=None, filters=None, max_results=None)</code>
-  <pre>Returns real-time data for a view (profile).
-
-Args:
-  ids: string, Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. (required)
-  metrics: string, A comma-separated list of Analytics metrics. E.g., 'ga:visits,ga:pageviews'. At least one metric must be specified. (required)
-  sort: string, A comma-separated list of dimensions or metrics that determine the sort order for real-time data.
-  dimensions: string, A comma-separated list of real-time dimensions. E.g., 'ga:medium,ga:city'.
-  filters: string, A comma-separated list of dimension or metric filters to be applied to real-time data.
-  max_results: integer, The maximum number of entries to include in this feed.
-
-Returns:
-  An object of the form:
-
-    { # Real time data for a given view (profile).
-    "kind": "analytics#realtimeData", # Resource type.
-    "rows": [ # Real time data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request.
-      [
-        "A String",
-      ],
-    ],
-    "totalResults": 42, # The total number of rows for the query, regardless of the number of rows in the response.
-    "totalsForAllResults": { # Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request.
-      "a_key": "A String", # Key-value pair for the total value of a metric. Key is the metric name and the value is the total value for that metric.
-    },
-    "id": "A String", # Unique ID for this data response.
-    "query": { # Real time data request query parameters.
-      "max-results": 42, # Maximum results per page.
-      "sort": [ # List of dimensions or metrics based on which real time data is sorted.
-        "A String",
-      ],
-      "dimensions": "A String", # List of real time dimensions.
-      "ids": "A String", # Unique table ID.
-      "metrics": [ # List of real time metrics.
-        "A String",
-      ],
-      "filters": "A String", # Comma-separated list of dimension or metric filters.
-    },
-    "profileInfo": { # Information for the view (profile), for which the real time data was requested.
-      "webPropertyId": "A String", # Web Property ID to which this view (profile) belongs.
-      "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
-      "tableId": "A String", # Table ID for view (profile).
-      "profileId": "A String", # View (Profile) ID.
-      "profileName": "A String", # View (Profile) name.
-      "accountId": "A String", # Account ID to which this view (profile) belongs.
-    },
-    "columnHeaders": [ # Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request.
-      {
-        "dataType": "A String", # Data type. Dimension column headers have only STRING as the data type. Metric column headers have data types for metric values such as INTEGER, DOUBLE, CURRENCY etc.
-        "columnType": "A String", # Column Type. Either DIMENSION or METRIC.
-        "name": "A String", # Column name.
-      },
-    ],
-    "selfLink": "A String", # Link to this page.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.html b/docs/dyn/analytics_v3.html
deleted file mode 100644
index 2e3faeb..0000000
--- a/docs/dyn/analytics_v3.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="analytics_v3.html">Google Analytics API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="analytics_v3.data.html">data()</a></code>
-</p>
-<p class="firstline">Returns the data Resource.</p>
-
-<p class="toc_element">
-  <code><a href="analytics_v3.management.html">management()</a></code>
-</p>
-<p class="firstline">Returns the management Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.accounts.html b/docs/dyn/analytics_v3.management.accounts.html
deleted file mode 100644
index eab83f2..0000000
--- a/docs/dyn/analytics_v3.management.accounts.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.management.html">management</a> . <a href="analytics_v3.management.accounts.html">accounts</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(max_results=None, start_index=None)</a></code></p>
-<p class="firstline">Lists all accounts to which the user has access.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(max_results=None, start_index=None)</code>
-  <pre>Lists all accounts to which the user has access.
-
-Args:
-  max_results: integer, The maximum number of accounts to include in this response.
-  start_index: integer, An index of the first account to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
-
-Returns:
-  An object of the form:
-
-    { # An account collection provides a list of Analytics accounts to which a user has access. The account collection is the entry point to all management information. Each resource in the collection corresponds to a single Analytics account.
-    "username": "A String", # Email ID of the authenticated user
-    "kind": "analytics#accounts", # Collection type.
-    "items": [ # A list of accounts.
-      { # JSON template for Analytics account entry.
-        "kind": "analytics#account", # Resource type for Analytics account.
-        "name": "A String", # Account name.
-        "created": "A String", # Time the account was created.
-        "updated": "A String", # Time the account was last modified.
-        "childLink": { # Child link for an account entry. Points to the list of web properties for this account.
-          "href": "A String", # Link to the list of web properties for this account.
-          "type": "analytics#webproperties", # Type of the child link. Its value is "analytics#webproperties".
-        },
-        "id": "A String", # Account ID.
-        "selfLink": "A String", # Link for this account.
-      },
-    ],
-    "itemsPerPage": 42, # The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
-    "previousLink": "A String", # Previous link for this account collection.
-    "startIndex": 42, # The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter.
-    "nextLink": "A String", # Next link for this account collection.
-    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.customDataSources.html b/docs/dyn/analytics_v3.management.customDataSources.html
deleted file mode 100644
index 51b15c0..0000000
--- a/docs/dyn/analytics_v3.management.customDataSources.html
+++ /dev/null
@@ -1,130 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.management.html">management</a> . <a href="analytics_v3.management.customDataSources.html">customDataSources</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, webPropertyId, max_results=None, start_index=None)</a></code></p>
-<p class="firstline">List custom data sources to which the user has access.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(accountId, webPropertyId, max_results=None, start_index=None)</code>
-  <pre>List custom data sources to which the user has access.
-
-Args:
-  accountId: string, Account Id for the custom data sources to retrieve. (required)
-  webPropertyId: string, Web property Id for the custom data sources to retrieve. (required)
-  max_results: integer, The maximum number of custom data sources to include in this response.
-  start_index: integer, A 1-based index of the first custom data source to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
-
-Returns:
-  An object of the form:
-
-    { # Lists Analytics custom data sources to which the user has access. Each resource in the collection corresponds to a single Analytics custom data source.
-    "username": "A String", # Email ID of the authenticated user
-    "kind": "analytics#customDataSources", # Collection type.
-    "items": [ # Collection of custom data sources.
-      { # JSON template for an Analytics custom data source.
-        "kind": "analytics#customDataSource", # Resource type for Analytics custom data source.
-        "description": "A String", # Description of custom data source.
-        "created": "A String", # Time this custom data source was created.
-        "profilesLinked": [ # IDs of views (profiles) linked to the custom data source.
-          "A String",
-        ],
-        "updated": "A String", # Time this custom data source was last modified.
-        "name": "A String", # Name of this custom data source.
-        "childLink": {
-          "href": "A String", # Link to the list of daily uploads for this custom data source. Link to the list of uploads for this custom data source.
-          "type": "A String", # Value is "analytics#dailyUploads". Value is "analytics#uploads".
-        },
-        "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this custom data source belongs.
-        "parentLink": { # Parent link for this custom data source. Points to the web property to which this custom data source belongs.
-          "href": "A String", # Link to the web property to which this custom data source belongs.
-          "type": "analytics#webproperty", # Value is "analytics#webproperty".
-        },
-        "type": "A String", # Type of the custom data source.
-        "id": "A String", # Custom data source ID.
-        "selfLink": "A String", # Link for this Analytics custom data source.
-        "accountId": "A String", # Account ID to which this custom data source belongs.
-      },
-    ],
-    "itemsPerPage": 42, # The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
-    "previousLink": "A String", # Link to previous page for this custom data source collection.
-    "startIndex": 42, # The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.
-    "nextLink": "A String", # Link to next page for this custom data source collection.
-    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.dailyUploads.html b/docs/dyn/analytics_v3.management.dailyUploads.html
deleted file mode 100644
index 80428b9..0000000
--- a/docs/dyn/analytics_v3.management.dailyUploads.html
+++ /dev/null
@@ -1,182 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.management.html">management</a> . <a href="analytics_v3.management.dailyUploads.html">dailyUploads</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(accountId, webPropertyId, customDataSourceId, date, type)</a></code></p>
-<p class="firstline">Delete uploaded data for the given date.</p>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, webPropertyId, customDataSourceId, start_date, end_date, max_results=None, start_index=None)</a></code></p>
-<p class="firstline">List daily uploads to which the user has access.</p>
-<p class="toc_element">
-  <code><a href="#upload">upload(accountId, webPropertyId, customDataSourceId, date, appendNumber, type, reset=None, media_body=None)</a></code></p>
-<p class="firstline">Update/Overwrite data for a custom data source.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(accountId, webPropertyId, customDataSourceId, date, type)</code>
-  <pre>Delete uploaded data for the given date.
-
-Args:
-  accountId: string, Account Id associated with daily upload delete. (required)
-  webPropertyId: string, Web property Id associated with daily upload delete. (required)
-  customDataSourceId: string, Custom data source Id associated with daily upload delete. (required)
-  date: string, Date for which data is to be deleted. Date should be formatted as YYYY-MM-DD. (required)
-  type: string, Type of data for this delete. (required)
-    Allowed values
-      cost - Value for specifying cost data upload.
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(accountId, webPropertyId, customDataSourceId, start_date, end_date, max_results=None, start_index=None)</code>
-  <pre>List daily uploads to which the user has access.
-
-Args:
-  accountId: string, Account Id for the daily uploads to retrieve. (required)
-  webPropertyId: string, Web property Id for the daily uploads to retrieve. (required)
-  customDataSourceId: string, Custom data source Id for daily uploads to retrieve. (required)
-  start_date: string, Start date of the form YYYY-MM-DD. (required)
-  end_date: string, End date of the form YYYY-MM-DD. (required)
-  max_results: integer, The maximum number of custom data sources to include in this response.
-  start_index: integer, A 1-based index of the first daily upload to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
-
-Returns:
-  An object of the form:
-
-    { # A daily upload collection lists Analytics daily uploads to which the user has access. Each resource in the collection corresponds to a single Analytics daily upload.
-    "username": "A String", # Email ID of the authenticated user
-    "kind": "analytics#dailyUploads", # Collection type. Value is analytics#dailyUploads.
-    "items": [ # A collection of daily uploads.
-      { # Metadata for daily upload entity.
-        "recentChanges": [ # Change log for last 10 changes in chronological order.
-          {
-            "change": "A String", # The type of change: APPEND, RESET, or DELETE.
-            "time": "A String", # The time when the change occurred.
-          },
-        ],
-        "kind": "analytics#dailyUpload", # Resource type for Analytics daily upload.
-        "modifiedTime": "A String", # Time this daily upload was last modified.
-        "appendCount": 42, # Number of appends for this date.
-        "customDataSourceId": "A String", # Custom data source ID to which this daily upload belongs.
-        "date": "A String", # Date associated with daily upload.
-        "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this daily upload belongs.
-        "createdTime": "A String", # Time this daily upload was created.
-        "parentLink": { # Parent link for a daily upload. Points to the custom data source to which this daily upload belongs.
-          "href": "A String", # Link to the custom data source to which this daily upload belongs.
-          "type": "analytics#customDataSource", # Value is "analytics#customDataSource".
-        },
-        "selfLink": "A String", # Link for this daily upload.
-        "accountId": "A String", # Account ID to which this daily upload belongs.
-      },
-    ],
-    "itemsPerPage": 42, # The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
-    "previousLink": "A String", # Link to previous page for this daily upload collection.
-    "startIndex": 42, # The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.
-    "nextLink": "A String", # Link to next page for this daily upload collection.
-    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="upload">upload(accountId, webPropertyId, customDataSourceId, date, appendNumber, type, reset=None, media_body=None)</code>
-  <pre>Update/Overwrite data for a custom data source.
-
-Args:
-  accountId: string, Account Id associated with daily upload. (required)
-  webPropertyId: string, Web property Id associated with daily upload. (required)
-  customDataSourceId: string, Custom data source Id to which the data being uploaded belongs. (required)
-  date: string, Date for which data is uploaded. Date should be formatted as YYYY-MM-DD. (required)
-  appendNumber: integer, Append number for this upload indexed from 1. (required)
-  type: string, Type of data for this upload. (required)
-    Allowed values
-      cost - Value for specifying cost data upload.
-  reset: boolean, Reset/Overwrite all previous appends for this date and start over with this file as the first upload.
-  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
-
-Returns:
-  An object of the form:
-
-    { # Metadata returned for a successful append operation.
-    "kind": "analytics#dailyUploadAppend", # Resource type for Analytics daily upload append.
-    "customDataSourceId": "A String", # Custom data source Id to which this daily upload append belongs.
-    "appendNumber": 42, # Append number.
-    "webPropertyId": "A String", # Web property Id of the form UA-XXXXX-YY to which this daily upload append belongs.
-    "date": "A String", # Date associated with daily upload append.
-    "nextAppendLink": "A String",
-    "accountId": "A String", # Account Id to which this daily upload append belongs.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.experiments.html b/docs/dyn/analytics_v3.management.experiments.html
deleted file mode 100644
index 0c01462..0000000
--- a/docs/dyn/analytics_v3.management.experiments.html
+++ /dev/null
@@ -1,550 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.management.html">management</a> . <a href="analytics_v3.management.experiments.html">experiments</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(accountId, webPropertyId, profileId, experimentId)</a></code></p>
-<p class="firstline">Delete an experiment.</p>
-<p class="toc_element">
-  <code><a href="#get">get(accountId, webPropertyId, profileId, experimentId)</a></code></p>
-<p class="firstline">Returns an experiment to which the user has access.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(accountId, webPropertyId, profileId, body)</a></code></p>
-<p class="firstline">Create a new experiment.</p>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, webPropertyId, profileId, max_results=None, start_index=None)</a></code></p>
-<p class="firstline">Lists experiments to which the user has access.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(accountId, webPropertyId, profileId, experimentId, body)</a></code></p>
-<p class="firstline">Update an existing experiment. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(accountId, webPropertyId, profileId, experimentId, body)</a></code></p>
-<p class="firstline">Update an existing experiment.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(accountId, webPropertyId, profileId, experimentId)</code>
-  <pre>Delete an experiment.
-
-Args:
-  accountId: string, Account ID to which the experiment belongs (required)
-  webPropertyId: string, Web property ID to which the experiment belongs (required)
-  profileId: string, View (Profile) ID to which the experiment belongs (required)
-  experimentId: string, ID of the experiment to delete (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(accountId, webPropertyId, profileId, experimentId)</code>
-  <pre>Returns an experiment to which the user has access.
-
-Args:
-  accountId: string, Account ID to retrieve the experiment for. (required)
-  webPropertyId: string, Web property ID to retrieve the experiment for. (required)
-  profileId: string, View (Profile) ID to retrieve the experiment for. (required)
-  experimentId: string, Experiment ID to retrieve the experiment for. (required)
-
-Returns:
-  An object of the form:
-
-    { # JSON template for Analytics experiment resource.
-      "trafficCoverage": 3.14, # A floating-point number between 0 and 1. Specifies the fraction of the traffic that participates in the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.
-      "webPropertyId": "A String", # Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only.
-      "optimizationType": "A String", # Whether the objectiveMetric should be minimized or maximized. Possible values: "MAXIMUM", "MINIMUM". Optional--defaults to "MAXIMUM". Cannot be specified without objectiveMetric. Cannot be modified when status is "RUNNING" or "ENDED".
-      "objectiveMetric": "A String", # The metric that the experiment is optimizing. Valid values: "ga:goal(n)Completions", "ga:bounces", "ga:pageviews", "ga:timeOnSite", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
-      "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
-      "accountId": "A String", # Account ID to which this experiment belongs. This field is read-only.
-      "snippet": "A String", # The snippet of code to include on the control page(s). This field is read-only.
-      "editableInGaUi": "", # If true, the end user will be able to edit the experiment via the Google Analytics user interface.
-      "rewriteVariationUrlsAsOriginal": True or False, # Boolean specifying whether variations URLS are rewritten to match those of the original. This field may not be changed for an experiments whose status is ENDED.
-      "servingFramework": "", # The framework used to serve the experiment variations and evaluate the results. One of:
-          # - REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.
-          # - API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.
-          # - EXTERNAL: The variations will be served externally and the chosen variation reported to Google Analytics. The caller is responsible for serving the selected variation and evaluating the results.
-      "status": "A String", # Experiment status. Possible values: "DRAFT", "READY_TO_RUN", "RUNNING", "ENDED". Experiments can be created in the "DRAFT", "READY_TO_RUN" or "RUNNING" state. This field is required when creating an experiment.
-      "updated": "A String", # Time the experiment was last modified. This field is read-only.
-      "description": "A String", # Notes about this experiment.
-      "reasonExperimentEnded": "A String", # Why the experiment ended. Possible values: "STOPPED_BY_USER", "WINNER_FOUND", "EXPERIMENT_EXPIRED", "ENDED_WITH_NO_WINNER", "GOAL_OBJECTIVE_CHANGED". "ENDED_WITH_NO_WINNER" means that the experiment didn't expire but no winner was projected to be found. If the experiment status is changed via the API to ENDED this field is set to STOPPED_BY_USER. This field is read-only.
-      "internalWebPropertyId": "A String", # Internal ID for the web property to which this experiment belongs. This field is read-only.
-      "winnerConfidenceLevel": 3.14, # A floating-point number between 0 and 1. Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.
-      "startTime": "A String", # The starting time of the experiment (the time the status changed from READY_TO_RUN to RUNNING). This field is present only if the experiment has started. This field is read-only.
-      "winnerFound": True or False, # Boolean specifying whether a winner has been found for this experiment. This field is read-only.
-      "kind": "analytics#experiment", # Resource type for an Analytics experiment. This field is read-only.
-      "name": "A String", # Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.
-      "created": "A String", # Time the experiment was created. This field is read-only.
-      "variations": [ # Array of variations. The first variation in the array is the original. The number of variations may not change once an experiment is in the RUNNING state. At least two variations are required before status can be set to RUNNING.
-        {
-          "status": "A String", # Status of the variation. Possible values: "ACTIVE", "INACTIVE". INACTIVE variations are not served. This field may not be changed for an experiment whose status is ENDED.
-          "url": "A String", # The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED.
-          "won": True or False, # True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only.
-          "name": "A String", # The name of the variation. This field is required when creating an experiment. This field may not be changed for an experiment whose status is ENDED.
-          "weight": 3.14, # Weight that this variation should receive. Only present if the experiment is running. This field is read-only.
-        },
-      ],
-      "minimumExperimentLengthInDays": 42, # Specifies the minimum length of the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.
-      "profileId": "A String", # View (Profile) ID to which this experiment belongs. This field is read-only.
-      "parentLink": { # Parent link for an experiment. Points to the view (profile) to which this experiment belongs.
-        "href": "A String", # Link to the view (profile) to which this experiment belongs. This field is read-only.
-        "type": "analytics#profile", # Value is "analytics#profile". This field is read-only.
-      },
-      "endTime": "A String", # The ending time of the experiment (the time the status changed from RUNNING to ENDED). This field is present only if the experiment has ended. This field is read-only.
-      "selfLink": "A String", # Link for this experiment. This field is read-only.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(accountId, webPropertyId, profileId, body)</code>
-  <pre>Create a new experiment.
-
-Args:
-  accountId: string, Account ID to create the experiment for. (required)
-  webPropertyId: string, Web property ID to create the experiment for. (required)
-  profileId: string, View (Profile) ID to create the experiment for. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # JSON template for Analytics experiment resource.
-    "trafficCoverage": 3.14, # A floating-point number between 0 and 1. Specifies the fraction of the traffic that participates in the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.
-    "webPropertyId": "A String", # Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only.
-    "optimizationType": "A String", # Whether the objectiveMetric should be minimized or maximized. Possible values: "MAXIMUM", "MINIMUM". Optional--defaults to "MAXIMUM". Cannot be specified without objectiveMetric. Cannot be modified when status is "RUNNING" or "ENDED".
-    "objectiveMetric": "A String", # The metric that the experiment is optimizing. Valid values: "ga:goal(n)Completions", "ga:bounces", "ga:pageviews", "ga:timeOnSite", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
-    "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
-    "accountId": "A String", # Account ID to which this experiment belongs. This field is read-only.
-    "snippet": "A String", # The snippet of code to include on the control page(s). This field is read-only.
-    "editableInGaUi": "", # If true, the end user will be able to edit the experiment via the Google Analytics user interface.
-    "rewriteVariationUrlsAsOriginal": True or False, # Boolean specifying whether variations URLS are rewritten to match those of the original. This field may not be changed for an experiments whose status is ENDED.
-    "servingFramework": "", # The framework used to serve the experiment variations and evaluate the results. One of:
-        # - REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.
-        # - API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.
-        # - EXTERNAL: The variations will be served externally and the chosen variation reported to Google Analytics. The caller is responsible for serving the selected variation and evaluating the results.
-    "status": "A String", # Experiment status. Possible values: "DRAFT", "READY_TO_RUN", "RUNNING", "ENDED". Experiments can be created in the "DRAFT", "READY_TO_RUN" or "RUNNING" state. This field is required when creating an experiment.
-    "updated": "A String", # Time the experiment was last modified. This field is read-only.
-    "description": "A String", # Notes about this experiment.
-    "reasonExperimentEnded": "A String", # Why the experiment ended. Possible values: "STOPPED_BY_USER", "WINNER_FOUND", "EXPERIMENT_EXPIRED", "ENDED_WITH_NO_WINNER", "GOAL_OBJECTIVE_CHANGED". "ENDED_WITH_NO_WINNER" means that the experiment didn't expire but no winner was projected to be found. If the experiment status is changed via the API to ENDED this field is set to STOPPED_BY_USER. This field is read-only.
-    "internalWebPropertyId": "A String", # Internal ID for the web property to which this experiment belongs. This field is read-only.
-    "winnerConfidenceLevel": 3.14, # A floating-point number between 0 and 1. Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.
-    "startTime": "A String", # The starting time of the experiment (the time the status changed from READY_TO_RUN to RUNNING). This field is present only if the experiment has started. This field is read-only.
-    "winnerFound": True or False, # Boolean specifying whether a winner has been found for this experiment. This field is read-only.
-    "kind": "analytics#experiment", # Resource type for an Analytics experiment. This field is read-only.
-    "name": "A String", # Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.
-    "created": "A String", # Time the experiment was created. This field is read-only.
-    "variations": [ # Array of variations. The first variation in the array is the original. The number of variations may not change once an experiment is in the RUNNING state. At least two variations are required before status can be set to RUNNING.
-      {
-        "status": "A String", # Status of the variation. Possible values: "ACTIVE", "INACTIVE". INACTIVE variations are not served. This field may not be changed for an experiment whose status is ENDED.
-        "url": "A String", # The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED.
-        "won": True or False, # True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only.
-        "name": "A String", # The name of the variation. This field is required when creating an experiment. This field may not be changed for an experiment whose status is ENDED.
-        "weight": 3.14, # Weight that this variation should receive. Only present if the experiment is running. This field is read-only.
-      },
-    ],
-    "minimumExperimentLengthInDays": 42, # Specifies the minimum length of the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.
-    "profileId": "A String", # View (Profile) ID to which this experiment belongs. This field is read-only.
-    "parentLink": { # Parent link for an experiment. Points to the view (profile) to which this experiment belongs.
-      "href": "A String", # Link to the view (profile) to which this experiment belongs. This field is read-only.
-      "type": "analytics#profile", # Value is "analytics#profile". This field is read-only.
-    },
-    "endTime": "A String", # The ending time of the experiment (the time the status changed from RUNNING to ENDED). This field is present only if the experiment has ended. This field is read-only.
-    "selfLink": "A String", # Link for this experiment. This field is read-only.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # JSON template for Analytics experiment resource.
-      "trafficCoverage": 3.14, # A floating-point number between 0 and 1. Specifies the fraction of the traffic that participates in the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.
-      "webPropertyId": "A String", # Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only.
-      "optimizationType": "A String", # Whether the objectiveMetric should be minimized or maximized. Possible values: "MAXIMUM", "MINIMUM". Optional--defaults to "MAXIMUM". Cannot be specified without objectiveMetric. Cannot be modified when status is "RUNNING" or "ENDED".
-      "objectiveMetric": "A String", # The metric that the experiment is optimizing. Valid values: "ga:goal(n)Completions", "ga:bounces", "ga:pageviews", "ga:timeOnSite", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
-      "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
-      "accountId": "A String", # Account ID to which this experiment belongs. This field is read-only.
-      "snippet": "A String", # The snippet of code to include on the control page(s). This field is read-only.
-      "editableInGaUi": "", # If true, the end user will be able to edit the experiment via the Google Analytics user interface.
-      "rewriteVariationUrlsAsOriginal": True or False, # Boolean specifying whether variations URLS are rewritten to match those of the original. This field may not be changed for an experiments whose status is ENDED.
-      "servingFramework": "", # The framework used to serve the experiment variations and evaluate the results. One of:
-          # - REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.
-          # - API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.
-          # - EXTERNAL: The variations will be served externally and the chosen variation reported to Google Analytics. The caller is responsible for serving the selected variation and evaluating the results.
-      "status": "A String", # Experiment status. Possible values: "DRAFT", "READY_TO_RUN", "RUNNING", "ENDED". Experiments can be created in the "DRAFT", "READY_TO_RUN" or "RUNNING" state. This field is required when creating an experiment.
-      "updated": "A String", # Time the experiment was last modified. This field is read-only.
-      "description": "A String", # Notes about this experiment.
-      "reasonExperimentEnded": "A String", # Why the experiment ended. Possible values: "STOPPED_BY_USER", "WINNER_FOUND", "EXPERIMENT_EXPIRED", "ENDED_WITH_NO_WINNER", "GOAL_OBJECTIVE_CHANGED". "ENDED_WITH_NO_WINNER" means that the experiment didn't expire but no winner was projected to be found. If the experiment status is changed via the API to ENDED this field is set to STOPPED_BY_USER. This field is read-only.
-      "internalWebPropertyId": "A String", # Internal ID for the web property to which this experiment belongs. This field is read-only.
-      "winnerConfidenceLevel": 3.14, # A floating-point number between 0 and 1. Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.
-      "startTime": "A String", # The starting time of the experiment (the time the status changed from READY_TO_RUN to RUNNING). This field is present only if the experiment has started. This field is read-only.
-      "winnerFound": True or False, # Boolean specifying whether a winner has been found for this experiment. This field is read-only.
-      "kind": "analytics#experiment", # Resource type for an Analytics experiment. This field is read-only.
-      "name": "A String", # Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.
-      "created": "A String", # Time the experiment was created. This field is read-only.
-      "variations": [ # Array of variations. The first variation in the array is the original. The number of variations may not change once an experiment is in the RUNNING state. At least two variations are required before status can be set to RUNNING.
-        {
-          "status": "A String", # Status of the variation. Possible values: "ACTIVE", "INACTIVE". INACTIVE variations are not served. This field may not be changed for an experiment whose status is ENDED.
-          "url": "A String", # The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED.
-          "won": True or False, # True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only.
-          "name": "A String", # The name of the variation. This field is required when creating an experiment. This field may not be changed for an experiment whose status is ENDED.
-          "weight": 3.14, # Weight that this variation should receive. Only present if the experiment is running. This field is read-only.
-        },
-      ],
-      "minimumExperimentLengthInDays": 42, # Specifies the minimum length of the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.
-      "profileId": "A String", # View (Profile) ID to which this experiment belongs. This field is read-only.
-      "parentLink": { # Parent link for an experiment. Points to the view (profile) to which this experiment belongs.
-        "href": "A String", # Link to the view (profile) to which this experiment belongs. This field is read-only.
-        "type": "analytics#profile", # Value is "analytics#profile". This field is read-only.
-      },
-      "endTime": "A String", # The ending time of the experiment (the time the status changed from RUNNING to ENDED). This field is present only if the experiment has ended. This field is read-only.
-      "selfLink": "A String", # Link for this experiment. This field is read-only.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(accountId, webPropertyId, profileId, max_results=None, start_index=None)</code>
-  <pre>Lists experiments to which the user has access.
-
-Args:
-  accountId: string, Account ID to retrieve experiments for. (required)
-  webPropertyId: string, Web property ID to retrieve experiments for. (required)
-  profileId: string, View (Profile) ID to retrieve experiments for. (required)
-  max_results: integer, The maximum number of experiments to include in this response.
-  start_index: integer, An index of the first experiment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
-
-Returns:
-  An object of the form:
-
-    { # An experiment collection lists Analytics experiments to which the user has access. Each view (profile) can have a set of experiments. Each resource in the Experiment collection corresponds to a single Analytics experiment.
-    "username": "A String", # Email ID of the authenticated user
-    "kind": "analytics#experiments", # Collection type.
-    "items": [ # A list of experiments.
-      { # JSON template for Analytics experiment resource.
-          "trafficCoverage": 3.14, # A floating-point number between 0 and 1. Specifies the fraction of the traffic that participates in the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.
-          "webPropertyId": "A String", # Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only.
-          "optimizationType": "A String", # Whether the objectiveMetric should be minimized or maximized. Possible values: "MAXIMUM", "MINIMUM". Optional--defaults to "MAXIMUM". Cannot be specified without objectiveMetric. Cannot be modified when status is "RUNNING" or "ENDED".
-          "objectiveMetric": "A String", # The metric that the experiment is optimizing. Valid values: "ga:goal(n)Completions", "ga:bounces", "ga:pageviews", "ga:timeOnSite", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
-          "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
-          "accountId": "A String", # Account ID to which this experiment belongs. This field is read-only.
-          "snippet": "A String", # The snippet of code to include on the control page(s). This field is read-only.
-          "editableInGaUi": "", # If true, the end user will be able to edit the experiment via the Google Analytics user interface.
-          "rewriteVariationUrlsAsOriginal": True or False, # Boolean specifying whether variations URLS are rewritten to match those of the original. This field may not be changed for an experiments whose status is ENDED.
-          "servingFramework": "", # The framework used to serve the experiment variations and evaluate the results. One of:
-              # - REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.
-              # - API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.
-              # - EXTERNAL: The variations will be served externally and the chosen variation reported to Google Analytics. The caller is responsible for serving the selected variation and evaluating the results.
-          "status": "A String", # Experiment status. Possible values: "DRAFT", "READY_TO_RUN", "RUNNING", "ENDED". Experiments can be created in the "DRAFT", "READY_TO_RUN" or "RUNNING" state. This field is required when creating an experiment.
-          "updated": "A String", # Time the experiment was last modified. This field is read-only.
-          "description": "A String", # Notes about this experiment.
-          "reasonExperimentEnded": "A String", # Why the experiment ended. Possible values: "STOPPED_BY_USER", "WINNER_FOUND", "EXPERIMENT_EXPIRED", "ENDED_WITH_NO_WINNER", "GOAL_OBJECTIVE_CHANGED". "ENDED_WITH_NO_WINNER" means that the experiment didn't expire but no winner was projected to be found. If the experiment status is changed via the API to ENDED this field is set to STOPPED_BY_USER. This field is read-only.
-          "internalWebPropertyId": "A String", # Internal ID for the web property to which this experiment belongs. This field is read-only.
-          "winnerConfidenceLevel": 3.14, # A floating-point number between 0 and 1. Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.
-          "startTime": "A String", # The starting time of the experiment (the time the status changed from READY_TO_RUN to RUNNING). This field is present only if the experiment has started. This field is read-only.
-          "winnerFound": True or False, # Boolean specifying whether a winner has been found for this experiment. This field is read-only.
-          "kind": "analytics#experiment", # Resource type for an Analytics experiment. This field is read-only.
-          "name": "A String", # Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.
-          "created": "A String", # Time the experiment was created. This field is read-only.
-          "variations": [ # Array of variations. The first variation in the array is the original. The number of variations may not change once an experiment is in the RUNNING state. At least two variations are required before status can be set to RUNNING.
-            {
-              "status": "A String", # Status of the variation. Possible values: "ACTIVE", "INACTIVE". INACTIVE variations are not served. This field may not be changed for an experiment whose status is ENDED.
-              "url": "A String", # The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED.
-              "won": True or False, # True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only.
-              "name": "A String", # The name of the variation. This field is required when creating an experiment. This field may not be changed for an experiment whose status is ENDED.
-              "weight": 3.14, # Weight that this variation should receive. Only present if the experiment is running. This field is read-only.
-            },
-          ],
-          "minimumExperimentLengthInDays": 42, # Specifies the minimum length of the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.
-          "profileId": "A String", # View (Profile) ID to which this experiment belongs. This field is read-only.
-          "parentLink": { # Parent link for an experiment. Points to the view (profile) to which this experiment belongs.
-            "href": "A String", # Link to the view (profile) to which this experiment belongs. This field is read-only.
-            "type": "analytics#profile", # Value is "analytics#profile". This field is read-only.
-          },
-          "endTime": "A String", # The ending time of the experiment (the time the status changed from RUNNING to ENDED). This field is present only if the experiment has ended. This field is read-only.
-          "selfLink": "A String", # Link for this experiment. This field is read-only.
-        },
-    ],
-    "itemsPerPage": 42, # The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
-    "previousLink": "A String", # Link to previous page for this experiment collection.
-    "startIndex": 42, # The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.
-    "nextLink": "A String", # Link to next page for this experiment collection.
-    "totalResults": 42, # The total number of results for the query, regardless of the number of resources in the result.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(accountId, webPropertyId, profileId, experimentId, body)</code>
-  <pre>Update an existing experiment. This method supports patch semantics.
-
-Args:
-  accountId: string, Account ID of the experiment to update. (required)
-  webPropertyId: string, Web property ID of the experiment to update. (required)
-  profileId: string, View (Profile) ID of the experiment to update. (required)
-  experimentId: string, Experiment ID of the experiment to update. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # JSON template for Analytics experiment resource.
-    "trafficCoverage": 3.14, # A floating-point number between 0 and 1. Specifies the fraction of the traffic that participates in the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.
-    "webPropertyId": "A String", # Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only.
-    "optimizationType": "A String", # Whether the objectiveMetric should be minimized or maximized. Possible values: "MAXIMUM", "MINIMUM". Optional--defaults to "MAXIMUM". Cannot be specified without objectiveMetric. Cannot be modified when status is "RUNNING" or "ENDED".
-    "objectiveMetric": "A String", # The metric that the experiment is optimizing. Valid values: "ga:goal(n)Completions", "ga:bounces", "ga:pageviews", "ga:timeOnSite", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
-    "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
-    "accountId": "A String", # Account ID to which this experiment belongs. This field is read-only.
-    "snippet": "A String", # The snippet of code to include on the control page(s). This field is read-only.
-    "editableInGaUi": "", # If true, the end user will be able to edit the experiment via the Google Analytics user interface.
-    "rewriteVariationUrlsAsOriginal": True or False, # Boolean specifying whether variations URLS are rewritten to match those of the original. This field may not be changed for an experiments whose status is ENDED.
-    "servingFramework": "", # The framework used to serve the experiment variations and evaluate the results. One of:
-        # - REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.
-        # - API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.
-        # - EXTERNAL: The variations will be served externally and the chosen variation reported to Google Analytics. The caller is responsible for serving the selected variation and evaluating the results.
-    "status": "A String", # Experiment status. Possible values: "DRAFT", "READY_TO_RUN", "RUNNING", "ENDED". Experiments can be created in the "DRAFT", "READY_TO_RUN" or "RUNNING" state. This field is required when creating an experiment.
-    "updated": "A String", # Time the experiment was last modified. This field is read-only.
-    "description": "A String", # Notes about this experiment.
-    "reasonExperimentEnded": "A String", # Why the experiment ended. Possible values: "STOPPED_BY_USER", "WINNER_FOUND", "EXPERIMENT_EXPIRED", "ENDED_WITH_NO_WINNER", "GOAL_OBJECTIVE_CHANGED". "ENDED_WITH_NO_WINNER" means that the experiment didn't expire but no winner was projected to be found. If the experiment status is changed via the API to ENDED this field is set to STOPPED_BY_USER. This field is read-only.
-    "internalWebPropertyId": "A String", # Internal ID for the web property to which this experiment belongs. This field is read-only.
-    "winnerConfidenceLevel": 3.14, # A floating-point number between 0 and 1. Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.
-    "startTime": "A String", # The starting time of the experiment (the time the status changed from READY_TO_RUN to RUNNING). This field is present only if the experiment has started. This field is read-only.
-    "winnerFound": True or False, # Boolean specifying whether a winner has been found for this experiment. This field is read-only.
-    "kind": "analytics#experiment", # Resource type for an Analytics experiment. This field is read-only.
-    "name": "A String", # Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.
-    "created": "A String", # Time the experiment was created. This field is read-only.
-    "variations": [ # Array of variations. The first variation in the array is the original. The number of variations may not change once an experiment is in the RUNNING state. At least two variations are required before status can be set to RUNNING.
-      {
-        "status": "A String", # Status of the variation. Possible values: "ACTIVE", "INACTIVE". INACTIVE variations are not served. This field may not be changed for an experiment whose status is ENDED.
-        "url": "A String", # The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED.
-        "won": True or False, # True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only.
-        "name": "A String", # The name of the variation. This field is required when creating an experiment. This field may not be changed for an experiment whose status is ENDED.
-        "weight": 3.14, # Weight that this variation should receive. Only present if the experiment is running. This field is read-only.
-      },
-    ],
-    "minimumExperimentLengthInDays": 42, # Specifies the minimum length of the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.
-    "profileId": "A String", # View (Profile) ID to which this experiment belongs. This field is read-only.
-    "parentLink": { # Parent link for an experiment. Points to the view (profile) to which this experiment belongs.
-      "href": "A String", # Link to the view (profile) to which this experiment belongs. This field is read-only.
-      "type": "analytics#profile", # Value is "analytics#profile". This field is read-only.
-    },
-    "endTime": "A String", # The ending time of the experiment (the time the status changed from RUNNING to ENDED). This field is present only if the experiment has ended. This field is read-only.
-    "selfLink": "A String", # Link for this experiment. This field is read-only.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # JSON template for Analytics experiment resource.
-      "trafficCoverage": 3.14, # A floating-point number between 0 and 1. Specifies the fraction of the traffic that participates in the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.
-      "webPropertyId": "A String", # Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only.
-      "optimizationType": "A String", # Whether the objectiveMetric should be minimized or maximized. Possible values: "MAXIMUM", "MINIMUM". Optional--defaults to "MAXIMUM". Cannot be specified without objectiveMetric. Cannot be modified when status is "RUNNING" or "ENDED".
-      "objectiveMetric": "A String", # The metric that the experiment is optimizing. Valid values: "ga:goal(n)Completions", "ga:bounces", "ga:pageviews", "ga:timeOnSite", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
-      "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
-      "accountId": "A String", # Account ID to which this experiment belongs. This field is read-only.
-      "snippet": "A String", # The snippet of code to include on the control page(s). This field is read-only.
-      "editableInGaUi": "", # If true, the end user will be able to edit the experiment via the Google Analytics user interface.
-      "rewriteVariationUrlsAsOriginal": True or False, # Boolean specifying whether variations URLS are rewritten to match those of the original. This field may not be changed for an experiments whose status is ENDED.
-      "servingFramework": "", # The framework used to serve the experiment variations and evaluate the results. One of:
-          # - REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.
-          # - API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.
-          # - EXTERNAL: The variations will be served externally and the chosen variation reported to Google Analytics. The caller is responsible for serving the selected variation and evaluating the results.
-      "status": "A String", # Experiment status. Possible values: "DRAFT", "READY_TO_RUN", "RUNNING", "ENDED". Experiments can be created in the "DRAFT", "READY_TO_RUN" or "RUNNING" state. This field is required when creating an experiment.
-      "updated": "A String", # Time the experiment was last modified. This field is read-only.
-      "description": "A String", # Notes about this experiment.
-      "reasonExperimentEnded": "A String", # Why the experiment ended. Possible values: "STOPPED_BY_USER", "WINNER_FOUND", "EXPERIMENT_EXPIRED", "ENDED_WITH_NO_WINNER", "GOAL_OBJECTIVE_CHANGED". "ENDED_WITH_NO_WINNER" means that the experiment didn't expire but no winner was projected to be found. If the experiment status is changed via the API to ENDED this field is set to STOPPED_BY_USER. This field is read-only.
-      "internalWebPropertyId": "A String", # Internal ID for the web property to which this experiment belongs. This field is read-only.
-      "winnerConfidenceLevel": 3.14, # A floating-point number between 0 and 1. Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.
-      "startTime": "A String", # The starting time of the experiment (the time the status changed from READY_TO_RUN to RUNNING). This field is present only if the experiment has started. This field is read-only.
-      "winnerFound": True or False, # Boolean specifying whether a winner has been found for this experiment. This field is read-only.
-      "kind": "analytics#experiment", # Resource type for an Analytics experiment. This field is read-only.
-      "name": "A String", # Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.
-      "created": "A String", # Time the experiment was created. This field is read-only.
-      "variations": [ # Array of variations. The first variation in the array is the original. The number of variations may not change once an experiment is in the RUNNING state. At least two variations are required before status can be set to RUNNING.
-        {
-          "status": "A String", # Status of the variation. Possible values: "ACTIVE", "INACTIVE". INACTIVE variations are not served. This field may not be changed for an experiment whose status is ENDED.
-          "url": "A String", # The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED.
-          "won": True or False, # True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only.
-          "name": "A String", # The name of the variation. This field is required when creating an experiment. This field may not be changed for an experiment whose status is ENDED.
-          "weight": 3.14, # Weight that this variation should receive. Only present if the experiment is running. This field is read-only.
-        },
-      ],
-      "minimumExperimentLengthInDays": 42, # Specifies the minimum length of the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.
-      "profileId": "A String", # View (Profile) ID to which this experiment belongs. This field is read-only.
-      "parentLink": { # Parent link for an experiment. Points to the view (profile) to which this experiment belongs.
-        "href": "A String", # Link to the view (profile) to which this experiment belongs. This field is read-only.
-        "type": "analytics#profile", # Value is "analytics#profile". This field is read-only.
-      },
-      "endTime": "A String", # The ending time of the experiment (the time the status changed from RUNNING to ENDED). This field is present only if the experiment has ended. This field is read-only.
-      "selfLink": "A String", # Link for this experiment. This field is read-only.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(accountId, webPropertyId, profileId, experimentId, body)</code>
-  <pre>Update an existing experiment.
-
-Args:
-  accountId: string, Account ID of the experiment to update. (required)
-  webPropertyId: string, Web property ID of the experiment to update. (required)
-  profileId: string, View (Profile) ID of the experiment to update. (required)
-  experimentId: string, Experiment ID of the experiment to update. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # JSON template for Analytics experiment resource.
-    "trafficCoverage": 3.14, # A floating-point number between 0 and 1. Specifies the fraction of the traffic that participates in the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.
-    "webPropertyId": "A String", # Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only.
-    "optimizationType": "A String", # Whether the objectiveMetric should be minimized or maximized. Possible values: "MAXIMUM", "MINIMUM". Optional--defaults to "MAXIMUM". Cannot be specified without objectiveMetric. Cannot be modified when status is "RUNNING" or "ENDED".
-    "objectiveMetric": "A String", # The metric that the experiment is optimizing. Valid values: "ga:goal(n)Completions", "ga:bounces", "ga:pageviews", "ga:timeOnSite", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
-    "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
-    "accountId": "A String", # Account ID to which this experiment belongs. This field is read-only.
-    "snippet": "A String", # The snippet of code to include on the control page(s). This field is read-only.
-    "editableInGaUi": "", # If true, the end user will be able to edit the experiment via the Google Analytics user interface.
-    "rewriteVariationUrlsAsOriginal": True or False, # Boolean specifying whether variations URLS are rewritten to match those of the original. This field may not be changed for an experiments whose status is ENDED.
-    "servingFramework": "", # The framework used to serve the experiment variations and evaluate the results. One of:
-        # - REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.
-        # - API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.
-        # - EXTERNAL: The variations will be served externally and the chosen variation reported to Google Analytics. The caller is responsible for serving the selected variation and evaluating the results.
-    "status": "A String", # Experiment status. Possible values: "DRAFT", "READY_TO_RUN", "RUNNING", "ENDED". Experiments can be created in the "DRAFT", "READY_TO_RUN" or "RUNNING" state. This field is required when creating an experiment.
-    "updated": "A String", # Time the experiment was last modified. This field is read-only.
-    "description": "A String", # Notes about this experiment.
-    "reasonExperimentEnded": "A String", # Why the experiment ended. Possible values: "STOPPED_BY_USER", "WINNER_FOUND", "EXPERIMENT_EXPIRED", "ENDED_WITH_NO_WINNER", "GOAL_OBJECTIVE_CHANGED". "ENDED_WITH_NO_WINNER" means that the experiment didn't expire but no winner was projected to be found. If the experiment status is changed via the API to ENDED this field is set to STOPPED_BY_USER. This field is read-only.
-    "internalWebPropertyId": "A String", # Internal ID for the web property to which this experiment belongs. This field is read-only.
-    "winnerConfidenceLevel": 3.14, # A floating-point number between 0 and 1. Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.
-    "startTime": "A String", # The starting time of the experiment (the time the status changed from READY_TO_RUN to RUNNING). This field is present only if the experiment has started. This field is read-only.
-    "winnerFound": True or False, # Boolean specifying whether a winner has been found for this experiment. This field is read-only.
-    "kind": "analytics#experiment", # Resource type for an Analytics experiment. This field is read-only.
-    "name": "A String", # Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.
-    "created": "A String", # Time the experiment was created. This field is read-only.
-    "variations": [ # Array of variations. The first variation in the array is the original. The number of variations may not change once an experiment is in the RUNNING state. At least two variations are required before status can be set to RUNNING.
-      {
-        "status": "A String", # Status of the variation. Possible values: "ACTIVE", "INACTIVE". INACTIVE variations are not served. This field may not be changed for an experiment whose status is ENDED.
-        "url": "A String", # The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED.
-        "won": True or False, # True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only.
-        "name": "A String", # The name of the variation. This field is required when creating an experiment. This field may not be changed for an experiment whose status is ENDED.
-        "weight": 3.14, # Weight that this variation should receive. Only present if the experiment is running. This field is read-only.
-      },
-    ],
-    "minimumExperimentLengthInDays": 42, # Specifies the minimum length of the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.
-    "profileId": "A String", # View (Profile) ID to which this experiment belongs. This field is read-only.
-    "parentLink": { # Parent link for an experiment. Points to the view (profile) to which this experiment belongs.
-      "href": "A String", # Link to the view (profile) to which this experiment belongs. This field is read-only.
-      "type": "analytics#profile", # Value is "analytics#profile". This field is read-only.
-    },
-    "endTime": "A String", # The ending time of the experiment (the time the status changed from RUNNING to ENDED). This field is present only if the experiment has ended. This field is read-only.
-    "selfLink": "A String", # Link for this experiment. This field is read-only.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # JSON template for Analytics experiment resource.
-      "trafficCoverage": 3.14, # A floating-point number between 0 and 1. Specifies the fraction of the traffic that participates in the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.
-      "webPropertyId": "A String", # Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only.
-      "optimizationType": "A String", # Whether the objectiveMetric should be minimized or maximized. Possible values: "MAXIMUM", "MINIMUM". Optional--defaults to "MAXIMUM". Cannot be specified without objectiveMetric. Cannot be modified when status is "RUNNING" or "ENDED".
-      "objectiveMetric": "A String", # The metric that the experiment is optimizing. Valid values: "ga:goal(n)Completions", "ga:bounces", "ga:pageviews", "ga:timeOnSite", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
-      "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
-      "accountId": "A String", # Account ID to which this experiment belongs. This field is read-only.
-      "snippet": "A String", # The snippet of code to include on the control page(s). This field is read-only.
-      "editableInGaUi": "", # If true, the end user will be able to edit the experiment via the Google Analytics user interface.
-      "rewriteVariationUrlsAsOriginal": True or False, # Boolean specifying whether variations URLS are rewritten to match those of the original. This field may not be changed for an experiments whose status is ENDED.
-      "servingFramework": "", # The framework used to serve the experiment variations and evaluate the results. One of:
-          # - REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.
-          # - API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.
-          # - EXTERNAL: The variations will be served externally and the chosen variation reported to Google Analytics. The caller is responsible for serving the selected variation and evaluating the results.
-      "status": "A String", # Experiment status. Possible values: "DRAFT", "READY_TO_RUN", "RUNNING", "ENDED". Experiments can be created in the "DRAFT", "READY_TO_RUN" or "RUNNING" state. This field is required when creating an experiment.
-      "updated": "A String", # Time the experiment was last modified. This field is read-only.
-      "description": "A String", # Notes about this experiment.
-      "reasonExperimentEnded": "A String", # Why the experiment ended. Possible values: "STOPPED_BY_USER", "WINNER_FOUND", "EXPERIMENT_EXPIRED", "ENDED_WITH_NO_WINNER", "GOAL_OBJECTIVE_CHANGED". "ENDED_WITH_NO_WINNER" means that the experiment didn't expire but no winner was projected to be found. If the experiment status is changed via the API to ENDED this field is set to STOPPED_BY_USER. This field is read-only.
-      "internalWebPropertyId": "A String", # Internal ID for the web property to which this experiment belongs. This field is read-only.
-      "winnerConfidenceLevel": 3.14, # A floating-point number between 0 and 1. Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.
-      "startTime": "A String", # The starting time of the experiment (the time the status changed from READY_TO_RUN to RUNNING). This field is present only if the experiment has started. This field is read-only.
-      "winnerFound": True or False, # Boolean specifying whether a winner has been found for this experiment. This field is read-only.
-      "kind": "analytics#experiment", # Resource type for an Analytics experiment. This field is read-only.
-      "name": "A String", # Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.
-      "created": "A String", # Time the experiment was created. This field is read-only.
-      "variations": [ # Array of variations. The first variation in the array is the original. The number of variations may not change once an experiment is in the RUNNING state. At least two variations are required before status can be set to RUNNING.
-        {
-          "status": "A String", # Status of the variation. Possible values: "ACTIVE", "INACTIVE". INACTIVE variations are not served. This field may not be changed for an experiment whose status is ENDED.
-          "url": "A String", # The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED.
-          "won": True or False, # True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only.
-          "name": "A String", # The name of the variation. This field is required when creating an experiment. This field may not be changed for an experiment whose status is ENDED.
-          "weight": 3.14, # Weight that this variation should receive. Only present if the experiment is running. This field is read-only.
-        },
-      ],
-      "minimumExperimentLengthInDays": 42, # Specifies the minimum length of the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.
-      "profileId": "A String", # View (Profile) ID to which this experiment belongs. This field is read-only.
-      "parentLink": { # Parent link for an experiment. Points to the view (profile) to which this experiment belongs.
-        "href": "A String", # Link to the view (profile) to which this experiment belongs. This field is read-only.
-        "type": "analytics#profile", # Value is "analytics#profile". This field is read-only.
-      },
-      "endTime": "A String", # The ending time of the experiment (the time the status changed from RUNNING to ENDED). This field is present only if the experiment has ended. This field is read-only.
-      "selfLink": "A String", # Link for this experiment. This field is read-only.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.goals.html b/docs/dyn/analytics_v3.management.goals.html
deleted file mode 100644
index ff0e1e2..0000000
--- a/docs/dyn/analytics_v3.management.goals.html
+++ /dev/null
@@ -1,160 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.management.html">management</a> . <a href="analytics_v3.management.goals.html">goals</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, webPropertyId, profileId, max_results=None, start_index=None)</a></code></p>
-<p class="firstline">Lists goals to which the user has access.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(accountId, webPropertyId, profileId, max_results=None, start_index=None)</code>
-  <pre>Lists goals to which the user has access.
-
-Args:
-  accountId: string, Account ID to retrieve goals for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to. (required)
-  webPropertyId: string, Web property ID to retrieve goals for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to. (required)
-  profileId: string, View (Profile) ID to retrieve goals for. Can either be a specific view (profile) ID or '~all', which refers to all the views (profiles) that user has access to. (required)
-  max_results: integer, The maximum number of goals to include in this response.
-  start_index: integer, An index of the first goal to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
-
-Returns:
-  An object of the form:
-
-    { # A goal collection lists Analytics goals to which the user has access. Each view (profile) can have a set of goals. Each resource in the Goal collection corresponds to a single Analytics goal.
-    "username": "A String", # Email ID of the authenticated user
-    "kind": "analytics#goals", # Collection type.
-    "items": [ # A list of goals.
-      { # JSON template for Analytics goal resource.
-        "kind": "analytics#goal", # Resource type for an Analytics goal.
-        "visitTimeOnSiteDetails": { # Details for the goal of the type VISIT_TIME_ON_SITE.
-          "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
-          "comparisonValue": "A String", # Value used for this comparison.
-        },
-        "name": "A String", # Goal name.
-        "created": "A String", # Time this goal was created.
-        "urlDestinationDetails": { # Details for the goal of the type URL_DESTINATION.
-          "url": "A String", # URL for this goal.
-          "caseSensitive": True or False, # Determines if the goal URL must exactly match the capitalization of visited URLs.
-          "matchType": "A String", # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.
-          "steps": [ # List of steps configured for this goal funnel.
-            {
-              "url": "A String", # URL for this step.
-              "name": "A String", # Step name.
-              "number": 42, # Step number.
-            },
-          ],
-          "firstStepRequired": True or False, # Determines if the first step in this goal is required.
-        },
-        "updated": "A String", # Time this goal was last modified.
-        "value": 3.14, # Goal value.
-        "visitNumPagesDetails": { # Details for the goal of the type VISIT_NUM_PAGES.
-          "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.
-          "comparisonValue": "A String", # Value used for this comparison.
-        },
-        "internalWebPropertyId": "A String", # Internal ID for the web property to which this goal belongs.
-        "eventDetails": { # Details for the goal of the type EVENT.
-          "eventConditions": [ # List of event conditions.
-            {
-              "type": "A String", # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.
-              "matchType": "A String", # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.
-              "expression": "A String", # Expression used for this match.
-              "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.
-              "comparisonValue": "A String", # Value used for this comparison.
-            },
-          ],
-          "useEventValue": True or False, # Determines if the event value should be used as the value for this goal.
-        },
-        "webPropertyId": "A String", # Web property ID to which this goal belongs. The web property ID is of the form UA-XXXXX-YY.
-        "active": True or False, # Determines whether this goal is active.
-        "profileId": "A String", # View (Profile) ID to which this goal belongs.
-        "parentLink": { # Parent link for a goal. Points to the view (profile) to which this goal belongs.
-          "href": "A String", # Link to the view (profile) to which this goal belongs.
-          "type": "analytics#profile", # Value is "analytics#profile".
-        },
-        "type": "A String", # Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE, VISIT_NUM_PAGES, AND EVENT.
-        "id": "A String", # Goal ID.
-        "selfLink": "A String", # Link for this goal.
-        "accountId": "A String", # Account ID to which this goal belongs.
-      },
-    ],
-    "itemsPerPage": 42, # The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
-    "previousLink": "A String", # Link to previous page for this goal collection.
-    "startIndex": 42, # The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.
-    "nextLink": "A String", # Link to next page for this goal collection.
-    "totalResults": 42, # The total number of results for the query, regardless of the number of resources in the result.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.html b/docs/dyn/analytics_v3.management.html
deleted file mode 100644
index b285f71..0000000
--- a/docs/dyn/analytics_v3.management.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.management.html">management</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="analytics_v3.management.accounts.html">accounts()</a></code>
-</p>
-<p class="firstline">Returns the accounts Resource.</p>
-
-<p class="toc_element">
-  <code><a href="analytics_v3.management.customDataSources.html">customDataSources()</a></code>
-</p>
-<p class="firstline">Returns the customDataSources Resource.</p>
-
-<p class="toc_element">
-  <code><a href="analytics_v3.management.dailyUploads.html">dailyUploads()</a></code>
-</p>
-<p class="firstline">Returns the dailyUploads Resource.</p>
-
-<p class="toc_element">
-  <code><a href="analytics_v3.management.experiments.html">experiments()</a></code>
-</p>
-<p class="firstline">Returns the experiments Resource.</p>
-
-<p class="toc_element">
-  <code><a href="analytics_v3.management.goals.html">goals()</a></code>
-</p>
-<p class="firstline">Returns the goals Resource.</p>
-
-<p class="toc_element">
-  <code><a href="analytics_v3.management.profiles.html">profiles()</a></code>
-</p>
-<p class="firstline">Returns the profiles Resource.</p>
-
-<p class="toc_element">
-  <code><a href="analytics_v3.management.segments.html">segments()</a></code>
-</p>
-<p class="firstline">Returns the segments Resource.</p>
-
-<p class="toc_element">
-  <code><a href="analytics_v3.management.webproperties.html">webproperties()</a></code>
-</p>
-<p class="firstline">Returns the webproperties Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.profiles.html b/docs/dyn/analytics_v3.management.profiles.html
deleted file mode 100644
index 9891fed..0000000
--- a/docs/dyn/analytics_v3.management.profiles.html
+++ /dev/null
@@ -1,135 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.management.html">management</a> . <a href="analytics_v3.management.profiles.html">profiles</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, webPropertyId, max_results=None, start_index=None)</a></code></p>
-<p class="firstline">Lists views (profiles) to which the user has access.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(accountId, webPropertyId, max_results=None, start_index=None)</code>
-  <pre>Lists views (profiles) to which the user has access.
-
-Args:
-  accountId: string, Account ID for the view (profiles) to retrieve. Can either be a specific account ID or '~all', which refers to all the accounts to which the user has access. (required)
-  webPropertyId: string, Web property ID for the views (profiles) to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties to which the user has access. (required)
-  max_results: integer, The maximum number of views (profiles) to include in this response.
-  start_index: integer, An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
-
-Returns:
-  An object of the form:
-
-    { # A view (profile) collection lists Analytics views (profiles) to which the user has access. Each resource in the collection corresponds to a single Analytics view (profile).
-    "username": "A String", # Email ID of the authenticated user
-    "kind": "analytics#profiles", # Collection type.
-    "items": [ # A list of views (profiles).
-      { # JSON template for an Analytics view (profile).
-        "defaultPage": "A String", # Default page for this view (profile).
-        "kind": "analytics#profile", # Resource type for Analytics profile.
-        "excludeQueryParameters": "A String", # The query parameters that are excluded from this view (profile).
-        "name": "A String", # Name of this view (profile).
-        "created": "A String", # Time this view (profile) was created.
-        "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
-        "updated": "A String", # Time this view (profile) was last modified.
-        "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile).
-        "websiteUrl": "A String", # Website URL for this view (profile).
-        "currency": "A String", # The currency type associated with this view (profile).
-        "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
-        "childLink": { # Child link for this view (profile). Points to the list of goals for this view (profile).
-          "href": "A String", # Link to the list of goals for this view (profile).
-          "type": "analytics#goals", # Value is "analytics#goals".
-        },
-        "eCommerceTracking": True or False, # Indicates whether ecommerce tracking is enabled for this view (profile).
-        "timezone": "A String", # Time zone for which this profile has been configured.
-        "siteSearchCategoryParameters": "A String", # Site search category parameters for this view (profile).
-        "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs.
-          "href": "A String", # Link to the web property to which this view (profile) belongs.
-          "type": "analytics#webproperty", # Value is "analytics#webproperty".
-        },
-        "type": "A String", # View (Profile) type. Supported types: WEB or APP.
-        "id": "A String", # View (Profile) ID.
-        "selfLink": "A String", # Link for this view (profile).
-        "accountId": "A String", # Account ID to which this view (profile) belongs.
-      },
-    ],
-    "itemsPerPage": 42, # The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
-    "previousLink": "A String", # Link to previous page for this view (profile) collection.
-    "startIndex": 42, # The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.
-    "nextLink": "A String", # Link to next page for this view (profile) collection.
-    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.segments.html b/docs/dyn/analytics_v3.management.segments.html
deleted file mode 100644
index 8f2db69..0000000
--- a/docs/dyn/analytics_v3.management.segments.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.management.html">management</a> . <a href="analytics_v3.management.segments.html">segments</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(max_results=None, start_index=None)</a></code></p>
-<p class="firstline">Lists advanced segments to which the user has access.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(max_results=None, start_index=None)</code>
-  <pre>Lists advanced segments to which the user has access.
-
-Args:
-  max_results: integer, The maximum number of advanced segments to include in this response.
-  start_index: integer, An index of the first advanced segment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
-
-Returns:
-  An object of the form:
-
-    { # An advanced segment collection lists Analytics advanced segments that the user has access to. Each resource in the collection corresponds to a single Analytics advanced segment.
-    "username": "A String", # Email ID of the authenticated user
-    "kind": "analytics#segments", # Collection type for advanced segments.
-    "items": [ # A list of advanced segments.
-      { # JSON template for an Analytics advanced segment.
-        "definition": "A String", # Advanced segment definition.
-        "kind": "analytics#segment", # Resource type for Analytics advanced segment.
-        "segmentId": "A String", # Segment ID. Can be used with the 'segment' parameter in Data Feed.
-        "created": "A String", # Time the advanced segment was created.
-        "updated": "A String", # Time the advanced segment was last modified.
-        "id": "A String", # Advanced segment ID.
-        "selfLink": "A String", # Link for this advanced segment.
-        "name": "A String", # Advanced segment name.
-      },
-    ],
-    "itemsPerPage": 42, # The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
-    "previousLink": "A String", # Link to previous page for this advanced segment collection.
-    "startIndex": 42, # The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.
-    "nextLink": "A String", # Link to next page for this advanced segment collection.
-    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.webproperties.html b/docs/dyn/analytics_v3.management.webproperties.html
deleted file mode 100644
index 1ed414e..0000000
--- a/docs/dyn/analytics_v3.management.webproperties.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.management.html">management</a> . <a href="analytics_v3.management.webproperties.html">webproperties</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(accountId, max_results=None, start_index=None)</a></code></p>
-<p class="firstline">Lists web properties to which the user has access.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(accountId, max_results=None, start_index=None)</code>
-  <pre>Lists web properties to which the user has access.
-
-Args:
-  accountId: string, Account ID to retrieve web properties for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to. (required)
-  max_results: integer, The maximum number of web properties to include in this response.
-  start_index: integer, An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
-
-Returns:
-  An object of the form:
-
-    { # A web property collection lists Analytics web properties to which the user has access. Each resource in the collection corresponds to a single Analytics web property.
-    "username": "A String", # Email ID of the authenticated user
-    "kind": "analytics#webproperties", # Collection type.
-    "items": [ # A list of web properties.
-      { # JSON template for an Analytics web property.
-        "websiteUrl": "A String", # Website url for this web property.
-        "kind": "analytics#webproperty", # Resource type for Analytics WebProperty.
-        "name": "A String", # Name of this web property.
-        "created": "A String", # Time this web property was created.
-        "level": "A String", # Level for this web property. Possible values are STANDARD or PREMIUM.
-        "updated": "A String", # Time this web property was last modified.
-        "profileCount": 42, # View (Profile) count for this web property.
-        "internalWebPropertyId": "A String", # Internal ID for this web property.
-        "childLink": { # Child link for this web property. Points to the list of views (profiles) for this web property.
-          "href": "A String", # Link to the list of views (profiles) for this web property.
-          "type": "analytics#profiles", # Type of the parent link. Its value is "analytics#profiles".
-        },
-        "industryVertical": "A String", # The industry vertical/category selected for this web property.
-        "parentLink": { # Parent link for this web property. Points to the account to which this web property belongs.
-          "href": "A String", # Link to the account for this web property.
-          "type": "analytics#account", # Type of the parent link. Its value is "analytics#account".
-        },
-        "id": "A String", # Web property ID of the form UA-XXXXX-YY.
-        "selfLink": "A String", # Link for this web property.
-        "accountId": "A String", # Account ID to which this web property belongs.
-      },
-    ],
-    "itemsPerPage": 42, # The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
-    "previousLink": "A String", # Link to previous page for this web property collection.
-    "startIndex": 42, # The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.
-    "nextLink": "A String", # Link to next page for this web property collection.
-    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/androidpublisher_v1.html b/docs/dyn/androidpublisher_v1.html
deleted file mode 100644
index 376f428..0000000
--- a/docs/dyn/androidpublisher_v1.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="androidpublisher_v1.html">Google Play Android Developer API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="androidpublisher_v1.purchases.html">purchases()</a></code>
-</p>
-<p class="firstline">Returns the purchases Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/androidpublisher_v1.purchases.html b/docs/dyn/androidpublisher_v1.purchases.html
deleted file mode 100644
index f791d79..0000000
--- a/docs/dyn/androidpublisher_v1.purchases.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="androidpublisher_v1.html">Google Play Android Developer API</a> . <a href="androidpublisher_v1.purchases.html">purchases</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#cancel">cancel(packageName, subscriptionId, token)</a></code></p>
-<p class="firstline">Cancels a user's subscription purchase. The subscription remains valid until its expiration time.</p>
-<p class="toc_element">
-  <code><a href="#get">get(packageName, subscriptionId, token)</a></code></p>
-<p class="firstline">Checks whether a user's subscription purchase is valid and returns its expiry time.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="cancel">cancel(packageName, subscriptionId, token)</code>
-  <pre>Cancels a user's subscription purchase. The subscription remains valid until its expiration time.
-
-Args:
-  packageName: string, The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). (required)
-  subscriptionId: string, The purchased subscription ID (for example, 'monthly001'). (required)
-  token: string, The token provided to the user's device when the subscription was purchased. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(packageName, subscriptionId, token)</code>
-  <pre>Checks whether a user's subscription purchase is valid and returns its expiry time.
-
-Args:
-  packageName: string, The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). (required)
-  subscriptionId: string, The purchased subscription ID (for example, 'monthly001'). (required)
-  token: string, The token provided to the user's device when the subscription was purchased. (required)
-
-Returns:
-  An object of the form:
-
-    { # A Purchase resource indicates the status of a user's subscription purchase.
-    "initiationTimestampMsec": "A String", # Time at which the subscription was granted, in milliseconds since Epoch.
-    "kind": "androidpublisher#subscriptionPurchase", # This kind represents a subscriptionPurchase object in the androidpublisher service.
-    "autoRenewing": True or False, # Whether the subscription will automatically be renewed when it reaches its current expiry time.
-    "validUntilTimestampMsec": "A String", # Time at which the subscription will expire, in milliseconds since Epoch.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/androidpublisher_v1_1.html b/docs/dyn/androidpublisher_v1_1.html
deleted file mode 100644
index adf06a6..0000000
--- a/docs/dyn/androidpublisher_v1_1.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="androidpublisher_v1_1.html">Google Play Android Developer API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="androidpublisher_v1_1.inapppurchases.html">inapppurchases()</a></code>
-</p>
-<p class="firstline">Returns the inapppurchases Resource.</p>
-
-<p class="toc_element">
-  <code><a href="androidpublisher_v1_1.purchases.html">purchases()</a></code>
-</p>
-<p class="firstline">Returns the purchases Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/androidpublisher_v1_1.inapppurchases.html b/docs/dyn/androidpublisher_v1_1.inapppurchases.html
deleted file mode 100644
index e358f3c..0000000
--- a/docs/dyn/androidpublisher_v1_1.inapppurchases.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="androidpublisher_v1_1.html">Google Play Android Developer API</a> . <a href="androidpublisher_v1_1.inapppurchases.html">inapppurchases</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(packageName, productId, token)</a></code></p>
-<p class="firstline">Checks the purchase and consumption status of an inapp item.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(packageName, productId, token)</code>
-  <pre>Checks the purchase and consumption status of an inapp item.
-
-Args:
-  packageName: string, The package name of the application the inapp product was sold in (for example, 'com.some.thing'). (required)
-  productId: string, The inapp product SKU (for example, 'com.some.thing.inapp1'). (required)
-  token: string, The token provided to the user's device when the inapp product was purchased. (required)
-
-Returns:
-  An object of the form:
-
-    { # A Purchase resource indicates the status of a user's subscription purchase.
-    "consumptionState": 42, # The consumption state of the inapp product. Possible values are:
-        # - - Consumed
-        # - - Yet to be consumed
-    "developerPayload": "A String", # A developer-specified string that contains supplemental information about an order.
-    "kind": "androidpublisher#inappPurchase", # This kind represents a inappPurchase object in the androidpublisher service.
-    "purchaseTime": "A String", # The time the product was purchased, in milliseconds since the epoch (Jan 1, 1970).
-    "purchaseState": 42, # The purchase state of the order. Possible values are:
-        # - - Purchased
-        # - - Cancelled
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/androidpublisher_v1_1.purchases.html b/docs/dyn/androidpublisher_v1_1.purchases.html
deleted file mode 100644
index f556adc..0000000
--- a/docs/dyn/androidpublisher_v1_1.purchases.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="androidpublisher_v1_1.html">Google Play Android Developer API</a> . <a href="androidpublisher_v1_1.purchases.html">purchases</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#cancel">cancel(packageName, subscriptionId, token)</a></code></p>
-<p class="firstline">Cancels a user's subscription purchase. The subscription remains valid until its expiration time.</p>
-<p class="toc_element">
-  <code><a href="#get">get(packageName, subscriptionId, token)</a></code></p>
-<p class="firstline">Checks whether a user's subscription purchase is valid and returns its expiry time.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="cancel">cancel(packageName, subscriptionId, token)</code>
-  <pre>Cancels a user's subscription purchase. The subscription remains valid until its expiration time.
-
-Args:
-  packageName: string, The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). (required)
-  subscriptionId: string, The purchased subscription ID (for example, 'monthly001'). (required)
-  token: string, The token provided to the user's device when the subscription was purchased. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(packageName, subscriptionId, token)</code>
-  <pre>Checks whether a user's subscription purchase is valid and returns its expiry time.
-
-Args:
-  packageName: string, The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). (required)
-  subscriptionId: string, The purchased subscription ID (for example, 'monthly001'). (required)
-  token: string, The token provided to the user's device when the subscription was purchased. (required)
-
-Returns:
-  An object of the form:
-
-    { # A Purchase resource indicates the status of a user's subscription purchase.
-    "initiationTimestampMsec": "A String", # Time at which the subscription was granted, in milliseconds since Epoch.
-    "kind": "androidpublisher#subscriptionPurchase", # This kind represents a subscriptionPurchase object in the androidpublisher service.
-    "autoRenewing": True or False, # Whether the subscription will automatically be renewed when it reaches its current expiry time.
-    "validUntilTimestampMsec": "A String", # Time at which the subscription will expire, in milliseconds since Epoch.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/appstate_v1.html b/docs/dyn/appstate_v1.html
deleted file mode 100644
index 37445e5..0000000
--- a/docs/dyn/appstate_v1.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="appstate_v1.html">Google App State API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="appstate_v1.states.html">states()</a></code>
-</p>
-<p class="firstline">Returns the states Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/appstate_v1.states.html b/docs/dyn/appstate_v1.states.html
deleted file mode 100644
index 62656aa..0000000
--- a/docs/dyn/appstate_v1.states.html
+++ /dev/null
@@ -1,188 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="appstate_v1.html">Google App State API</a> . <a href="appstate_v1.states.html">states</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#clear">clear(stateKey, currentDataVersion=None)</a></code></p>
-<p class="firstline">Clears (sets to empty) the data for the passed key if and only if the passed version matches the currently stored version. This method results in a conflict error on version mismatch.</p>
-<p class="toc_element">
-  <code><a href="#delete">delete(stateKey)</a></code></p>
-<p class="firstline">Deletes a key and the data associated with it. The key is removed and no longer counts against the key quota. Note that since this method is not safe in the face of concurrent modifications, it should only be used for development and testing purposes. Invoking this method in shipping code can result in data loss and data corruption.</p>
-<p class="toc_element">
-  <code><a href="#get">get(stateKey)</a></code></p>
-<p class="firstline">Retrieves the data corresponding to the passed key.</p>
-<p class="toc_element">
-  <code><a href="#list">list(includeData=None)</a></code></p>
-<p class="firstline">Lists all the states keys, and optionally the state data.</p>
-<p class="toc_element">
-  <code><a href="#update">update(stateKey, body, currentStateVersion=None)</a></code></p>
-<p class="firstline">Update the data associated with the input key if and only if the passed version matches the currently stored version. This method is safe in the face of concurrent writes. Maximum per-key size is 128KB.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="clear">clear(stateKey, currentDataVersion=None)</code>
-  <pre>Clears (sets to empty) the data for the passed key if and only if the passed version matches the currently stored version. This method results in a conflict error on version mismatch.
-
-Args:
-  stateKey: integer, The key for the data to be retrieved. (required)
-  currentDataVersion: string, The version of the data to be cleared. Version strings are returned by the server.
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for an app state write result.
-    "kind": "appstate#writeResult", # Uniquely identifies the type of this resource. Value is always the fixed string appstate#writeResult.
-    "stateKey": 42, # The written key.
-    "currentStateVersion": "A String", # The version of the data for this key on the server.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(stateKey)</code>
-  <pre>Deletes a key and the data associated with it. The key is removed and no longer counts against the key quota. Note that since this method is not safe in the face of concurrent modifications, it should only be used for development and testing purposes. Invoking this method in shipping code can result in data loss and data corruption.
-
-Args:
-  stateKey: integer, The key for the data to be retrieved. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(stateKey)</code>
-  <pre>Retrieves the data corresponding to the passed key.
-
-Args:
-  stateKey: integer, The key for the data to be retrieved. (required)
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for an app state resource.
-    "stateKey": 42, # The key for the data.
-    "kind": "appstate#getResponse", # Uniquely identifies the type of this resource. Value is always the fixed string appstate#getResponse.
-    "data": "A String", # The requested data.
-    "currentStateVersion": "A String", # The current app state version.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(includeData=None)</code>
-  <pre>Lists all the states keys, and optionally the state data.
-
-Args:
-  includeData: boolean, Whether to include the full data in addition to the version number
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template to convert a list-response for app state.
-    "items": [ # The app state data.
-      { # This is a JSON template for an app state resource.
-        "stateKey": 42, # The key for the data.
-        "kind": "appstate#getResponse", # Uniquely identifies the type of this resource. Value is always the fixed string appstate#getResponse.
-        "data": "A String", # The requested data.
-        "currentStateVersion": "A String", # The current app state version.
-      },
-    ],
-    "kind": "appstate#listResponse", # Uniquely identifies the type of this resource. Value is always the fixed string appstate#listResponse.
-    "maximumKeyCount": 42, # The maximum number of keys allowed for this user.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(stateKey, body, currentStateVersion=None)</code>
-  <pre>Update the data associated with the input key if and only if the passed version matches the currently stored version. This method is safe in the face of concurrent writes. Maximum per-key size is 128KB.
-
-Args:
-  stateKey: integer, The key for the data to be retrieved. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # This is a JSON template for a requests which update app state
-    "kind": "appstate#updateRequest", # Uniquely identifies the type of this resource. Value is always the fixed string appstate#updateRequest.
-    "data": "A String", # The new app state data that your application is trying to update with.
-  }
-
-  currentStateVersion: string, The version of the app state your application is attempting to update. If this does not match the current version, this method will return a conflict error. If there is no data stored on the server for this key, the update will succeed irrespective of the value of this parameter.
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for an app state write result.
-    "kind": "appstate#writeResult", # Uniquely identifies the type of this resource. Value is always the fixed string appstate#writeResult.
-    "stateKey": 42, # The written key.
-    "currentStateVersion": "A String", # The version of the data for this key on the server.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/audit_v1.activities.html b/docs/dyn/audit_v1.activities.html
deleted file mode 100644
index a869ae5..0000000
--- a/docs/dyn/audit_v1.activities.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="audit_v1.html">Enterprise Audit API</a> . <a href="audit_v1.activities.html">activities</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(customerId, applicationId, caller=None, startTime=None, actorIpAddress=None, eventName=None, actorApplicationId=None, continuationToken=None, maxResults=None, actorEmail=None, endTime=None)</a></code></p>
-<p class="firstline">Retrieves a list of activities for a specific customer and application.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(customerId, applicationId, caller=None, startTime=None, actorIpAddress=None, eventName=None, actorApplicationId=None, continuationToken=None, maxResults=None, actorEmail=None, endTime=None)</code>
-  <pre>Retrieves a list of activities for a specific customer and application.
-
-Args:
-  customerId: string, Represents the customer who is the owner of target object on which action was performed. (required)
-  applicationId: string, Application ID of the application on which the event was performed. (required)
-  caller: string, Type of the caller.
-    Allowed values
-      application_owner - Caller is an application owner.
-      customer - Caller is a customer.
-  startTime: string, Return events which occured at or after this time.
-  actorIpAddress: string, IP Address of host where the event was performed. Supports both IPv4 and IPv6 addresses.
-  eventName: string, Name of the event being queried.
-  actorApplicationId: string, Application ID of the application which interacted on behalf of the user while performing the event.
-  continuationToken: string, Next page URL.
-  maxResults: integer, Number of activity records to be shown in each page.
-  actorEmail: string, Email address of the user who performed the action.
-  endTime: string, Return events which occured at or before this time.
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # Each record in read response.
-      {
-        "kind": "audit#activity", # Kind of resource this is.
-        "ownerDomain": "A String", # Domain of source customer.
-        "actor": { # User doing the action.
-          "applicationId": "A String", # ID of application which interacted on behalf of the user.
-          "email": "A String", # Email address of the user.
-          "key": "A String", # For OAuth 2LO API requests, consumer_key of the requestor.
-          "callerType": "A String", # User or OAuth 2LO request.
-        },
-        "id": { # Unique identifier for each activity record.
-          "uniqQualifier": "A String", # Unique qualifier if multiple events have the same time.
-          "applicationId": "A String", # Application ID of the source application.
-          "customerId": "A String", # Obfuscated customer ID of the source customer.
-          "time": "A String", # Time of occurrence of the activity.
-        },
-        "ipAddress": "A String", # IP Address of the user doing the action.
-        "events": [ # Activity events.
-          {
-            "eventType": "A String", # Type of event.
-            "name": "A String", # Name of event.
-            "parameters": [ # Event parameters.
-              {
-                "name": "A String", # Name of the parameter.
-                "value": "A String", # Value of the parameter.
-              },
-            ],
-          },
-        ],
-      },
-    ],
-    "kind": "audit#activities", # Kind of list response this is.
-    "next": "A String", # Next page URL.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/audit_v1.html b/docs/dyn/audit_v1.html
deleted file mode 100644
index 13aa956..0000000
--- a/docs/dyn/audit_v1.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="audit_v1.html">Enterprise Audit API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="audit_v1.activities.html">activities()</a></code>
-</p>
-<p class="firstline">Returns the activities Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/bigquery_v2.datasets.html b/docs/dyn/bigquery_v2.datasets.html
deleted file mode 100644
index f188188..0000000
--- a/docs/dyn/bigquery_v2.datasets.html
+++ /dev/null
@@ -1,406 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="bigquery_v2.html">BigQuery API</a> . <a href="bigquery_v2.datasets.html">datasets</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(projectId, datasetId, deleteContents=None)</a></code></p>
-<p class="firstline">Deletes the dataset specified by datasetId value. Before you can delete a dataset, you must delete all its tables, either manually or by specifying deleteContents. Immediately after deletion, you can create another dataset with the same name.</p>
-<p class="toc_element">
-  <code><a href="#get">get(projectId, datasetId)</a></code></p>
-<p class="firstline">Returns the dataset specified by datasetID.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(projectId, body)</a></code></p>
-<p class="firstline">Creates a new empty dataset.</p>
-<p class="toc_element">
-  <code><a href="#list">list(projectId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Lists all the datasets in the specified project to which the caller has read access; however, a project owner can list (but not necessarily get) all datasets in his project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(projectId, datasetId, body)</a></code></p>
-<p class="firstline">Updates information in an existing dataset, specified by datasetId. Properties not included in the submitted resource will not be changed. If you include the access property without any values assigned, the request will fail as you must specify at least one owner for a dataset. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(projectId, datasetId, body)</a></code></p>
-<p class="firstline">Updates information in an existing dataset, specified by datasetId. Properties not included in the submitted resource will not be changed. If you include the access property without any values assigned, the request will fail as you must specify at least one owner for a dataset.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(projectId, datasetId, deleteContents=None)</code>
-  <pre>Deletes the dataset specified by datasetId value. Before you can delete a dataset, you must delete all its tables, either manually or by specifying deleteContents. Immediately after deletion, you can create another dataset with the same name.
-
-Args:
-  projectId: string, Project ID of the dataset being deleted (required)
-  datasetId: string, Dataset ID of dataset being deleted (required)
-  deleteContents: boolean, If True, delete all the tables in the dataset. If False and the dataset contains tables, the request will fail. Default is False
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(projectId, datasetId)</code>
-  <pre>Returns the dataset specified by datasetID.
-
-Args:
-  projectId: string, Project ID of the requested dataset (required)
-  datasetId: string, Dataset ID of the requested dataset (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "bigquery#dataset", # [Output-only] The resource type.
-      "description": "A String", # [Optional] A user-friendly string description for the dataset. This might be shown in BigQuery UI for browsing the dataset.
-      "datasetReference": { # [Required] Reference identifying dataset.
-        "projectId": "A String", # [Optional] The ID of the container project.
-        "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
-      },
-      "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
-      "access": [ # [Optional] Describes users' rights on the dataset. You can assign the same role to multiple users, and assign multiple roles to the same user.
-          # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READER - Project readers WRITER - Project writers
-          # See ACLs and Rights for a description of these rights. If you specify any of these roles when creating a dataset, the assigned roles will overwrite the defaults listed above.
-          # To revoke rights to a dataset, call datasets.update() and omit the names of anyone whose rights you wish to revoke. However, every dataset must have at least one entity granted OWNER role.
-          # Each access object can have only one of the following members: userByEmail, groupByEmail, domain, or allAuthenticatedUsers.
-        {
-          "specialGroup": "A String", # [Pick one] A special group to grant access to. The valid values are: projectOwners: Owners of the enclosing project. projectReaders: Readers of the enclosing project. projectWriters: Writers of the enclosing project. allAuthenticatedUsers: All authenticated BigQuery users.
-          "domain": "A String", # [Pick one] A domain to grant access to. Any users signed in with the domain specified will be granted the specified access. Example: "example.com".
-          "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER - User can call any list() or get() method on any collection or resource. WRITER - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
-          "groupByEmail": "A String", # [Pick one] A fully-qualified email address of a mailing list to grant access to. This must be either a Google Groups mailing list (ends in @googlegroups.com) or a group managed by an enterprise version of Google Groups.
-          "userByEmail": "A String", # [Pick one] A fully qualified email address of a user to grant access to. For example: fred@example.com.
-        },
-      ],
-      "etag": "A String", # [Output-only] A hash of this resource.
-      "friendlyName": "A String", # [Optional] A descriptive name for this dataset, which might be shown in any BigQuery user interfaces for browsing the dataset. Use datasetId for making API calls.
-      "lastModifiedTime": "A String", # [Output-only] The date when this dataset or any of its tables was last modified, in milliseconds since the epoch.
-      "id": "A String", # [Output-only] The fully-qualified unique name of this dataset in the format projectId:datasetId. The dataset name without the project name is given in the datasetId field. When creating a new dataset, leave this field blank, and instead specify the datasetId field.
-      "selfLink": "A String", # [Output-only] An URL that can be used to access this resource again. You can use this URL in Get or Update requests to this resource.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(projectId, body)</code>
-  <pre>Creates a new empty dataset.
-
-Args:
-  projectId: string, Project ID of the new dataset (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "bigquery#dataset", # [Output-only] The resource type.
-    "description": "A String", # [Optional] A user-friendly string description for the dataset. This might be shown in BigQuery UI for browsing the dataset.
-    "datasetReference": { # [Required] Reference identifying dataset.
-      "projectId": "A String", # [Optional] The ID of the container project.
-      "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
-    },
-    "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
-    "access": [ # [Optional] Describes users' rights on the dataset. You can assign the same role to multiple users, and assign multiple roles to the same user.
-        # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READER - Project readers WRITER - Project writers
-        # See ACLs and Rights for a description of these rights. If you specify any of these roles when creating a dataset, the assigned roles will overwrite the defaults listed above.
-        # To revoke rights to a dataset, call datasets.update() and omit the names of anyone whose rights you wish to revoke. However, every dataset must have at least one entity granted OWNER role.
-        # Each access object can have only one of the following members: userByEmail, groupByEmail, domain, or allAuthenticatedUsers.
-      {
-        "specialGroup": "A String", # [Pick one] A special group to grant access to. The valid values are: projectOwners: Owners of the enclosing project. projectReaders: Readers of the enclosing project. projectWriters: Writers of the enclosing project. allAuthenticatedUsers: All authenticated BigQuery users.
-        "domain": "A String", # [Pick one] A domain to grant access to. Any users signed in with the domain specified will be granted the specified access. Example: "example.com".
-        "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER - User can call any list() or get() method on any collection or resource. WRITER - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
-        "groupByEmail": "A String", # [Pick one] A fully-qualified email address of a mailing list to grant access to. This must be either a Google Groups mailing list (ends in @googlegroups.com) or a group managed by an enterprise version of Google Groups.
-        "userByEmail": "A String", # [Pick one] A fully qualified email address of a user to grant access to. For example: fred@example.com.
-      },
-    ],
-    "etag": "A String", # [Output-only] A hash of this resource.
-    "friendlyName": "A String", # [Optional] A descriptive name for this dataset, which might be shown in any BigQuery user interfaces for browsing the dataset. Use datasetId for making API calls.
-    "lastModifiedTime": "A String", # [Output-only] The date when this dataset or any of its tables was last modified, in milliseconds since the epoch.
-    "id": "A String", # [Output-only] The fully-qualified unique name of this dataset in the format projectId:datasetId. The dataset name without the project name is given in the datasetId field. When creating a new dataset, leave this field blank, and instead specify the datasetId field.
-    "selfLink": "A String", # [Output-only] An URL that can be used to access this resource again. You can use this URL in Get or Update requests to this resource.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "bigquery#dataset", # [Output-only] The resource type.
-      "description": "A String", # [Optional] A user-friendly string description for the dataset. This might be shown in BigQuery UI for browsing the dataset.
-      "datasetReference": { # [Required] Reference identifying dataset.
-        "projectId": "A String", # [Optional] The ID of the container project.
-        "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
-      },
-      "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
-      "access": [ # [Optional] Describes users' rights on the dataset. You can assign the same role to multiple users, and assign multiple roles to the same user.
-          # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READER - Project readers WRITER - Project writers
-          # See ACLs and Rights for a description of these rights. If you specify any of these roles when creating a dataset, the assigned roles will overwrite the defaults listed above.
-          # To revoke rights to a dataset, call datasets.update() and omit the names of anyone whose rights you wish to revoke. However, every dataset must have at least one entity granted OWNER role.
-          # Each access object can have only one of the following members: userByEmail, groupByEmail, domain, or allAuthenticatedUsers.
-        {
-          "specialGroup": "A String", # [Pick one] A special group to grant access to. The valid values are: projectOwners: Owners of the enclosing project. projectReaders: Readers of the enclosing project. projectWriters: Writers of the enclosing project. allAuthenticatedUsers: All authenticated BigQuery users.
-          "domain": "A String", # [Pick one] A domain to grant access to. Any users signed in with the domain specified will be granted the specified access. Example: "example.com".
-          "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER - User can call any list() or get() method on any collection or resource. WRITER - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
-          "groupByEmail": "A String", # [Pick one] A fully-qualified email address of a mailing list to grant access to. This must be either a Google Groups mailing list (ends in @googlegroups.com) or a group managed by an enterprise version of Google Groups.
-          "userByEmail": "A String", # [Pick one] A fully qualified email address of a user to grant access to. For example: fred@example.com.
-        },
-      ],
-      "etag": "A String", # [Output-only] A hash of this resource.
-      "friendlyName": "A String", # [Optional] A descriptive name for this dataset, which might be shown in any BigQuery user interfaces for browsing the dataset. Use datasetId for making API calls.
-      "lastModifiedTime": "A String", # [Output-only] The date when this dataset or any of its tables was last modified, in milliseconds since the epoch.
-      "id": "A String", # [Output-only] The fully-qualified unique name of this dataset in the format projectId:datasetId. The dataset name without the project name is given in the datasetId field. When creating a new dataset, leave this field blank, and instead specify the datasetId field.
-      "selfLink": "A String", # [Output-only] An URL that can be used to access this resource again. You can use this URL in Get or Update requests to this resource.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(projectId, pageToken=None, maxResults=None)</code>
-  <pre>Lists all the datasets in the specified project to which the caller has read access; however, a project owner can list (but not necessarily get) all datasets in his project.
-
-Args:
-  projectId: string, Project ID of the datasets to be listed (required)
-  pageToken: string, Page token, returned by a previous call, to request the next page of results
-  maxResults: integer, The maximum number of results to return
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token that can be used to request the next results page. This property is omitted on the final results page.
-    "kind": "bigquery#datasetList", # The list type. This property always returns the value "bigquery#datasetList".
-    "datasets": [ # An array of the dataset resources in the project. Each resource contains basic information. For full information about a particular dataset resource, use the Datasets: get method. This property is omitted when there are no datasets in the project.
-      {
-        "friendlyName": "A String", # A descriptive name for the dataset, if one exists.
-        "kind": "bigquery#dataset", # The resource type. This property always returns the value "bigquery#dataset".
-        "id": "A String", # The fully-qualified, unique, opaque ID of the dataset.
-        "datasetReference": { # The dataset reference. Use this property to access specific parts of the dataset's ID, such as project ID or dataset ID.
-          "projectId": "A String", # [Optional] The ID of the container project.
-          "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
-        },
-      },
-    ],
-    "etag": "A String", # A hash value of the results page. You can use this property to determine if the page has changed since the last request.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(projectId, datasetId, body)</code>
-  <pre>Updates information in an existing dataset, specified by datasetId. Properties not included in the submitted resource will not be changed. If you include the access property without any values assigned, the request will fail as you must specify at least one owner for a dataset. This method supports patch semantics.
-
-Args:
-  projectId: string, Project ID of the dataset being updated (required)
-  datasetId: string, Dataset ID of the dataset being updated (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "bigquery#dataset", # [Output-only] The resource type.
-    "description": "A String", # [Optional] A user-friendly string description for the dataset. This might be shown in BigQuery UI for browsing the dataset.
-    "datasetReference": { # [Required] Reference identifying dataset.
-      "projectId": "A String", # [Optional] The ID of the container project.
-      "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
-    },
-    "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
-    "access": [ # [Optional] Describes users' rights on the dataset. You can assign the same role to multiple users, and assign multiple roles to the same user.
-        # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READER - Project readers WRITER - Project writers
-        # See ACLs and Rights for a description of these rights. If you specify any of these roles when creating a dataset, the assigned roles will overwrite the defaults listed above.
-        # To revoke rights to a dataset, call datasets.update() and omit the names of anyone whose rights you wish to revoke. However, every dataset must have at least one entity granted OWNER role.
-        # Each access object can have only one of the following members: userByEmail, groupByEmail, domain, or allAuthenticatedUsers.
-      {
-        "specialGroup": "A String", # [Pick one] A special group to grant access to. The valid values are: projectOwners: Owners of the enclosing project. projectReaders: Readers of the enclosing project. projectWriters: Writers of the enclosing project. allAuthenticatedUsers: All authenticated BigQuery users.
-        "domain": "A String", # [Pick one] A domain to grant access to. Any users signed in with the domain specified will be granted the specified access. Example: "example.com".
-        "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER - User can call any list() or get() method on any collection or resource. WRITER - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
-        "groupByEmail": "A String", # [Pick one] A fully-qualified email address of a mailing list to grant access to. This must be either a Google Groups mailing list (ends in @googlegroups.com) or a group managed by an enterprise version of Google Groups.
-        "userByEmail": "A String", # [Pick one] A fully qualified email address of a user to grant access to. For example: fred@example.com.
-      },
-    ],
-    "etag": "A String", # [Output-only] A hash of this resource.
-    "friendlyName": "A String", # [Optional] A descriptive name for this dataset, which might be shown in any BigQuery user interfaces for browsing the dataset. Use datasetId for making API calls.
-    "lastModifiedTime": "A String", # [Output-only] The date when this dataset or any of its tables was last modified, in milliseconds since the epoch.
-    "id": "A String", # [Output-only] The fully-qualified unique name of this dataset in the format projectId:datasetId. The dataset name without the project name is given in the datasetId field. When creating a new dataset, leave this field blank, and instead specify the datasetId field.
-    "selfLink": "A String", # [Output-only] An URL that can be used to access this resource again. You can use this URL in Get or Update requests to this resource.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "bigquery#dataset", # [Output-only] The resource type.
-      "description": "A String", # [Optional] A user-friendly string description for the dataset. This might be shown in BigQuery UI for browsing the dataset.
-      "datasetReference": { # [Required] Reference identifying dataset.
-        "projectId": "A String", # [Optional] The ID of the container project.
-        "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
-      },
-      "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
-      "access": [ # [Optional] Describes users' rights on the dataset. You can assign the same role to multiple users, and assign multiple roles to the same user.
-          # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READER - Project readers WRITER - Project writers
-          # See ACLs and Rights for a description of these rights. If you specify any of these roles when creating a dataset, the assigned roles will overwrite the defaults listed above.
-          # To revoke rights to a dataset, call datasets.update() and omit the names of anyone whose rights you wish to revoke. However, every dataset must have at least one entity granted OWNER role.
-          # Each access object can have only one of the following members: userByEmail, groupByEmail, domain, or allAuthenticatedUsers.
-        {
-          "specialGroup": "A String", # [Pick one] A special group to grant access to. The valid values are: projectOwners: Owners of the enclosing project. projectReaders: Readers of the enclosing project. projectWriters: Writers of the enclosing project. allAuthenticatedUsers: All authenticated BigQuery users.
-          "domain": "A String", # [Pick one] A domain to grant access to. Any users signed in with the domain specified will be granted the specified access. Example: "example.com".
-          "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER - User can call any list() or get() method on any collection or resource. WRITER - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
-          "groupByEmail": "A String", # [Pick one] A fully-qualified email address of a mailing list to grant access to. This must be either a Google Groups mailing list (ends in @googlegroups.com) or a group managed by an enterprise version of Google Groups.
-          "userByEmail": "A String", # [Pick one] A fully qualified email address of a user to grant access to. For example: fred@example.com.
-        },
-      ],
-      "etag": "A String", # [Output-only] A hash of this resource.
-      "friendlyName": "A String", # [Optional] A descriptive name for this dataset, which might be shown in any BigQuery user interfaces for browsing the dataset. Use datasetId for making API calls.
-      "lastModifiedTime": "A String", # [Output-only] The date when this dataset or any of its tables was last modified, in milliseconds since the epoch.
-      "id": "A String", # [Output-only] The fully-qualified unique name of this dataset in the format projectId:datasetId. The dataset name without the project name is given in the datasetId field. When creating a new dataset, leave this field blank, and instead specify the datasetId field.
-      "selfLink": "A String", # [Output-only] An URL that can be used to access this resource again. You can use this URL in Get or Update requests to this resource.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(projectId, datasetId, body)</code>
-  <pre>Updates information in an existing dataset, specified by datasetId. Properties not included in the submitted resource will not be changed. If you include the access property without any values assigned, the request will fail as you must specify at least one owner for a dataset.
-
-Args:
-  projectId: string, Project ID of the dataset being updated (required)
-  datasetId: string, Dataset ID of the dataset being updated (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "bigquery#dataset", # [Output-only] The resource type.
-    "description": "A String", # [Optional] A user-friendly string description for the dataset. This might be shown in BigQuery UI for browsing the dataset.
-    "datasetReference": { # [Required] Reference identifying dataset.
-      "projectId": "A String", # [Optional] The ID of the container project.
-      "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
-    },
-    "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
-    "access": [ # [Optional] Describes users' rights on the dataset. You can assign the same role to multiple users, and assign multiple roles to the same user.
-        # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READER - Project readers WRITER - Project writers
-        # See ACLs and Rights for a description of these rights. If you specify any of these roles when creating a dataset, the assigned roles will overwrite the defaults listed above.
-        # To revoke rights to a dataset, call datasets.update() and omit the names of anyone whose rights you wish to revoke. However, every dataset must have at least one entity granted OWNER role.
-        # Each access object can have only one of the following members: userByEmail, groupByEmail, domain, or allAuthenticatedUsers.
-      {
-        "specialGroup": "A String", # [Pick one] A special group to grant access to. The valid values are: projectOwners: Owners of the enclosing project. projectReaders: Readers of the enclosing project. projectWriters: Writers of the enclosing project. allAuthenticatedUsers: All authenticated BigQuery users.
-        "domain": "A String", # [Pick one] A domain to grant access to. Any users signed in with the domain specified will be granted the specified access. Example: "example.com".
-        "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER - User can call any list() or get() method on any collection or resource. WRITER - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
-        "groupByEmail": "A String", # [Pick one] A fully-qualified email address of a mailing list to grant access to. This must be either a Google Groups mailing list (ends in @googlegroups.com) or a group managed by an enterprise version of Google Groups.
-        "userByEmail": "A String", # [Pick one] A fully qualified email address of a user to grant access to. For example: fred@example.com.
-      },
-    ],
-    "etag": "A String", # [Output-only] A hash of this resource.
-    "friendlyName": "A String", # [Optional] A descriptive name for this dataset, which might be shown in any BigQuery user interfaces for browsing the dataset. Use datasetId for making API calls.
-    "lastModifiedTime": "A String", # [Output-only] The date when this dataset or any of its tables was last modified, in milliseconds since the epoch.
-    "id": "A String", # [Output-only] The fully-qualified unique name of this dataset in the format projectId:datasetId. The dataset name without the project name is given in the datasetId field. When creating a new dataset, leave this field blank, and instead specify the datasetId field.
-    "selfLink": "A String", # [Output-only] An URL that can be used to access this resource again. You can use this URL in Get or Update requests to this resource.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "bigquery#dataset", # [Output-only] The resource type.
-      "description": "A String", # [Optional] A user-friendly string description for the dataset. This might be shown in BigQuery UI for browsing the dataset.
-      "datasetReference": { # [Required] Reference identifying dataset.
-        "projectId": "A String", # [Optional] The ID of the container project.
-        "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
-      },
-      "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
-      "access": [ # [Optional] Describes users' rights on the dataset. You can assign the same role to multiple users, and assign multiple roles to the same user.
-          # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READER - Project readers WRITER - Project writers
-          # See ACLs and Rights for a description of these rights. If you specify any of these roles when creating a dataset, the assigned roles will overwrite the defaults listed above.
-          # To revoke rights to a dataset, call datasets.update() and omit the names of anyone whose rights you wish to revoke. However, every dataset must have at least one entity granted OWNER role.
-          # Each access object can have only one of the following members: userByEmail, groupByEmail, domain, or allAuthenticatedUsers.
-        {
-          "specialGroup": "A String", # [Pick one] A special group to grant access to. The valid values are: projectOwners: Owners of the enclosing project. projectReaders: Readers of the enclosing project. projectWriters: Writers of the enclosing project. allAuthenticatedUsers: All authenticated BigQuery users.
-          "domain": "A String", # [Pick one] A domain to grant access to. Any users signed in with the domain specified will be granted the specified access. Example: "example.com".
-          "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER - User can call any list() or get() method on any collection or resource. WRITER - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
-          "groupByEmail": "A String", # [Pick one] A fully-qualified email address of a mailing list to grant access to. This must be either a Google Groups mailing list (ends in @googlegroups.com) or a group managed by an enterprise version of Google Groups.
-          "userByEmail": "A String", # [Pick one] A fully qualified email address of a user to grant access to. For example: fred@example.com.
-        },
-      ],
-      "etag": "A String", # [Output-only] A hash of this resource.
-      "friendlyName": "A String", # [Optional] A descriptive name for this dataset, which might be shown in any BigQuery user interfaces for browsing the dataset. Use datasetId for making API calls.
-      "lastModifiedTime": "A String", # [Output-only] The date when this dataset or any of its tables was last modified, in milliseconds since the epoch.
-      "id": "A String", # [Output-only] The fully-qualified unique name of this dataset in the format projectId:datasetId. The dataset name without the project name is given in the datasetId field. When creating a new dataset, leave this field blank, and instead specify the datasetId field.
-      "selfLink": "A String", # [Output-only] An URL that can be used to access this resource again. You can use this URL in Get or Update requests to this resource.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/bigquery_v2.html b/docs/dyn/bigquery_v2.html
deleted file mode 100644
index 9a19266..0000000
--- a/docs/dyn/bigquery_v2.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="bigquery_v2.html">BigQuery API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="bigquery_v2.datasets.html">datasets()</a></code>
-</p>
-<p class="firstline">Returns the datasets Resource.</p>
-
-<p class="toc_element">
-  <code><a href="bigquery_v2.jobs.html">jobs()</a></code>
-</p>
-<p class="firstline">Returns the jobs Resource.</p>
-
-<p class="toc_element">
-  <code><a href="bigquery_v2.projects.html">projects()</a></code>
-</p>
-<p class="firstline">Returns the projects Resource.</p>
-
-<p class="toc_element">
-  <code><a href="bigquery_v2.tabledata.html">tabledata()</a></code>
-</p>
-<p class="firstline">Returns the tabledata Resource.</p>
-
-<p class="toc_element">
-  <code><a href="bigquery_v2.tables.html">tables()</a></code>
-</p>
-<p class="firstline">Returns the tables Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/bigquery_v2.jobs.html b/docs/dyn/bigquery_v2.jobs.html
deleted file mode 100644
index e252020..0000000
--- a/docs/dyn/bigquery_v2.jobs.html
+++ /dev/null
@@ -1,834 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="bigquery_v2.html">BigQuery API</a> . <a href="bigquery_v2.jobs.html">jobs</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(projectId, jobId)</a></code></p>
-<p class="firstline">Retrieves the specified job by ID.</p>
-<p class="toc_element">
-  <code><a href="#getQueryResults">getQueryResults(projectId, jobId, timeoutMs=None, pageToken=None, maxResults=None, startIndex=None)</a></code></p>
-<p class="firstline">Retrieves the results of a query job.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(projectId, body=None, media_body=None)</a></code></p>
-<p class="firstline">Starts a new asynchronous job.</p>
-<p class="toc_element">
-  <code><a href="#list">list(projectId, projection=None, stateFilter=None, pageToken=None, allUsers=None, maxResults=None)</a></code></p>
-<p class="firstline">Lists all the Jobs in the specified project that were started by the user.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#query">query(projectId, body)</a></code></p>
-<p class="firstline">Runs a BigQuery SQL query synchronously and returns query results if the query completes within a specified timeout.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(projectId, jobId)</code>
-  <pre>Retrieves the specified job by ID.
-
-Args:
-  projectId: string, Project ID of the requested job (required)
-  jobId: string, Job ID of the requested job (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "status": { # [Output-only] The status of this job. Examine this value when polling an asynchronous job to see if the job is complete.
-        "state": "A String", # [Output-only] Running state of the job.
-        "errors": [ # [Output-only] All errors encountered during the running of the job. Errors here do not necessarily mean that the job has completed or was unsuccessful.
-          {
-            "debugInfo": "A String", # Debugging information. This property is internal to Google and should not be used.
-            "message": "A String", # A human-readable description of the error.
-            "reason": "A String", # A short error code that summarizes the error.
-            "location": "A String", # Specifies where the error occurred, if present.
-          },
-        ],
-        "errorResult": { # [Output-only] Final error result of the job. If present, indicates that the job has completed and was unsuccessful.
-          "debugInfo": "A String", # Debugging information. This property is internal to Google and should not be used.
-          "message": "A String", # A human-readable description of the error.
-          "reason": "A String", # A short error code that summarizes the error.
-          "location": "A String", # Specifies where the error occurred, if present.
-        },
-      },
-      "kind": "bigquery#job", # [Output-only] The type of the resource.
-      "statistics": { # [Output-only] Information about the job, including starting time and ending time of the job.
-        "load": { # [Output-only] Statistics for a load job.
-          "outputRows": "A String", # [Output-only] Number of rows imported in a load job. Note that while an import job is in the running state, this value may change.
-          "inputFiles": "A String", # [Output-only] Number of source files in a load job.
-          "inputFileBytes": "A String", # [Output-only] Number of bytes of source data in a joad job.
-          "outputBytes": "A String", # [Output-only] Size of the loaded data in bytes. Note that while an import job is in the running state, this value may change.
-        },
-        "query": { # [Output-only] Statistics for a query job.
-          "completionRatio": 3.14, # [Output-Only] Approximate fraction of data processed for this query. This will be 1.0 unless min_completion_ratio for the query was set to something other than 1.0.
-          "cacheHit": True or False, # [Output-only] Whether the query result was fetched from the query cache.
-          "totalBytesProcessed": "A String", # [Output-only] Total bytes processed for this job.
-        },
-        "endTime": "A String", # [Output-only] End time of this job, in milliseconds since the epoch.
-        "totalBytesProcessed": "A String", # [Output-only] [Deprecated] Use the bytes processed in the query statistics instead.
-        "startTime": "A String", # [Output-only] Start time of this job, in milliseconds since the epoch.
-      },
-      "jobReference": { # [Optional] Reference describing the unique-per-user name of the job.
-        "projectId": "A String", # [Required] Project ID being billed for the job.
-        "jobId": "A String", # [Required] ID of the job.
-      },
-      "etag": "A String", # [Output-only] A hash of this resource.
-      "configuration": { # [Required] Describes the job configuration.
-        "load": { # [Pick one] Configures a load job.
-          "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties.
-          "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (',').
-          "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". The default value is CSV.
-          "destinationTable": { # [Required] The destination table to load the data into.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
-          },
-          "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. Each action is atomic and only occurs if BigQuery is able to fully load the data and the load job completes without error. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists, a 'duplicate' error is returned in the job result. Creation, truncation and append actions occur as one atomic update upon job completion.
-          "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when running the job. If the number of bad records exceeds this value, an 'invalid' error is returned in the job result and the job fails. The default value is 0, which requires that all records are valid.
-          "allowJaggedRows": True or False, # [Optional] Accept rows that are missing trailing optional columns. The missing values are treated as nulls. Default is false which treats short rows as errors. Only applicable to CSV, ignored for other formats.
-          "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when loading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped.
-          "sourceUris": [ # [Required] The fully-qualified URIs that point to your data on Google Cloud Storage.
-            "A String",
-          ],
-          "quote": "A String", # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true.
-          "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
-          "schemaInlineFormat": "A String", # [Deprecated] The format of the schemaInline property.
-          "schemaInline": "A String", # [Deprecated] The inline schema. For CSV schemas, specify as "Field1:Type1[,Field2:Type2]*". For example, "foo:STRING, bar:INTEGER, baz:FLOAT".
-          "allowQuotedNewlines": True or False, # Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false.
-          "schema": { # [Optional] The schema for the destination table. The schema can be omitted if the destination table already exists or if the schema can be inferred from the loaded data.
-            "fields": [ # Describes the fields in a table.
-              {
-                "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
-                  # Object with schema name: TableFieldSchema
-                ],
-                "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-                "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
-                "name": "A String", # [Required] The field name.
-              },
-            ],
-          },
-        },
-        "dryRun": True or False, # [Optional] If set, don't actually run this job. A valid query will return a mostly empty response with some processing statistics, while an invalid query will return the same error it would if it wasn't a dry run. Behavior of non-query jobs is undefined.
-        "link": { # [Pick one] Configures a link job.
-          "createDisposition": "A String", # [Optional] Whether or not to create a new table, if none exists.
-          "writeDisposition": "A String", # [Optional] Whether to overwrite an existing table (WRITE_TRUNCATE), append to an existing table (WRITE_APPEND), or require that the the table is empty (WRITE_EMPTY). Default is WRITE_APPEND.
-          "destinationTable": { # [Required] The destination table of the link job.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
-          },
-          "sourceUri": [ # [Required] URI of source table to link.
-            "A String",
-          ],
-        },
-        "query": { # [Pick one] Configures a query job.
-          "useQueryCache": True or False, # [Optional] Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified. Moreover, the query cache is only available when a query does not have a destination table specified.
-          "defaultDataset": { # [Optional] Specifies the default dataset to assume for unqualified table names in the query.
-            "projectId": "A String", # [Optional] The ID of the container project.
-            "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
-          },
-          "destinationTable": { # [Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
-          },
-          "priority": "A String", # [Optional] Specifies a priority for the query. Default is INTERACTIVE. Alternative is BATCH.
-          "writeDisposition": "A String", # [Optional] Whether to overwrite an existing table (WRITE_TRUNCATE), append to an existing table (WRITE_APPEND), or require that the the table is empty (WRITE_EMPTY). Default is WRITE_EMPTY.
-          "allowLargeResults": True or False, # [Experimental] If true, allows >128M results to be materialized in the destination table. Requires destination_table to be set.
-          "query": "A String", # [Required] BigQuery SQL query to execute.
-          "createDisposition": "A String", # [Optional] Whether to create the table if it doesn't already exist (CREATE_IF_NEEDED) or to require the table already exist (CREATE_NEVER). Default is CREATE_IF_NEEDED.
-          "minCompletionRatio": 3.14, # [Experimental] Specifies the the minimum fraction of data that must be scanned before a query returns. This should be specified as a value between 0.0 and 1.0 inclusive. The default value is 1.0.
-          "preserveNulls": True or False, # [Experimental] If set, preserve null values in table data, rather than mapping null values to the column's default value. This flag currently defaults to false, but the default will soon be changed to true. Shortly afterward, this flag will be removed completely. Please specify true if possible, and false only if you need to force the old behavior while updating client code.
-        },
-        "copy": { # [Pick one] Copies a table.
-          "createDisposition": "A String", # [Optional] Whether or not to create a new table, if none exists.
-          "writeDisposition": "A String", # [Optional] Whether or not to append or require the table to be empty.
-          "destinationTable": { # [Required] The destination table
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
-          },
-          "sourceTable": { # [Required] Source table to copy.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
-          },
-        },
-        "extract": { # [Pick one] Configures an extract job.
-          "destinationFormat": "A String", # [Experimental] Optional and defaults to CSV. Format with which files should be exported. To export to CSV, specify "CSV". Tables with nested or repeated fields cannot be exported as CSV. To export to newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON".
-          "destinationUri": "A String", # [Required] The fully-qualified Google Cloud Storage URI where the extracted table should be written.
-          "printHeader": True or False, # [Optional] Whether to print out a heder row in the results. Default is true.
-          "sourceTable": { # [Required] A reference to the table being exported.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
-          },
-          "fieldDelimiter": "A String", # [Optional] Delimiter to use between fields in the exported data. Default is ','
-        },
-      },
-      "id": "A String", # [Output-only] Opaque ID field of the job
-      "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="getQueryResults">getQueryResults(projectId, jobId, timeoutMs=None, pageToken=None, maxResults=None, startIndex=None)</code>
-  <pre>Retrieves the results of a query job.
-
-Args:
-  projectId: string, Project ID of the query job (required)
-  jobId: string, Job ID of the query job (required)
-  timeoutMs: integer, How long to wait for the query to complete, in milliseconds, before returning. Default is to return immediately. If the timeout passes before the job completes, the request will fail with a TIMEOUT error
-  pageToken: string, Page token, returned by a previous call, to request the next page of results
-  maxResults: integer, Maximum number of results to read
-  startIndex: string, Zero-based index of the starting row
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "bigquery#getQueryResultsResponse", # The resource type of the response.
-    "rows": [ # An object with as many results as can be contained within the maximum permitted reply size. To get any additional rows, you can call GetQueryResults and specify the jobReference returned above. Present only when the query completes successfully.
-      { # Represents a single row in the result set, consisting of one or more fields.
-        "f": [
-          { # Represents a single cell in the result set. Users of the java client can detect whether their value result is null by calling 'com.google.api.client.util.Data.isNull(cell.getV())'.
-            "v": "",
-          },
-        ],
-      },
-    ],
-    "jobReference": { # Reference to the BigQuery Job that was created to run the query. This field will be present even if the original request timed out, in which case GetQueryResults can be used to read the results once the query has completed. Since this API only returns the first page of results, subsequent pages can be fetched via the same mechanism (GetQueryResults).
-      "projectId": "A String", # [Required] Project ID being billed for the job.
-      "jobId": "A String", # [Required] ID of the job.
-    },
-    "pageToken": "A String", # A token used for paging results.
-    "jobComplete": True or False, # Whether the query has completed or not. If rows or totalRows are present, this will always be true. If this is false, totalRows will not be available.
-    "totalRows": "A String", # The total number of rows in the complete query result set, which can be more than the number of rows in this single page of results. Present only when the query completes successfully.
-    "cacheHit": True or False, # Whether the query result was fetched from the query cache.
-    "etag": "A String", # A hash of this response.
-    "schema": { # The schema of the results. Present only when the query completes successfully.
-      "fields": [ # Describes the fields in a table.
-        {
-          "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
-            # Object with schema name: TableFieldSchema
-          ],
-          "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-          "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
-          "name": "A String", # [Required] The field name.
-        },
-      ],
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(projectId, body=None, media_body=None)</code>
-  <pre>Starts a new asynchronous job.
-
-Args:
-  projectId: string, Project ID of the project that will be billed for the job (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{
-    "status": { # [Output-only] The status of this job. Examine this value when polling an asynchronous job to see if the job is complete.
-      "state": "A String", # [Output-only] Running state of the job.
-      "errors": [ # [Output-only] All errors encountered during the running of the job. Errors here do not necessarily mean that the job has completed or was unsuccessful.
-        {
-          "debugInfo": "A String", # Debugging information. This property is internal to Google and should not be used.
-          "message": "A String", # A human-readable description of the error.
-          "reason": "A String", # A short error code that summarizes the error.
-          "location": "A String", # Specifies where the error occurred, if present.
-        },
-      ],
-      "errorResult": { # [Output-only] Final error result of the job. If present, indicates that the job has completed and was unsuccessful.
-        "debugInfo": "A String", # Debugging information. This property is internal to Google and should not be used.
-        "message": "A String", # A human-readable description of the error.
-        "reason": "A String", # A short error code that summarizes the error.
-        "location": "A String", # Specifies where the error occurred, if present.
-      },
-    },
-    "kind": "bigquery#job", # [Output-only] The type of the resource.
-    "statistics": { # [Output-only] Information about the job, including starting time and ending time of the job.
-      "load": { # [Output-only] Statistics for a load job.
-        "outputRows": "A String", # [Output-only] Number of rows imported in a load job. Note that while an import job is in the running state, this value may change.
-        "inputFiles": "A String", # [Output-only] Number of source files in a load job.
-        "inputFileBytes": "A String", # [Output-only] Number of bytes of source data in a joad job.
-        "outputBytes": "A String", # [Output-only] Size of the loaded data in bytes. Note that while an import job is in the running state, this value may change.
-      },
-      "query": { # [Output-only] Statistics for a query job.
-        "completionRatio": 3.14, # [Output-Only] Approximate fraction of data processed for this query. This will be 1.0 unless min_completion_ratio for the query was set to something other than 1.0.
-        "cacheHit": True or False, # [Output-only] Whether the query result was fetched from the query cache.
-        "totalBytesProcessed": "A String", # [Output-only] Total bytes processed for this job.
-      },
-      "endTime": "A String", # [Output-only] End time of this job, in milliseconds since the epoch.
-      "totalBytesProcessed": "A String", # [Output-only] [Deprecated] Use the bytes processed in the query statistics instead.
-      "startTime": "A String", # [Output-only] Start time of this job, in milliseconds since the epoch.
-    },
-    "jobReference": { # [Optional] Reference describing the unique-per-user name of the job.
-      "projectId": "A String", # [Required] Project ID being billed for the job.
-      "jobId": "A String", # [Required] ID of the job.
-    },
-    "etag": "A String", # [Output-only] A hash of this resource.
-    "configuration": { # [Required] Describes the job configuration.
-      "load": { # [Pick one] Configures a load job.
-        "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties.
-        "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (',').
-        "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". The default value is CSV.
-        "destinationTable": { # [Required] The destination table to load the data into.
-          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-          "tableId": "A String", # [Required] ID of the table.
-          "datasetId": "A String", # [Required] ID of the dataset containing the table.
-        },
-        "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. Each action is atomic and only occurs if BigQuery is able to fully load the data and the load job completes without error. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists, a 'duplicate' error is returned in the job result. Creation, truncation and append actions occur as one atomic update upon job completion.
-        "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when running the job. If the number of bad records exceeds this value, an 'invalid' error is returned in the job result and the job fails. The default value is 0, which requires that all records are valid.
-        "allowJaggedRows": True or False, # [Optional] Accept rows that are missing trailing optional columns. The missing values are treated as nulls. Default is false which treats short rows as errors. Only applicable to CSV, ignored for other formats.
-        "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when loading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped.
-        "sourceUris": [ # [Required] The fully-qualified URIs that point to your data on Google Cloud Storage.
-          "A String",
-        ],
-        "quote": "A String", # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true.
-        "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
-        "schemaInlineFormat": "A String", # [Deprecated] The format of the schemaInline property.
-        "schemaInline": "A String", # [Deprecated] The inline schema. For CSV schemas, specify as "Field1:Type1[,Field2:Type2]*". For example, "foo:STRING, bar:INTEGER, baz:FLOAT".
-        "allowQuotedNewlines": True or False, # Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false.
-        "schema": { # [Optional] The schema for the destination table. The schema can be omitted if the destination table already exists or if the schema can be inferred from the loaded data.
-          "fields": [ # Describes the fields in a table.
-            {
-              "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
-                # Object with schema name: TableFieldSchema
-              ],
-              "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-              "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
-              "name": "A String", # [Required] The field name.
-            },
-          ],
-        },
-      },
-      "dryRun": True or False, # [Optional] If set, don't actually run this job. A valid query will return a mostly empty response with some processing statistics, while an invalid query will return the same error it would if it wasn't a dry run. Behavior of non-query jobs is undefined.
-      "link": { # [Pick one] Configures a link job.
-        "createDisposition": "A String", # [Optional] Whether or not to create a new table, if none exists.
-        "writeDisposition": "A String", # [Optional] Whether to overwrite an existing table (WRITE_TRUNCATE), append to an existing table (WRITE_APPEND), or require that the the table is empty (WRITE_EMPTY). Default is WRITE_APPEND.
-        "destinationTable": { # [Required] The destination table of the link job.
-          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-          "tableId": "A String", # [Required] ID of the table.
-          "datasetId": "A String", # [Required] ID of the dataset containing the table.
-        },
-        "sourceUri": [ # [Required] URI of source table to link.
-          "A String",
-        ],
-      },
-      "query": { # [Pick one] Configures a query job.
-        "useQueryCache": True or False, # [Optional] Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified. Moreover, the query cache is only available when a query does not have a destination table specified.
-        "defaultDataset": { # [Optional] Specifies the default dataset to assume for unqualified table names in the query.
-          "projectId": "A String", # [Optional] The ID of the container project.
-          "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
-        },
-        "destinationTable": { # [Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results.
-          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-          "tableId": "A String", # [Required] ID of the table.
-          "datasetId": "A String", # [Required] ID of the dataset containing the table.
-        },
-        "priority": "A String", # [Optional] Specifies a priority for the query. Default is INTERACTIVE. Alternative is BATCH.
-        "writeDisposition": "A String", # [Optional] Whether to overwrite an existing table (WRITE_TRUNCATE), append to an existing table (WRITE_APPEND), or require that the the table is empty (WRITE_EMPTY). Default is WRITE_EMPTY.
-        "allowLargeResults": True or False, # [Experimental] If true, allows >128M results to be materialized in the destination table. Requires destination_table to be set.
-        "query": "A String", # [Required] BigQuery SQL query to execute.
-        "createDisposition": "A String", # [Optional] Whether to create the table if it doesn't already exist (CREATE_IF_NEEDED) or to require the table already exist (CREATE_NEVER). Default is CREATE_IF_NEEDED.
-        "minCompletionRatio": 3.14, # [Experimental] Specifies the the minimum fraction of data that must be scanned before a query returns. This should be specified as a value between 0.0 and 1.0 inclusive. The default value is 1.0.
-        "preserveNulls": True or False, # [Experimental] If set, preserve null values in table data, rather than mapping null values to the column's default value. This flag currently defaults to false, but the default will soon be changed to true. Shortly afterward, this flag will be removed completely. Please specify true if possible, and false only if you need to force the old behavior while updating client code.
-      },
-      "copy": { # [Pick one] Copies a table.
-        "createDisposition": "A String", # [Optional] Whether or not to create a new table, if none exists.
-        "writeDisposition": "A String", # [Optional] Whether or not to append or require the table to be empty.
-        "destinationTable": { # [Required] The destination table
-          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-          "tableId": "A String", # [Required] ID of the table.
-          "datasetId": "A String", # [Required] ID of the dataset containing the table.
-        },
-        "sourceTable": { # [Required] Source table to copy.
-          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-          "tableId": "A String", # [Required] ID of the table.
-          "datasetId": "A String", # [Required] ID of the dataset containing the table.
-        },
-      },
-      "extract": { # [Pick one] Configures an extract job.
-        "destinationFormat": "A String", # [Experimental] Optional and defaults to CSV. Format with which files should be exported. To export to CSV, specify "CSV". Tables with nested or repeated fields cannot be exported as CSV. To export to newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON".
-        "destinationUri": "A String", # [Required] The fully-qualified Google Cloud Storage URI where the extracted table should be written.
-        "printHeader": True or False, # [Optional] Whether to print out a heder row in the results. Default is true.
-        "sourceTable": { # [Required] A reference to the table being exported.
-          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-          "tableId": "A String", # [Required] ID of the table.
-          "datasetId": "A String", # [Required] ID of the dataset containing the table.
-        },
-        "fieldDelimiter": "A String", # [Optional] Delimiter to use between fields in the exported data. Default is ','
-      },
-    },
-    "id": "A String", # [Output-only] Opaque ID field of the job
-    "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
-  }
-
-  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
-
-Returns:
-  An object of the form:
-
-    {
-      "status": { # [Output-only] The status of this job. Examine this value when polling an asynchronous job to see if the job is complete.
-        "state": "A String", # [Output-only] Running state of the job.
-        "errors": [ # [Output-only] All errors encountered during the running of the job. Errors here do not necessarily mean that the job has completed or was unsuccessful.
-          {
-            "debugInfo": "A String", # Debugging information. This property is internal to Google and should not be used.
-            "message": "A String", # A human-readable description of the error.
-            "reason": "A String", # A short error code that summarizes the error.
-            "location": "A String", # Specifies where the error occurred, if present.
-          },
-        ],
-        "errorResult": { # [Output-only] Final error result of the job. If present, indicates that the job has completed and was unsuccessful.
-          "debugInfo": "A String", # Debugging information. This property is internal to Google and should not be used.
-          "message": "A String", # A human-readable description of the error.
-          "reason": "A String", # A short error code that summarizes the error.
-          "location": "A String", # Specifies where the error occurred, if present.
-        },
-      },
-      "kind": "bigquery#job", # [Output-only] The type of the resource.
-      "statistics": { # [Output-only] Information about the job, including starting time and ending time of the job.
-        "load": { # [Output-only] Statistics for a load job.
-          "outputRows": "A String", # [Output-only] Number of rows imported in a load job. Note that while an import job is in the running state, this value may change.
-          "inputFiles": "A String", # [Output-only] Number of source files in a load job.
-          "inputFileBytes": "A String", # [Output-only] Number of bytes of source data in a joad job.
-          "outputBytes": "A String", # [Output-only] Size of the loaded data in bytes. Note that while an import job is in the running state, this value may change.
-        },
-        "query": { # [Output-only] Statistics for a query job.
-          "completionRatio": 3.14, # [Output-Only] Approximate fraction of data processed for this query. This will be 1.0 unless min_completion_ratio for the query was set to something other than 1.0.
-          "cacheHit": True or False, # [Output-only] Whether the query result was fetched from the query cache.
-          "totalBytesProcessed": "A String", # [Output-only] Total bytes processed for this job.
-        },
-        "endTime": "A String", # [Output-only] End time of this job, in milliseconds since the epoch.
-        "totalBytesProcessed": "A String", # [Output-only] [Deprecated] Use the bytes processed in the query statistics instead.
-        "startTime": "A String", # [Output-only] Start time of this job, in milliseconds since the epoch.
-      },
-      "jobReference": { # [Optional] Reference describing the unique-per-user name of the job.
-        "projectId": "A String", # [Required] Project ID being billed for the job.
-        "jobId": "A String", # [Required] ID of the job.
-      },
-      "etag": "A String", # [Output-only] A hash of this resource.
-      "configuration": { # [Required] Describes the job configuration.
-        "load": { # [Pick one] Configures a load job.
-          "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties.
-          "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (',').
-          "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". The default value is CSV.
-          "destinationTable": { # [Required] The destination table to load the data into.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
-          },
-          "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. Each action is atomic and only occurs if BigQuery is able to fully load the data and the load job completes without error. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists, a 'duplicate' error is returned in the job result. Creation, truncation and append actions occur as one atomic update upon job completion.
-          "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when running the job. If the number of bad records exceeds this value, an 'invalid' error is returned in the job result and the job fails. The default value is 0, which requires that all records are valid.
-          "allowJaggedRows": True or False, # [Optional] Accept rows that are missing trailing optional columns. The missing values are treated as nulls. Default is false which treats short rows as errors. Only applicable to CSV, ignored for other formats.
-          "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when loading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped.
-          "sourceUris": [ # [Required] The fully-qualified URIs that point to your data on Google Cloud Storage.
-            "A String",
-          ],
-          "quote": "A String", # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true.
-          "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
-          "schemaInlineFormat": "A String", # [Deprecated] The format of the schemaInline property.
-          "schemaInline": "A String", # [Deprecated] The inline schema. For CSV schemas, specify as "Field1:Type1[,Field2:Type2]*". For example, "foo:STRING, bar:INTEGER, baz:FLOAT".
-          "allowQuotedNewlines": True or False, # Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false.
-          "schema": { # [Optional] The schema for the destination table. The schema can be omitted if the destination table already exists or if the schema can be inferred from the loaded data.
-            "fields": [ # Describes the fields in a table.
-              {
-                "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
-                  # Object with schema name: TableFieldSchema
-                ],
-                "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-                "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
-                "name": "A String", # [Required] The field name.
-              },
-            ],
-          },
-        },
-        "dryRun": True or False, # [Optional] If set, don't actually run this job. A valid query will return a mostly empty response with some processing statistics, while an invalid query will return the same error it would if it wasn't a dry run. Behavior of non-query jobs is undefined.
-        "link": { # [Pick one] Configures a link job.
-          "createDisposition": "A String", # [Optional] Whether or not to create a new table, if none exists.
-          "writeDisposition": "A String", # [Optional] Whether to overwrite an existing table (WRITE_TRUNCATE), append to an existing table (WRITE_APPEND), or require that the the table is empty (WRITE_EMPTY). Default is WRITE_APPEND.
-          "destinationTable": { # [Required] The destination table of the link job.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
-          },
-          "sourceUri": [ # [Required] URI of source table to link.
-            "A String",
-          ],
-        },
-        "query": { # [Pick one] Configures a query job.
-          "useQueryCache": True or False, # [Optional] Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified. Moreover, the query cache is only available when a query does not have a destination table specified.
-          "defaultDataset": { # [Optional] Specifies the default dataset to assume for unqualified table names in the query.
-            "projectId": "A String", # [Optional] The ID of the container project.
-            "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
-          },
-          "destinationTable": { # [Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
-          },
-          "priority": "A String", # [Optional] Specifies a priority for the query. Default is INTERACTIVE. Alternative is BATCH.
-          "writeDisposition": "A String", # [Optional] Whether to overwrite an existing table (WRITE_TRUNCATE), append to an existing table (WRITE_APPEND), or require that the the table is empty (WRITE_EMPTY). Default is WRITE_EMPTY.
-          "allowLargeResults": True or False, # [Experimental] If true, allows >128M results to be materialized in the destination table. Requires destination_table to be set.
-          "query": "A String", # [Required] BigQuery SQL query to execute.
-          "createDisposition": "A String", # [Optional] Whether to create the table if it doesn't already exist (CREATE_IF_NEEDED) or to require the table already exist (CREATE_NEVER). Default is CREATE_IF_NEEDED.
-          "minCompletionRatio": 3.14, # [Experimental] Specifies the the minimum fraction of data that must be scanned before a query returns. This should be specified as a value between 0.0 and 1.0 inclusive. The default value is 1.0.
-          "preserveNulls": True or False, # [Experimental] If set, preserve null values in table data, rather than mapping null values to the column's default value. This flag currently defaults to false, but the default will soon be changed to true. Shortly afterward, this flag will be removed completely. Please specify true if possible, and false only if you need to force the old behavior while updating client code.
-        },
-        "copy": { # [Pick one] Copies a table.
-          "createDisposition": "A String", # [Optional] Whether or not to create a new table, if none exists.
-          "writeDisposition": "A String", # [Optional] Whether or not to append or require the table to be empty.
-          "destinationTable": { # [Required] The destination table
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
-          },
-          "sourceTable": { # [Required] Source table to copy.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
-          },
-        },
-        "extract": { # [Pick one] Configures an extract job.
-          "destinationFormat": "A String", # [Experimental] Optional and defaults to CSV. Format with which files should be exported. To export to CSV, specify "CSV". Tables with nested or repeated fields cannot be exported as CSV. To export to newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON".
-          "destinationUri": "A String", # [Required] The fully-qualified Google Cloud Storage URI where the extracted table should be written.
-          "printHeader": True or False, # [Optional] Whether to print out a heder row in the results. Default is true.
-          "sourceTable": { # [Required] A reference to the table being exported.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
-          },
-          "fieldDelimiter": "A String", # [Optional] Delimiter to use between fields in the exported data. Default is ','
-        },
-      },
-      "id": "A String", # [Output-only] Opaque ID field of the job
-      "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(projectId, projection=None, stateFilter=None, pageToken=None, allUsers=None, maxResults=None)</code>
-  <pre>Lists all the Jobs in the specified project that were started by the user.
-
-Args:
-  projectId: string, Project ID of the jobs to list (required)
-  projection: string, Restrict information returned to a set of selected fields
-    Allowed values
-      full - Includes all job data
-      minimal - Does not include the job configuration
-  stateFilter: string, Filter for job state (repeated)
-    Allowed values
-      done - Finished jobs
-      pending - Pending jobs
-      running - Running jobs
-  pageToken: string, Page token, returned by a previous call, to request the next page of results
-  allUsers: boolean, Whether to display jobs owned by all users in the project. Default false
-  maxResults: integer, Maximum number of results to return
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token to request the next page of results.
-    "totalItems": 42, # Total number of jobs in this collection.
-    "kind": "bigquery#jobList", # The resource type of the response.
-    "etag": "A String", # A hash of this page of results.
-    "jobs": [ # List of jobs that were requested.
-      {
-        "status": { # [Full-projection-only] Describes the state of the job.
-          "state": "A String", # [Output-only] Running state of the job.
-          "errors": [ # [Output-only] All errors encountered during the running of the job. Errors here do not necessarily mean that the job has completed or was unsuccessful.
-            {
-              "debugInfo": "A String", # Debugging information. This property is internal to Google and should not be used.
-              "message": "A String", # A human-readable description of the error.
-              "reason": "A String", # A short error code that summarizes the error.
-              "location": "A String", # Specifies where the error occurred, if present.
-            },
-          ],
-          "errorResult": { # [Output-only] Final error result of the job. If present, indicates that the job has completed and was unsuccessful.
-            "debugInfo": "A String", # Debugging information. This property is internal to Google and should not be used.
-            "message": "A String", # A human-readable description of the error.
-            "reason": "A String", # A short error code that summarizes the error.
-            "location": "A String", # Specifies where the error occurred, if present.
-          },
-        },
-        "kind": "bigquery#job", # The resource type.
-        "statistics": { # [Output-only] Information about the job, including starting time and ending time of the job.
-          "load": { # [Output-only] Statistics for a load job.
-            "outputRows": "A String", # [Output-only] Number of rows imported in a load job. Note that while an import job is in the running state, this value may change.
-            "inputFiles": "A String", # [Output-only] Number of source files in a load job.
-            "inputFileBytes": "A String", # [Output-only] Number of bytes of source data in a joad job.
-            "outputBytes": "A String", # [Output-only] Size of the loaded data in bytes. Note that while an import job is in the running state, this value may change.
-          },
-          "query": { # [Output-only] Statistics for a query job.
-            "completionRatio": 3.14, # [Output-Only] Approximate fraction of data processed for this query. This will be 1.0 unless min_completion_ratio for the query was set to something other than 1.0.
-            "cacheHit": True or False, # [Output-only] Whether the query result was fetched from the query cache.
-            "totalBytesProcessed": "A String", # [Output-only] Total bytes processed for this job.
-          },
-          "endTime": "A String", # [Output-only] End time of this job, in milliseconds since the epoch.
-          "totalBytesProcessed": "A String", # [Output-only] [Deprecated] Use the bytes processed in the query statistics instead.
-          "startTime": "A String", # [Output-only] Start time of this job, in milliseconds since the epoch.
-        },
-        "jobReference": { # Job reference uniquely identifying the job.
-          "projectId": "A String", # [Required] Project ID being billed for the job.
-          "jobId": "A String", # [Required] ID of the job.
-        },
-        "state": "A String", # Running state of the job. When the state is DONE, errorResult can be checked to determine whether the job succeeded or failed.
-        "configuration": { # [Full-projection-only] Specifies the job configuration.
-          "load": { # [Pick one] Configures a load job.
-            "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties.
-            "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (',').
-            "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". The default value is CSV.
-            "destinationTable": { # [Required] The destination table to load the data into.
-              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-              "tableId": "A String", # [Required] ID of the table.
-              "datasetId": "A String", # [Required] ID of the dataset containing the table.
-            },
-            "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. Each action is atomic and only occurs if BigQuery is able to fully load the data and the load job completes without error. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists, a 'duplicate' error is returned in the job result. Creation, truncation and append actions occur as one atomic update upon job completion.
-            "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when running the job. If the number of bad records exceeds this value, an 'invalid' error is returned in the job result and the job fails. The default value is 0, which requires that all records are valid.
-            "allowJaggedRows": True or False, # [Optional] Accept rows that are missing trailing optional columns. The missing values are treated as nulls. Default is false which treats short rows as errors. Only applicable to CSV, ignored for other formats.
-            "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when loading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped.
-            "sourceUris": [ # [Required] The fully-qualified URIs that point to your data on Google Cloud Storage.
-              "A String",
-            ],
-            "quote": "A String", # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true.
-            "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
-            "schemaInlineFormat": "A String", # [Deprecated] The format of the schemaInline property.
-            "schemaInline": "A String", # [Deprecated] The inline schema. For CSV schemas, specify as "Field1:Type1[,Field2:Type2]*". For example, "foo:STRING, bar:INTEGER, baz:FLOAT".
-            "allowQuotedNewlines": True or False, # Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false.
-            "schema": { # [Optional] The schema for the destination table. The schema can be omitted if the destination table already exists or if the schema can be inferred from the loaded data.
-              "fields": [ # Describes the fields in a table.
-                {
-                  "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
-                    # Object with schema name: TableFieldSchema
-                  ],
-                  "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-                  "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
-                  "name": "A String", # [Required] The field name.
-                },
-              ],
-            },
-          },
-          "dryRun": True or False, # [Optional] If set, don't actually run this job. A valid query will return a mostly empty response with some processing statistics, while an invalid query will return the same error it would if it wasn't a dry run. Behavior of non-query jobs is undefined.
-          "link": { # [Pick one] Configures a link job.
-            "createDisposition": "A String", # [Optional] Whether or not to create a new table, if none exists.
-            "writeDisposition": "A String", # [Optional] Whether to overwrite an existing table (WRITE_TRUNCATE), append to an existing table (WRITE_APPEND), or require that the the table is empty (WRITE_EMPTY). Default is WRITE_APPEND.
-            "destinationTable": { # [Required] The destination table of the link job.
-              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-              "tableId": "A String", # [Required] ID of the table.
-              "datasetId": "A String", # [Required] ID of the dataset containing the table.
-            },
-            "sourceUri": [ # [Required] URI of source table to link.
-              "A String",
-            ],
-          },
-          "query": { # [Pick one] Configures a query job.
-            "useQueryCache": True or False, # [Optional] Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified. Moreover, the query cache is only available when a query does not have a destination table specified.
-            "defaultDataset": { # [Optional] Specifies the default dataset to assume for unqualified table names in the query.
-              "projectId": "A String", # [Optional] The ID of the container project.
-              "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
-            },
-            "destinationTable": { # [Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results.
-              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-              "tableId": "A String", # [Required] ID of the table.
-              "datasetId": "A String", # [Required] ID of the dataset containing the table.
-            },
-            "priority": "A String", # [Optional] Specifies a priority for the query. Default is INTERACTIVE. Alternative is BATCH.
-            "writeDisposition": "A String", # [Optional] Whether to overwrite an existing table (WRITE_TRUNCATE), append to an existing table (WRITE_APPEND), or require that the the table is empty (WRITE_EMPTY). Default is WRITE_EMPTY.
-            "allowLargeResults": True or False, # [Experimental] If true, allows >128M results to be materialized in the destination table. Requires destination_table to be set.
-            "query": "A String", # [Required] BigQuery SQL query to execute.
-            "createDisposition": "A String", # [Optional] Whether to create the table if it doesn't already exist (CREATE_IF_NEEDED) or to require the table already exist (CREATE_NEVER). Default is CREATE_IF_NEEDED.
-            "minCompletionRatio": 3.14, # [Experimental] Specifies the the minimum fraction of data that must be scanned before a query returns. This should be specified as a value between 0.0 and 1.0 inclusive. The default value is 1.0.
-            "preserveNulls": True or False, # [Experimental] If set, preserve null values in table data, rather than mapping null values to the column's default value. This flag currently defaults to false, but the default will soon be changed to true. Shortly afterward, this flag will be removed completely. Please specify true if possible, and false only if you need to force the old behavior while updating client code.
-          },
-          "copy": { # [Pick one] Copies a table.
-            "createDisposition": "A String", # [Optional] Whether or not to create a new table, if none exists.
-            "writeDisposition": "A String", # [Optional] Whether or not to append or require the table to be empty.
-            "destinationTable": { # [Required] The destination table
-              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-              "tableId": "A String", # [Required] ID of the table.
-              "datasetId": "A String", # [Required] ID of the dataset containing the table.
-            },
-            "sourceTable": { # [Required] Source table to copy.
-              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-              "tableId": "A String", # [Required] ID of the table.
-              "datasetId": "A String", # [Required] ID of the dataset containing the table.
-            },
-          },
-          "extract": { # [Pick one] Configures an extract job.
-            "destinationFormat": "A String", # [Experimental] Optional and defaults to CSV. Format with which files should be exported. To export to CSV, specify "CSV". Tables with nested or repeated fields cannot be exported as CSV. To export to newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON".
-            "destinationUri": "A String", # [Required] The fully-qualified Google Cloud Storage URI where the extracted table should be written.
-            "printHeader": True or False, # [Optional] Whether to print out a heder row in the results. Default is true.
-            "sourceTable": { # [Required] A reference to the table being exported.
-              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-              "tableId": "A String", # [Required] ID of the table.
-              "datasetId": "A String", # [Required] ID of the dataset containing the table.
-            },
-            "fieldDelimiter": "A String", # [Optional] Delimiter to use between fields in the exported data. Default is ','
-          },
-        },
-        "id": "A String", # Unique opaque ID of the job.
-        "errorResult": { # A result object that will be present only if the job has failed.
-          "debugInfo": "A String", # Debugging information. This property is internal to Google and should not be used.
-          "message": "A String", # A human-readable description of the error.
-          "reason": "A String", # A short error code that summarizes the error.
-          "location": "A String", # Specifies where the error occurred, if present.
-        },
-      },
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="query">query(projectId, body)</code>
-  <pre>Runs a BigQuery SQL query synchronously and returns query results if the query completes within a specified timeout.
-
-Args:
-  projectId: string, Project ID of the project billed for the query (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "timeoutMs": 42, # [Optional] How long to wait for the query to complete, in milliseconds, before returning. Default is to return immediately. If the timeout passes before the job completes, the request will fail with a TIMEOUT error.
-    "kind": "bigquery#queryRequest", # The resource type of the request.
-    "dryRun": True or False, # [Optional] If set, don't actually run the query. A valid query will return an empty response, while an invalid query will return the same error it would if it wasn't a dry run.
-    "useQueryCache": True or False, # [Optional] Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified.
-    "defaultDataset": { # [Optional] Specifies the default datasetId and projectId to assume for any unqualified table names in the query. If not set, all table names in the query string must be fully-qualified in the format projectId:datasetId.tableid.
-      "projectId": "A String", # [Optional] The ID of the container project.
-      "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
-    },
-    "maxResults": 42, # [Optional] The maximum number of results to return per page of results. If the response list exceeds the maximum response size for a single response, you will have to page through the results. Default is to return the maximum response size.
-    "query": "A String", # [Required] A query string, following the BigQuery query syntax of the query to execute. Table names should be qualified by dataset name in the format projectId:datasetId.tableId unless you specify the defaultDataset value. If the table is in the same project as the job, you can omit the project ID. Example: SELECT f1 FROM myProjectId:myDatasetId.myTableId.
-    "minCompletionRatio": 3.14, # [Experimental] Specifies the the minimum fraction of data that must be scanned before a query returns. This should be specified as a value between 0.0 and 1.0 inclusive. The default value is 1.0.
-    "preserveNulls": True or False, # [Experimental] If set, preserve null values in table data, rather than mapping null values to the column's default value. This flag currently defaults to false, but the default will soon be changed to true. Shortly afterward, this flag will be removed completely. Please specify true if possible, and false only if you need to force the old behavior while updating client code.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "bigquery#queryResponse", # The resource type.
-    "rows": [ # An object with as many results as can be contained within the maximum permitted reply size. To get any additional rows, you can call GetQueryResults and specify the jobReference returned above.
-      { # Represents a single row in the result set, consisting of one or more fields.
-        "f": [
-          { # Represents a single cell in the result set. Users of the java client can detect whether their value result is null by calling 'com.google.api.client.util.Data.isNull(cell.getV())'.
-            "v": "",
-          },
-        ],
-      },
-    ],
-    "jobReference": { # Reference to the Job that was created to run the query. This field will be present even if the original request timed out, in which case GetQueryResults can be used to read the results once the query has completed. Since this API only returns the first page of results, subsequent pages can be fetched via the same mechanism (GetQueryResults).
-      "projectId": "A String", # [Required] Project ID being billed for the job.
-      "jobId": "A String", # [Required] ID of the job.
-    },
-    "pageToken": "A String", # A token used for paging results.
-    "jobComplete": True or False, # Whether the query has completed or not. If rows or totalRows are present, this will always be true. If this is false, totalRows will not be available.
-    "totalRows": "A String", # The total number of rows in the complete query result set, which can be more than the number of rows in this single page of results.
-    "totalBytesProcessed": "A String", # The total number of bytes processed for this query. If this query was a dry run, this is the number of bytes that would be processed if the query were run.
-    "cacheHit": True or False, # Whether the query result was fetched from the query cache.
-    "schema": { # The schema of the results. Present only when the query completes successfully.
-      "fields": [ # Describes the fields in a table.
-        {
-          "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
-            # Object with schema name: TableFieldSchema
-          ],
-          "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-          "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
-          "name": "A String", # [Required] The field name.
-        },
-      ],
-    },
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/bigquery_v2.projects.html b/docs/dyn/bigquery_v2.projects.html
deleted file mode 100644
index df10a23..0000000
--- a/docs/dyn/bigquery_v2.projects.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="bigquery_v2.html">BigQuery API</a> . <a href="bigquery_v2.projects.html">projects</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Lists the projects to which you have at least read access.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
-  <pre>Lists the projects to which you have at least read access.
-
-Args:
-  pageToken: string, Page token, returned by a previous call, to request the next page of results
-  maxResults: integer, Maximum number of results to return
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token to request the next page of results.
-    "totalItems": 42, # The total number of projects in the list.
-    "kind": "bigquery#projectList", # The type of list.
-    "etag": "A String", # A hash of the page of results
-    "projects": [ # Projects to which you have at least READ access.
-      {
-        "friendlyName": "A String", # A descriptive name for this project.
-        "kind": "bigquery#project", # The resource type.
-        "numericId": "A String", # The numeric ID of this project.
-        "id": "A String", # An opaque ID of this project.
-        "projectReference": { # A unique reference to this project.
-          "projectId": "A String", # [Required] ID of the project. Can be either the numeric ID or the assigned ID of the project.
-        },
-      },
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/bigquery_v2.tabledata.html b/docs/dyn/bigquery_v2.tabledata.html
deleted file mode 100644
index d63b287..0000000
--- a/docs/dyn/bigquery_v2.tabledata.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="bigquery_v2.html">BigQuery API</a> . <a href="bigquery_v2.tabledata.html">tabledata</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(projectId, datasetId, tableId, pageToken=None, maxResults=None, startIndex=None)</a></code></p>
-<p class="firstline">Retrieves table data from a specified set of rows.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(projectId, datasetId, tableId, pageToken=None, maxResults=None, startIndex=None)</code>
-  <pre>Retrieves table data from a specified set of rows.
-
-Args:
-  projectId: string, Project ID of the table to read (required)
-  datasetId: string, Dataset ID of the table to read (required)
-  tableId: string, Table ID of the table to read (required)
-  pageToken: string, Page token, returned by a previous call, identifying the result set
-  maxResults: integer, Maximum number of results to return
-  startIndex: string, Zero-based index of the starting row to read
-
-Returns:
-  An object of the form:
-
-    {
-    "pageToken": "A String", # A token used for paging results. Providing this token instead of the startRow parameter can help you retrieve stable results when an underlying table is changing.
-    "kind": "bigquery#tableDataList", # The resource type of the response.
-    "etag": "A String", # A hash of this page of results.
-    "rows": [ # Rows of results.
-      { # Represents a single row in the result set, consisting of one or more fields.
-        "f": [
-          { # Represents a single cell in the result set. Users of the java client can detect whether their value result is null by calling 'com.google.api.client.util.Data.isNull(cell.getV())'.
-            "v": "",
-          },
-        ],
-      },
-    ],
-    "totalRows": "A String", # The total number of rows in the complete table.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/bigquery_v2.tables.html b/docs/dyn/bigquery_v2.tables.html
deleted file mode 100644
index c3248fe..0000000
--- a/docs/dyn/bigquery_v2.tables.html
+++ /dev/null
@@ -1,434 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="bigquery_v2.html">BigQuery API</a> . <a href="bigquery_v2.tables.html">tables</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(projectId, datasetId, tableId)</a></code></p>
-<p class="firstline">Deletes the table specified by tableId from the dataset. If the table contains data, all the data will be deleted.</p>
-<p class="toc_element">
-  <code><a href="#get">get(projectId, datasetId, tableId)</a></code></p>
-<p class="firstline">Gets the specified table resource by table ID. This method does not return the data in the table, it only returns the table resource, which describes the structure of this table.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(projectId, datasetId, body)</a></code></p>
-<p class="firstline">Creates a new, empty table in the dataset.</p>
-<p class="toc_element">
-  <code><a href="#list">list(projectId, datasetId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Lists all tables in the specified dataset.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(projectId, datasetId, tableId, body)</a></code></p>
-<p class="firstline">Updates information in an existing table, specified by tableId. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(projectId, datasetId, tableId, body)</a></code></p>
-<p class="firstline">Updates information in an existing table, specified by tableId.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(projectId, datasetId, tableId)</code>
-  <pre>Deletes the table specified by tableId from the dataset. If the table contains data, all the data will be deleted.
-
-Args:
-  projectId: string, Project ID of the table to delete (required)
-  datasetId: string, Dataset ID of the table to delete (required)
-  tableId: string, Table ID of the table to delete (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(projectId, datasetId, tableId)</code>
-  <pre>Gets the specified table resource by table ID. This method does not return the data in the table, it only returns the table resource, which describes the structure of this table.
-
-Args:
-  projectId: string, Project ID of the requested table (required)
-  datasetId: string, Dataset ID of the requested table (required)
-  tableId: string, Table ID of the requested table (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "bigquery#table", # [Output-only] The type of the resource.
-      "lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch.
-      "description": "A String", # [Optional] A user-friendly description of this table.
-      "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
-      "tableReference": { # [Required] Reference describing the ID of this table.
-        "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-        "tableId": "A String", # [Required] ID of the table.
-        "datasetId": "A String", # [Required] ID of the dataset containing the table.
-      },
-      "numRows": "A String", # [Output-only] The number of rows of data in this table.
-      "numBytes": "A String", # [Output-only] The size of the table in bytes.
-      "etag": "A String", # [Output-only] A hash of this resource.
-      "friendlyName": "A String", # [Optional] A descriptive name for this table.
-      "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
-      "id": "A String", # [Output-only] An opaque ID uniquely identifying the table.
-      "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
-      "schema": { # [Optional] Describes the schema of this table.
-        "fields": [ # Describes the fields in a table.
-          {
-            "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
-              # Object with schema name: TableFieldSchema
-            ],
-            "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-            "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
-            "name": "A String", # [Required] The field name.
-          },
-        ],
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(projectId, datasetId, body)</code>
-  <pre>Creates a new, empty table in the dataset.
-
-Args:
-  projectId: string, Project ID of the new table (required)
-  datasetId: string, Dataset ID of the new table (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "bigquery#table", # [Output-only] The type of the resource.
-    "lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch.
-    "description": "A String", # [Optional] A user-friendly description of this table.
-    "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
-    "tableReference": { # [Required] Reference describing the ID of this table.
-      "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-      "tableId": "A String", # [Required] ID of the table.
-      "datasetId": "A String", # [Required] ID of the dataset containing the table.
-    },
-    "numRows": "A String", # [Output-only] The number of rows of data in this table.
-    "numBytes": "A String", # [Output-only] The size of the table in bytes.
-    "etag": "A String", # [Output-only] A hash of this resource.
-    "friendlyName": "A String", # [Optional] A descriptive name for this table.
-    "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
-    "id": "A String", # [Output-only] An opaque ID uniquely identifying the table.
-    "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
-    "schema": { # [Optional] Describes the schema of this table.
-      "fields": [ # Describes the fields in a table.
-        {
-          "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
-            # Object with schema name: TableFieldSchema
-          ],
-          "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-          "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
-          "name": "A String", # [Required] The field name.
-        },
-      ],
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "bigquery#table", # [Output-only] The type of the resource.
-      "lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch.
-      "description": "A String", # [Optional] A user-friendly description of this table.
-      "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
-      "tableReference": { # [Required] Reference describing the ID of this table.
-        "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-        "tableId": "A String", # [Required] ID of the table.
-        "datasetId": "A String", # [Required] ID of the dataset containing the table.
-      },
-      "numRows": "A String", # [Output-only] The number of rows of data in this table.
-      "numBytes": "A String", # [Output-only] The size of the table in bytes.
-      "etag": "A String", # [Output-only] A hash of this resource.
-      "friendlyName": "A String", # [Optional] A descriptive name for this table.
-      "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
-      "id": "A String", # [Output-only] An opaque ID uniquely identifying the table.
-      "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
-      "schema": { # [Optional] Describes the schema of this table.
-        "fields": [ # Describes the fields in a table.
-          {
-            "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
-              # Object with schema name: TableFieldSchema
-            ],
-            "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-            "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
-            "name": "A String", # [Required] The field name.
-          },
-        ],
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(projectId, datasetId, pageToken=None, maxResults=None)</code>
-  <pre>Lists all tables in the specified dataset.
-
-Args:
-  projectId: string, Project ID of the tables to list (required)
-  datasetId: string, Dataset ID of the tables to list (required)
-  pageToken: string, Page token, returned by a previous call, to request the next page of results
-  maxResults: integer, Maximum number of results to return
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token to request the next page of results.
-    "tables": [ # Tables in the requested dataset.
-      {
-        "friendlyName": "A String", # The user-friendly name for this table.
-        "kind": "bigquery#table", # The resource type.
-        "id": "A String", # An opaque ID of the table
-        "tableReference": { # A reference uniquely identifying the table.
-          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-          "tableId": "A String", # [Required] ID of the table.
-          "datasetId": "A String", # [Required] ID of the dataset containing the table.
-        },
-      },
-    ],
-    "kind": "bigquery#tableList", # The type of list.
-    "etag": "A String", # A hash of this page of results.
-    "totalItems": 42, # The total number of tables in the dataset.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(projectId, datasetId, tableId, body)</code>
-  <pre>Updates information in an existing table, specified by tableId. This method supports patch semantics.
-
-Args:
-  projectId: string, Project ID of the table to update (required)
-  datasetId: string, Dataset ID of the table to update (required)
-  tableId: string, Table ID of the table to update (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "bigquery#table", # [Output-only] The type of the resource.
-    "lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch.
-    "description": "A String", # [Optional] A user-friendly description of this table.
-    "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
-    "tableReference": { # [Required] Reference describing the ID of this table.
-      "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-      "tableId": "A String", # [Required] ID of the table.
-      "datasetId": "A String", # [Required] ID of the dataset containing the table.
-    },
-    "numRows": "A String", # [Output-only] The number of rows of data in this table.
-    "numBytes": "A String", # [Output-only] The size of the table in bytes.
-    "etag": "A String", # [Output-only] A hash of this resource.
-    "friendlyName": "A String", # [Optional] A descriptive name for this table.
-    "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
-    "id": "A String", # [Output-only] An opaque ID uniquely identifying the table.
-    "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
-    "schema": { # [Optional] Describes the schema of this table.
-      "fields": [ # Describes the fields in a table.
-        {
-          "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
-            # Object with schema name: TableFieldSchema
-          ],
-          "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-          "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
-          "name": "A String", # [Required] The field name.
-        },
-      ],
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "bigquery#table", # [Output-only] The type of the resource.
-      "lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch.
-      "description": "A String", # [Optional] A user-friendly description of this table.
-      "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
-      "tableReference": { # [Required] Reference describing the ID of this table.
-        "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-        "tableId": "A String", # [Required] ID of the table.
-        "datasetId": "A String", # [Required] ID of the dataset containing the table.
-      },
-      "numRows": "A String", # [Output-only] The number of rows of data in this table.
-      "numBytes": "A String", # [Output-only] The size of the table in bytes.
-      "etag": "A String", # [Output-only] A hash of this resource.
-      "friendlyName": "A String", # [Optional] A descriptive name for this table.
-      "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
-      "id": "A String", # [Output-only] An opaque ID uniquely identifying the table.
-      "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
-      "schema": { # [Optional] Describes the schema of this table.
-        "fields": [ # Describes the fields in a table.
-          {
-            "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
-              # Object with schema name: TableFieldSchema
-            ],
-            "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-            "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
-            "name": "A String", # [Required] The field name.
-          },
-        ],
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(projectId, datasetId, tableId, body)</code>
-  <pre>Updates information in an existing table, specified by tableId.
-
-Args:
-  projectId: string, Project ID of the table to update (required)
-  datasetId: string, Dataset ID of the table to update (required)
-  tableId: string, Table ID of the table to update (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "bigquery#table", # [Output-only] The type of the resource.
-    "lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch.
-    "description": "A String", # [Optional] A user-friendly description of this table.
-    "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
-    "tableReference": { # [Required] Reference describing the ID of this table.
-      "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-      "tableId": "A String", # [Required] ID of the table.
-      "datasetId": "A String", # [Required] ID of the dataset containing the table.
-    },
-    "numRows": "A String", # [Output-only] The number of rows of data in this table.
-    "numBytes": "A String", # [Output-only] The size of the table in bytes.
-    "etag": "A String", # [Output-only] A hash of this resource.
-    "friendlyName": "A String", # [Optional] A descriptive name for this table.
-    "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
-    "id": "A String", # [Output-only] An opaque ID uniquely identifying the table.
-    "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
-    "schema": { # [Optional] Describes the schema of this table.
-      "fields": [ # Describes the fields in a table.
-        {
-          "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
-            # Object with schema name: TableFieldSchema
-          ],
-          "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-          "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
-          "name": "A String", # [Required] The field name.
-        },
-      ],
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "bigquery#table", # [Output-only] The type of the resource.
-      "lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch.
-      "description": "A String", # [Optional] A user-friendly description of this table.
-      "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
-      "tableReference": { # [Required] Reference describing the ID of this table.
-        "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-        "tableId": "A String", # [Required] ID of the table.
-        "datasetId": "A String", # [Required] ID of the dataset containing the table.
-      },
-      "numRows": "A String", # [Output-only] The number of rows of data in this table.
-      "numBytes": "A String", # [Output-only] The size of the table in bytes.
-      "etag": "A String", # [Output-only] A hash of this resource.
-      "friendlyName": "A String", # [Optional] A descriptive name for this table.
-      "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
-      "id": "A String", # [Output-only] An opaque ID uniquely identifying the table.
-      "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
-      "schema": { # [Optional] Describes the schema of this table.
-        "fields": [ # Describes the fields in a table.
-          {
-            "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
-              # Object with schema name: TableFieldSchema
-            ],
-            "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-            "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
-            "name": "A String", # [Required] The field name.
-          },
-        ],
-      },
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger_v3.blogUserInfos.html b/docs/dyn/blogger_v3.blogUserInfos.html
deleted file mode 100644
index e8a58ec..0000000
--- a/docs/dyn/blogger_v3.blogUserInfos.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="blogger_v3.html">Blogger API</a> . <a href="blogger_v3.blogUserInfos.html">blogUserInfos</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(userId, blogId, maxPosts=None)</a></code></p>
-<p class="firstline">Gets one blog and user info pair by blogId and userId.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(userId, blogId, maxPosts=None)</code>
-  <pre>Gets one blog and user info pair by blogId and userId.
-
-Args:
-  userId: string, ID of the user whose blogs are to be fetched. Either the word 'self' (sans quote marks) or the user's profile identifier. (required)
-  blogId: string, The ID of the blog to get. (required)
-  maxPosts: integer, Maximum number of posts to pull back with the blog.
-
-Returns:
-  An object of the form:
-
-    {
-    "blog": {
-      "kind": "blogger#blog", # The kind of this entry. Always blogger#blog
-      "description": "A String", # The description of this blog. This is displayed underneath the title.
-      "locale": { # The locale this Blog is set to.
-        "country": "A String", # The country this blog's locale is set to.
-        "variant": "A String", # The language variant this blog is authored in.
-        "language": "A String", # The language this blog is authored in.
-      },
-      "posts": { # The container of posts in this blog.
-        "totalItems": 42, # The count of posts in this blog.
-        "items": [ # The List of Posts for this Blog.
-          {
-            "content": "A String", # The content of the Post. May contain HTML markup.
-            "kind": "blogger#post", # The kind of this entity. Always blogger#post
-            "author": { # The author of this Post.
-              "url": "A String", # The URL of the Post creator's Profile page.
-              "image": { # The Post author's avatar.
-                "url": "A String", # The Post author's avatar URL.
-              },
-              "displayName": "A String", # The display name.
-              "id": "A String", # The identifier of the Post creator.
-            },
-            "replies": { # The container of comments on this Post.
-              "totalItems": "A String", # The count of comments on this post.
-              "items": [ # The List of Comments for this Post.
-                {
-                  "content": "A String", # The actual content of the comment. May include HTML markup.
-                  "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
-                  "inReplyTo": { # Data about the comment this is in reply to.
-                    "id": "A String", # The identified of the parent of this comment.
-                  },
-                  "author": { # The author of this Comment.
-                    "url": "A String", # The URL of the Comment creator's Profile page.
-                    "image": { # The comment creator's avatar.
-                      "url": "A String", # The comment creator's avatar URL.
-                    },
-                    "displayName": "A String", # The display name.
-                    "id": "A String", # The identifier of the Comment creator.
-                  },
-                  "updated": "A String", # RFC 3339 date-time when this comment was last updated.
-                  "blog": { # Data about the blog containing this comment.
-                    "id": "A String", # The identifier of the blog containing this comment.
-                  },
-                  "published": "A String", # RFC 3339 date-time when this comment was published.
-                  "post": { # Data about the post containing this comment.
-                    "id": "A String", # The identifier of the post containing this comment.
-                  },
-                  "id": "A String", # The identifier for this resource.
-                  "selfLink": "A String", # The API REST URL to fetch this resource from.
-                },
-              ],
-              "selfLink": "A String", # The URL of the comments on this post.
-            },
-            "labels": [ # The list of labels this Post was tagged with.
-              "A String",
-            ],
-            "customMetaData": "A String", # The JSON meta-data for the Post.
-            "updated": "A String", # RFC 3339 date-time when this Post was last updated.
-            "blog": { # Data about the blog containing this Post.
-              "id": "A String", # The identifier of the Blog that contains this Post.
-            },
-            "url": "A String", # The URL where this Post is displayed.
-            "location": { # The location for geotagged posts.
-              "lat": 3.14, # Location's latitude.
-              "lng": 3.14, # Location's longitude.
-              "span": "A String", # Location's viewport span. Can be used when rendering a map preview.
-              "name": "A String", # Location name.
-            },
-            "published": "A String", # RFC 3339 date-time when this Post was published.
-            "title": "A String", # The title of the Post.
-            "id": "A String", # The identifier of this Post.
-            "selfLink": "A String", # The API REST URL to fetch this resource from.
-          },
-        ],
-        "selfLink": "A String", # The URL of the container for posts in this blog.
-      },
-      "customMetaData": "A String", # The JSON custom meta-data for the Blog
-      "updated": "A String", # RFC 3339 date-time when this blog was last updated.
-      "pages": { # The container of pages in this blog.
-        "totalItems": 42, # The count of pages in this blog.
-        "selfLink": "A String", # The URL of the container for pages in this blog.
-      },
-      "url": "A String", # The URL where this blog is published.
-      "published": "A String", # RFC 3339 date-time when this blog was published.
-      "id": "A String", # The identifier for this resource.
-      "selfLink": "A String", # The API REST URL to fetch this resource from.
-      "name": "A String", # The name of this blog. This is displayed as the title.
-    },
-    "kind": "blogger#blogUserInfo",
-    "user": {
-      "kind": "blogger#blogPerUserInfo",
-      "userId": "A String",
-      "blogId": "A String",
-      "photosAlbumKey": "A String",
-    },
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger_v3.blogs.html b/docs/dyn/blogger_v3.blogs.html
deleted file mode 100644
index 060c71e..0000000
--- a/docs/dyn/blogger_v3.blogs.html
+++ /dev/null
@@ -1,393 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="blogger_v3.html">Blogger API</a> . <a href="blogger_v3.blogs.html">blogs</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(blogId, maxPosts=None)</a></code></p>
-<p class="firstline">Gets one blog by id.</p>
-<p class="toc_element">
-  <code><a href="#getByUrl">getByUrl(url)</a></code></p>
-<p class="firstline">Retrieve a Blog by URL.</p>
-<p class="toc_element">
-  <code><a href="#listByUser">listByUser(userId)</a></code></p>
-<p class="firstline">Retrieves a list of blogs, possibly filtered.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(blogId, maxPosts=None)</code>
-  <pre>Gets one blog by id.
-
-Args:
-  blogId: string, The ID of the blog to get. (required)
-  maxPosts: integer, Maximum number of posts to pull back with the blog.
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "blogger#blog", # The kind of this entry. Always blogger#blog
-    "description": "A String", # The description of this blog. This is displayed underneath the title.
-    "locale": { # The locale this Blog is set to.
-      "country": "A String", # The country this blog's locale is set to.
-      "variant": "A String", # The language variant this blog is authored in.
-      "language": "A String", # The language this blog is authored in.
-    },
-    "posts": { # The container of posts in this blog.
-      "totalItems": 42, # The count of posts in this blog.
-      "items": [ # The List of Posts for this Blog.
-        {
-          "content": "A String", # The content of the Post. May contain HTML markup.
-          "kind": "blogger#post", # The kind of this entity. Always blogger#post
-          "author": { # The author of this Post.
-            "url": "A String", # The URL of the Post creator's Profile page.
-            "image": { # The Post author's avatar.
-              "url": "A String", # The Post author's avatar URL.
-            },
-            "displayName": "A String", # The display name.
-            "id": "A String", # The identifier of the Post creator.
-          },
-          "replies": { # The container of comments on this Post.
-            "totalItems": "A String", # The count of comments on this post.
-            "items": [ # The List of Comments for this Post.
-              {
-                "content": "A String", # The actual content of the comment. May include HTML markup.
-                "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
-                "inReplyTo": { # Data about the comment this is in reply to.
-                  "id": "A String", # The identified of the parent of this comment.
-                },
-                "author": { # The author of this Comment.
-                  "url": "A String", # The URL of the Comment creator's Profile page.
-                  "image": { # The comment creator's avatar.
-                    "url": "A String", # The comment creator's avatar URL.
-                  },
-                  "displayName": "A String", # The display name.
-                  "id": "A String", # The identifier of the Comment creator.
-                },
-                "updated": "A String", # RFC 3339 date-time when this comment was last updated.
-                "blog": { # Data about the blog containing this comment.
-                  "id": "A String", # The identifier of the blog containing this comment.
-                },
-                "published": "A String", # RFC 3339 date-time when this comment was published.
-                "post": { # Data about the post containing this comment.
-                  "id": "A String", # The identifier of the post containing this comment.
-                },
-                "id": "A String", # The identifier for this resource.
-                "selfLink": "A String", # The API REST URL to fetch this resource from.
-              },
-            ],
-            "selfLink": "A String", # The URL of the comments on this post.
-          },
-          "labels": [ # The list of labels this Post was tagged with.
-            "A String",
-          ],
-          "customMetaData": "A String", # The JSON meta-data for the Post.
-          "updated": "A String", # RFC 3339 date-time when this Post was last updated.
-          "blog": { # Data about the blog containing this Post.
-            "id": "A String", # The identifier of the Blog that contains this Post.
-          },
-          "url": "A String", # The URL where this Post is displayed.
-          "location": { # The location for geotagged posts.
-            "lat": 3.14, # Location's latitude.
-            "lng": 3.14, # Location's longitude.
-            "span": "A String", # Location's viewport span. Can be used when rendering a map preview.
-            "name": "A String", # Location name.
-          },
-          "published": "A String", # RFC 3339 date-time when this Post was published.
-          "title": "A String", # The title of the Post.
-          "id": "A String", # The identifier of this Post.
-          "selfLink": "A String", # The API REST URL to fetch this resource from.
-        },
-      ],
-      "selfLink": "A String", # The URL of the container for posts in this blog.
-    },
-    "customMetaData": "A String", # The JSON custom meta-data for the Blog
-    "updated": "A String", # RFC 3339 date-time when this blog was last updated.
-    "pages": { # The container of pages in this blog.
-      "totalItems": 42, # The count of pages in this blog.
-      "selfLink": "A String", # The URL of the container for pages in this blog.
-    },
-    "url": "A String", # The URL where this blog is published.
-    "published": "A String", # RFC 3339 date-time when this blog was published.
-    "id": "A String", # The identifier for this resource.
-    "selfLink": "A String", # The API REST URL to fetch this resource from.
-    "name": "A String", # The name of this blog. This is displayed as the title.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="getByUrl">getByUrl(url)</code>
-  <pre>Retrieve a Blog by URL.
-
-Args:
-  url: string, The URL of the blog to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "blogger#blog", # The kind of this entry. Always blogger#blog
-    "description": "A String", # The description of this blog. This is displayed underneath the title.
-    "locale": { # The locale this Blog is set to.
-      "country": "A String", # The country this blog's locale is set to.
-      "variant": "A String", # The language variant this blog is authored in.
-      "language": "A String", # The language this blog is authored in.
-    },
-    "posts": { # The container of posts in this blog.
-      "totalItems": 42, # The count of posts in this blog.
-      "items": [ # The List of Posts for this Blog.
-        {
-          "content": "A String", # The content of the Post. May contain HTML markup.
-          "kind": "blogger#post", # The kind of this entity. Always blogger#post
-          "author": { # The author of this Post.
-            "url": "A String", # The URL of the Post creator's Profile page.
-            "image": { # The Post author's avatar.
-              "url": "A String", # The Post author's avatar URL.
-            },
-            "displayName": "A String", # The display name.
-            "id": "A String", # The identifier of the Post creator.
-          },
-          "replies": { # The container of comments on this Post.
-            "totalItems": "A String", # The count of comments on this post.
-            "items": [ # The List of Comments for this Post.
-              {
-                "content": "A String", # The actual content of the comment. May include HTML markup.
-                "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
-                "inReplyTo": { # Data about the comment this is in reply to.
-                  "id": "A String", # The identified of the parent of this comment.
-                },
-                "author": { # The author of this Comment.
-                  "url": "A String", # The URL of the Comment creator's Profile page.
-                  "image": { # The comment creator's avatar.
-                    "url": "A String", # The comment creator's avatar URL.
-                  },
-                  "displayName": "A String", # The display name.
-                  "id": "A String", # The identifier of the Comment creator.
-                },
-                "updated": "A String", # RFC 3339 date-time when this comment was last updated.
-                "blog": { # Data about the blog containing this comment.
-                  "id": "A String", # The identifier of the blog containing this comment.
-                },
-                "published": "A String", # RFC 3339 date-time when this comment was published.
-                "post": { # Data about the post containing this comment.
-                  "id": "A String", # The identifier of the post containing this comment.
-                },
-                "id": "A String", # The identifier for this resource.
-                "selfLink": "A String", # The API REST URL to fetch this resource from.
-              },
-            ],
-            "selfLink": "A String", # The URL of the comments on this post.
-          },
-          "labels": [ # The list of labels this Post was tagged with.
-            "A String",
-          ],
-          "customMetaData": "A String", # The JSON meta-data for the Post.
-          "updated": "A String", # RFC 3339 date-time when this Post was last updated.
-          "blog": { # Data about the blog containing this Post.
-            "id": "A String", # The identifier of the Blog that contains this Post.
-          },
-          "url": "A String", # The URL where this Post is displayed.
-          "location": { # The location for geotagged posts.
-            "lat": 3.14, # Location's latitude.
-            "lng": 3.14, # Location's longitude.
-            "span": "A String", # Location's viewport span. Can be used when rendering a map preview.
-            "name": "A String", # Location name.
-          },
-          "published": "A String", # RFC 3339 date-time when this Post was published.
-          "title": "A String", # The title of the Post.
-          "id": "A String", # The identifier of this Post.
-          "selfLink": "A String", # The API REST URL to fetch this resource from.
-        },
-      ],
-      "selfLink": "A String", # The URL of the container for posts in this blog.
-    },
-    "customMetaData": "A String", # The JSON custom meta-data for the Blog
-    "updated": "A String", # RFC 3339 date-time when this blog was last updated.
-    "pages": { # The container of pages in this blog.
-      "totalItems": 42, # The count of pages in this blog.
-      "selfLink": "A String", # The URL of the container for pages in this blog.
-    },
-    "url": "A String", # The URL where this blog is published.
-    "published": "A String", # RFC 3339 date-time when this blog was published.
-    "id": "A String", # The identifier for this resource.
-    "selfLink": "A String", # The API REST URL to fetch this resource from.
-    "name": "A String", # The name of this blog. This is displayed as the title.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="listByUser">listByUser(userId)</code>
-  <pre>Retrieves a list of blogs, possibly filtered.
-
-Args:
-  userId: string, ID of the user whose blogs are to be fetched. Either the word 'self' (sans quote marks) or the user's profile identifier. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # The list of Blogs this user has Authorship or Admin rights over.
-      {
-        "kind": "blogger#blog", # The kind of this entry. Always blogger#blog
-        "description": "A String", # The description of this blog. This is displayed underneath the title.
-        "locale": { # The locale this Blog is set to.
-          "country": "A String", # The country this blog's locale is set to.
-          "variant": "A String", # The language variant this blog is authored in.
-          "language": "A String", # The language this blog is authored in.
-        },
-        "posts": { # The container of posts in this blog.
-          "totalItems": 42, # The count of posts in this blog.
-          "items": [ # The List of Posts for this Blog.
-            {
-              "content": "A String", # The content of the Post. May contain HTML markup.
-              "kind": "blogger#post", # The kind of this entity. Always blogger#post
-              "author": { # The author of this Post.
-                "url": "A String", # The URL of the Post creator's Profile page.
-                "image": { # The Post author's avatar.
-                  "url": "A String", # The Post author's avatar URL.
-                },
-                "displayName": "A String", # The display name.
-                "id": "A String", # The identifier of the Post creator.
-              },
-              "replies": { # The container of comments on this Post.
-                "totalItems": "A String", # The count of comments on this post.
-                "items": [ # The List of Comments for this Post.
-                  {
-                    "content": "A String", # The actual content of the comment. May include HTML markup.
-                    "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
-                    "inReplyTo": { # Data about the comment this is in reply to.
-                      "id": "A String", # The identified of the parent of this comment.
-                    },
-                    "author": { # The author of this Comment.
-                      "url": "A String", # The URL of the Comment creator's Profile page.
-                      "image": { # The comment creator's avatar.
-                        "url": "A String", # The comment creator's avatar URL.
-                      },
-                      "displayName": "A String", # The display name.
-                      "id": "A String", # The identifier of the Comment creator.
-                    },
-                    "updated": "A String", # RFC 3339 date-time when this comment was last updated.
-                    "blog": { # Data about the blog containing this comment.
-                      "id": "A String", # The identifier of the blog containing this comment.
-                    },
-                    "published": "A String", # RFC 3339 date-time when this comment was published.
-                    "post": { # Data about the post containing this comment.
-                      "id": "A String", # The identifier of the post containing this comment.
-                    },
-                    "id": "A String", # The identifier for this resource.
-                    "selfLink": "A String", # The API REST URL to fetch this resource from.
-                  },
-                ],
-                "selfLink": "A String", # The URL of the comments on this post.
-              },
-              "labels": [ # The list of labels this Post was tagged with.
-                "A String",
-              ],
-              "customMetaData": "A String", # The JSON meta-data for the Post.
-              "updated": "A String", # RFC 3339 date-time when this Post was last updated.
-              "blog": { # Data about the blog containing this Post.
-                "id": "A String", # The identifier of the Blog that contains this Post.
-              },
-              "url": "A String", # The URL where this Post is displayed.
-              "location": { # The location for geotagged posts.
-                "lat": 3.14, # Location's latitude.
-                "lng": 3.14, # Location's longitude.
-                "span": "A String", # Location's viewport span. Can be used when rendering a map preview.
-                "name": "A String", # Location name.
-              },
-              "published": "A String", # RFC 3339 date-time when this Post was published.
-              "title": "A String", # The title of the Post.
-              "id": "A String", # The identifier of this Post.
-              "selfLink": "A String", # The API REST URL to fetch this resource from.
-            },
-          ],
-          "selfLink": "A String", # The URL of the container for posts in this blog.
-        },
-        "customMetaData": "A String", # The JSON custom meta-data for the Blog
-        "updated": "A String", # RFC 3339 date-time when this blog was last updated.
-        "pages": { # The container of pages in this blog.
-          "totalItems": 42, # The count of pages in this blog.
-          "selfLink": "A String", # The URL of the container for pages in this blog.
-        },
-        "url": "A String", # The URL where this blog is published.
-        "published": "A String", # RFC 3339 date-time when this blog was published.
-        "id": "A String", # The identifier for this resource.
-        "selfLink": "A String", # The API REST URL to fetch this resource from.
-        "name": "A String", # The name of this blog. This is displayed as the title.
-      },
-    ],
-    "kind": "blogger#blogList", # The kind of this entity. Always blogger#blogList
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger_v3.comments.html b/docs/dyn/blogger_v3.comments.html
deleted file mode 100644
index 6c8356a..0000000
--- a/docs/dyn/blogger_v3.comments.html
+++ /dev/null
@@ -1,190 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="blogger_v3.html">Blogger API</a> . <a href="blogger_v3.comments.html">comments</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(blogId, postId, commentId)</a></code></p>
-<p class="firstline">Gets one comment by id.</p>
-<p class="toc_element">
-  <code><a href="#list">list(blogId, postId, startDate=None, fetchBodies=None, endDate=None, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Retrieves the comments for a blog, possibly filtered.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(blogId, postId, commentId)</code>
-  <pre>Gets one comment by id.
-
-Args:
-  blogId: string, ID of the blog to containing the comment. (required)
-  postId: string, ID of the post to fetch posts from. (required)
-  commentId: string, The ID of the comment to get. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "content": "A String", # The actual content of the comment. May include HTML markup.
-    "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
-    "inReplyTo": { # Data about the comment this is in reply to.
-      "id": "A String", # The identified of the parent of this comment.
-    },
-    "author": { # The author of this Comment.
-      "url": "A String", # The URL of the Comment creator's Profile page.
-      "image": { # The comment creator's avatar.
-        "url": "A String", # The comment creator's avatar URL.
-      },
-      "displayName": "A String", # The display name.
-      "id": "A String", # The identifier of the Comment creator.
-    },
-    "updated": "A String", # RFC 3339 date-time when this comment was last updated.
-    "blog": { # Data about the blog containing this comment.
-      "id": "A String", # The identifier of the blog containing this comment.
-    },
-    "published": "A String", # RFC 3339 date-time when this comment was published.
-    "post": { # Data about the post containing this comment.
-      "id": "A String", # The identifier of the post containing this comment.
-    },
-    "id": "A String", # The identifier for this resource.
-    "selfLink": "A String", # The API REST URL to fetch this resource from.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(blogId, postId, startDate=None, fetchBodies=None, endDate=None, pageToken=None, maxResults=None)</code>
-  <pre>Retrieves the comments for a blog, possibly filtered.
-
-Args:
-  blogId: string, ID of the blog to fetch comments from. (required)
-  postId: string, ID of the post to fetch posts from. (required)
-  startDate: string, Earliest date of comment to fetch, a date-time with RFC 3339 formatting.
-  fetchBodies: boolean, Whether the body content of the comments is included.
-  endDate: string, Latest date of comment to fetch, a date-time with RFC 3339 formatting.
-  pageToken: string, Continuation token if request is paged.
-  maxResults: integer, Maximum number of comments to include in the result.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Pagination token to fetch the next page, if one exists.
-    "items": [ # The List of Comments for a Post.
-      {
-        "content": "A String", # The actual content of the comment. May include HTML markup.
-        "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
-        "inReplyTo": { # Data about the comment this is in reply to.
-          "id": "A String", # The identified of the parent of this comment.
-        },
-        "author": { # The author of this Comment.
-          "url": "A String", # The URL of the Comment creator's Profile page.
-          "image": { # The comment creator's avatar.
-            "url": "A String", # The comment creator's avatar URL.
-          },
-          "displayName": "A String", # The display name.
-          "id": "A String", # The identifier of the Comment creator.
-        },
-        "updated": "A String", # RFC 3339 date-time when this comment was last updated.
-        "blog": { # Data about the blog containing this comment.
-          "id": "A String", # The identifier of the blog containing this comment.
-        },
-        "published": "A String", # RFC 3339 date-time when this comment was published.
-        "post": { # Data about the post containing this comment.
-          "id": "A String", # The identifier of the post containing this comment.
-        },
-        "id": "A String", # The identifier for this resource.
-        "selfLink": "A String", # The API REST URL to fetch this resource from.
-      },
-    ],
-    "kind": "blogger#commentList", # The kind of this entry. Always blogger#commentList
-    "prevPageToken": "A String", # Pagination token to fetch the previous page, if one exists.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger_v3.html b/docs/dyn/blogger_v3.html
deleted file mode 100644
index e0b84e2..0000000
--- a/docs/dyn/blogger_v3.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="blogger_v3.html">Blogger API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="blogger_v3.blogUserInfos.html">blogUserInfos()</a></code>
-</p>
-<p class="firstline">Returns the blogUserInfos Resource.</p>
-
-<p class="toc_element">
-  <code><a href="blogger_v3.blogs.html">blogs()</a></code>
-</p>
-<p class="firstline">Returns the blogs Resource.</p>
-
-<p class="toc_element">
-  <code><a href="blogger_v3.comments.html">comments()</a></code>
-</p>
-<p class="firstline">Returns the comments Resource.</p>
-
-<p class="toc_element">
-  <code><a href="blogger_v3.pages.html">pages()</a></code>
-</p>
-<p class="firstline">Returns the pages Resource.</p>
-
-<p class="toc_element">
-  <code><a href="blogger_v3.posts.html">posts()</a></code>
-</p>
-<p class="firstline">Returns the posts Resource.</p>
-
-<p class="toc_element">
-  <code><a href="blogger_v3.users.html">users()</a></code>
-</p>
-<p class="firstline">Returns the users Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger_v3.pages.html b/docs/dyn/blogger_v3.pages.html
deleted file mode 100644
index cb588f1..0000000
--- a/docs/dyn/blogger_v3.pages.html
+++ /dev/null
@@ -1,157 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="blogger_v3.html">Blogger API</a> . <a href="blogger_v3.pages.html">pages</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(blogId, pageId)</a></code></p>
-<p class="firstline">Gets one blog page by id.</p>
-<p class="toc_element">
-  <code><a href="#list">list(blogId, fetchBodies=None)</a></code></p>
-<p class="firstline">Retrieves pages for a blog, possibly filtered.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(blogId, pageId)</code>
-  <pre>Gets one blog page by id.
-
-Args:
-  blogId: string, ID of the blog containing the page. (required)
-  pageId: string, The ID of the page to get. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "content": "A String", # The body content of this Page, in HTML.
-    "kind": "blogger#page", # The kind of this entity. Always blogger#page
-    "author": { # The author of this Page.
-      "url": "A String", # The URL of the Page creator's Profile page.
-      "image": { # The page author's avatar.
-        "url": "A String", # The page author's avatar URL.
-      },
-      "displayName": "A String", # The display name.
-      "id": "A String", # The identifier of the Page creator.
-    },
-    "url": "A String", # The URL that this Page is displayed at.
-    "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface.
-    "updated": "A String", # RFC 3339 date-time when this Page was last updated.
-    "blog": { # Data about the blog containing this Page.
-      "id": "A String", # The identifier of the blog containing this page.
-    },
-    "published": "A String", # RFC 3339 date-time when this Page was published.
-    "id": "A String", # The identifier for this resource.
-    "selfLink": "A String", # The API REST URL to fetch this resource from.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(blogId, fetchBodies=None)</code>
-  <pre>Retrieves pages for a blog, possibly filtered.
-
-Args:
-  blogId: string, ID of the blog to fetch pages from. (required)
-  fetchBodies: boolean, Whether to retrieve the Page bodies.
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # The list of Pages for a Blog.
-      {
-        "content": "A String", # The body content of this Page, in HTML.
-        "kind": "blogger#page", # The kind of this entity. Always blogger#page
-        "author": { # The author of this Page.
-          "url": "A String", # The URL of the Page creator's Profile page.
-          "image": { # The page author's avatar.
-            "url": "A String", # The page author's avatar URL.
-          },
-          "displayName": "A String", # The display name.
-          "id": "A String", # The identifier of the Page creator.
-        },
-        "url": "A String", # The URL that this Page is displayed at.
-        "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface.
-        "updated": "A String", # RFC 3339 date-time when this Page was last updated.
-        "blog": { # Data about the blog containing this Page.
-          "id": "A String", # The identifier of the blog containing this page.
-        },
-        "published": "A String", # RFC 3339 date-time when this Page was published.
-        "id": "A String", # The identifier for this resource.
-        "selfLink": "A String", # The API REST URL to fetch this resource from.
-      },
-    ],
-    "kind": "blogger#pageList", # The kind of this entity. Always blogger#pageList
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger_v3.posts.html b/docs/dyn/blogger_v3.posts.html
deleted file mode 100644
index 57f0d64..0000000
--- a/docs/dyn/blogger_v3.posts.html
+++ /dev/null
@@ -1,872 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="blogger_v3.html">Blogger API</a> . <a href="blogger_v3.posts.html">posts</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(blogId, postId)</a></code></p>
-<p class="firstline">Delete a post by id.</p>
-<p class="toc_element">
-  <code><a href="#get">get(blogId, postId, maxComments=None)</a></code></p>
-<p class="firstline">Get a post by id.</p>
-<p class="toc_element">
-  <code><a href="#getByPath">getByPath(blogId, path, maxComments=None)</a></code></p>
-<p class="firstline">Retrieve a Post by Path.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(blogId, body)</a></code></p>
-<p class="firstline">Add a post.</p>
-<p class="toc_element">
-  <code><a href="#list">list(blogId, startDate=None, endDate=None, pageToken=None, labels=None, maxResults=None, fetchBodies=None)</a></code></p>
-<p class="firstline">Retrieves a list of posts, possibly filtered.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(blogId, postId, body)</a></code></p>
-<p class="firstline">Update a post. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#search">search(blogId, q)</a></code></p>
-<p class="firstline">Search for a post.</p>
-<p class="toc_element">
-  <code><a href="#update">update(blogId, postId, body)</a></code></p>
-<p class="firstline">Update a post.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(blogId, postId)</code>
-  <pre>Delete a post by id.
-
-Args:
-  blogId: string, The Id of the Blog. (required)
-  postId: string, The ID of the Post. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(blogId, postId, maxComments=None)</code>
-  <pre>Get a post by id.
-
-Args:
-  blogId: string, ID of the blog to fetch the post from. (required)
-  postId: string, The ID of the post (required)
-  maxComments: integer, Maximum number of comments to pull back on a post.
-
-Returns:
-  An object of the form:
-
-    {
-    "content": "A String", # The content of the Post. May contain HTML markup.
-    "kind": "blogger#post", # The kind of this entity. Always blogger#post
-    "author": { # The author of this Post.
-      "url": "A String", # The URL of the Post creator's Profile page.
-      "image": { # The Post author's avatar.
-        "url": "A String", # The Post author's avatar URL.
-      },
-      "displayName": "A String", # The display name.
-      "id": "A String", # The identifier of the Post creator.
-    },
-    "replies": { # The container of comments on this Post.
-      "totalItems": "A String", # The count of comments on this post.
-      "items": [ # The List of Comments for this Post.
-        {
-          "content": "A String", # The actual content of the comment. May include HTML markup.
-          "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
-          "inReplyTo": { # Data about the comment this is in reply to.
-            "id": "A String", # The identified of the parent of this comment.
-          },
-          "author": { # The author of this Comment.
-            "url": "A String", # The URL of the Comment creator's Profile page.
-            "image": { # The comment creator's avatar.
-              "url": "A String", # The comment creator's avatar URL.
-            },
-            "displayName": "A String", # The display name.
-            "id": "A String", # The identifier of the Comment creator.
-          },
-          "updated": "A String", # RFC 3339 date-time when this comment was last updated.
-          "blog": { # Data about the blog containing this comment.
-            "id": "A String", # The identifier of the blog containing this comment.
-          },
-          "published": "A String", # RFC 3339 date-time when this comment was published.
-          "post": { # Data about the post containing this comment.
-            "id": "A String", # The identifier of the post containing this comment.
-          },
-          "id": "A String", # The identifier for this resource.
-          "selfLink": "A String", # The API REST URL to fetch this resource from.
-        },
-      ],
-      "selfLink": "A String", # The URL of the comments on this post.
-    },
-    "labels": [ # The list of labels this Post was tagged with.
-      "A String",
-    ],
-    "customMetaData": "A String", # The JSON meta-data for the Post.
-    "updated": "A String", # RFC 3339 date-time when this Post was last updated.
-    "blog": { # Data about the blog containing this Post.
-      "id": "A String", # The identifier of the Blog that contains this Post.
-    },
-    "url": "A String", # The URL where this Post is displayed.
-    "location": { # The location for geotagged posts.
-      "lat": 3.14, # Location's latitude.
-      "lng": 3.14, # Location's longitude.
-      "span": "A String", # Location's viewport span. Can be used when rendering a map preview.
-      "name": "A String", # Location name.
-    },
-    "published": "A String", # RFC 3339 date-time when this Post was published.
-    "title": "A String", # The title of the Post.
-    "id": "A String", # The identifier of this Post.
-    "selfLink": "A String", # The API REST URL to fetch this resource from.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="getByPath">getByPath(blogId, path, maxComments=None)</code>
-  <pre>Retrieve a Post by Path.
-
-Args:
-  blogId: string, ID of the blog to fetch the post from. (required)
-  path: string, Path of the Post to retrieve. (required)
-  maxComments: integer, Maximum number of comments to pull back on a post.
-
-Returns:
-  An object of the form:
-
-    {
-    "content": "A String", # The content of the Post. May contain HTML markup.
-    "kind": "blogger#post", # The kind of this entity. Always blogger#post
-    "author": { # The author of this Post.
-      "url": "A String", # The URL of the Post creator's Profile page.
-      "image": { # The Post author's avatar.
-        "url": "A String", # The Post author's avatar URL.
-      },
-      "displayName": "A String", # The display name.
-      "id": "A String", # The identifier of the Post creator.
-    },
-    "replies": { # The container of comments on this Post.
-      "totalItems": "A String", # The count of comments on this post.
-      "items": [ # The List of Comments for this Post.
-        {
-          "content": "A String", # The actual content of the comment. May include HTML markup.
-          "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
-          "inReplyTo": { # Data about the comment this is in reply to.
-            "id": "A String", # The identified of the parent of this comment.
-          },
-          "author": { # The author of this Comment.
-            "url": "A String", # The URL of the Comment creator's Profile page.
-            "image": { # The comment creator's avatar.
-              "url": "A String", # The comment creator's avatar URL.
-            },
-            "displayName": "A String", # The display name.
-            "id": "A String", # The identifier of the Comment creator.
-          },
-          "updated": "A String", # RFC 3339 date-time when this comment was last updated.
-          "blog": { # Data about the blog containing this comment.
-            "id": "A String", # The identifier of the blog containing this comment.
-          },
-          "published": "A String", # RFC 3339 date-time when this comment was published.
-          "post": { # Data about the post containing this comment.
-            "id": "A String", # The identifier of the post containing this comment.
-          },
-          "id": "A String", # The identifier for this resource.
-          "selfLink": "A String", # The API REST URL to fetch this resource from.
-        },
-      ],
-      "selfLink": "A String", # The URL of the comments on this post.
-    },
-    "labels": [ # The list of labels this Post was tagged with.
-      "A String",
-    ],
-    "customMetaData": "A String", # The JSON meta-data for the Post.
-    "updated": "A String", # RFC 3339 date-time when this Post was last updated.
-    "blog": { # Data about the blog containing this Post.
-      "id": "A String", # The identifier of the Blog that contains this Post.
-    },
-    "url": "A String", # The URL where this Post is displayed.
-    "location": { # The location for geotagged posts.
-      "lat": 3.14, # Location's latitude.
-      "lng": 3.14, # Location's longitude.
-      "span": "A String", # Location's viewport span. Can be used when rendering a map preview.
-      "name": "A String", # Location name.
-    },
-    "published": "A String", # RFC 3339 date-time when this Post was published.
-    "title": "A String", # The title of the Post.
-    "id": "A String", # The identifier of this Post.
-    "selfLink": "A String", # The API REST URL to fetch this resource from.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(blogId, body)</code>
-  <pre>Add a post.
-
-Args:
-  blogId: string, ID of the blog to add the post to. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-  "content": "A String", # The content of the Post. May contain HTML markup.
-  "kind": "blogger#post", # The kind of this entity. Always blogger#post
-  "author": { # The author of this Post.
-    "url": "A String", # The URL of the Post creator's Profile page.
-    "image": { # The Post author's avatar.
-      "url": "A String", # The Post author's avatar URL.
-    },
-    "displayName": "A String", # The display name.
-    "id": "A String", # The identifier of the Post creator.
-  },
-  "replies": { # The container of comments on this Post.
-    "totalItems": "A String", # The count of comments on this post.
-    "items": [ # The List of Comments for this Post.
-      {
-        "content": "A String", # The actual content of the comment. May include HTML markup.
-        "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
-        "inReplyTo": { # Data about the comment this is in reply to.
-          "id": "A String", # The identified of the parent of this comment.
-        },
-        "author": { # The author of this Comment.
-          "url": "A String", # The URL of the Comment creator's Profile page.
-          "image": { # The comment creator's avatar.
-            "url": "A String", # The comment creator's avatar URL.
-          },
-          "displayName": "A String", # The display name.
-          "id": "A String", # The identifier of the Comment creator.
-        },
-        "updated": "A String", # RFC 3339 date-time when this comment was last updated.
-        "blog": { # Data about the blog containing this comment.
-          "id": "A String", # The identifier of the blog containing this comment.
-        },
-        "published": "A String", # RFC 3339 date-time when this comment was published.
-        "post": { # Data about the post containing this comment.
-          "id": "A String", # The identifier of the post containing this comment.
-        },
-        "id": "A String", # The identifier for this resource.
-        "selfLink": "A String", # The API REST URL to fetch this resource from.
-      },
-    ],
-    "selfLink": "A String", # The URL of the comments on this post.
-  },
-  "labels": [ # The list of labels this Post was tagged with.
-    "A String",
-  ],
-  "customMetaData": "A String", # The JSON meta-data for the Post.
-  "updated": "A String", # RFC 3339 date-time when this Post was last updated.
-  "blog": { # Data about the blog containing this Post.
-    "id": "A String", # The identifier of the Blog that contains this Post.
-  },
-  "url": "A String", # The URL where this Post is displayed.
-  "location": { # The location for geotagged posts.
-    "lat": 3.14, # Location's latitude.
-    "lng": 3.14, # Location's longitude.
-    "span": "A String", # Location's viewport span. Can be used when rendering a map preview.
-    "name": "A String", # Location name.
-  },
-  "published": "A String", # RFC 3339 date-time when this Post was published.
-  "title": "A String", # The title of the Post.
-  "id": "A String", # The identifier of this Post.
-  "selfLink": "A String", # The API REST URL to fetch this resource from.
-}
-
-
-Returns:
-  An object of the form:
-
-    {
-    "content": "A String", # The content of the Post. May contain HTML markup.
-    "kind": "blogger#post", # The kind of this entity. Always blogger#post
-    "author": { # The author of this Post.
-      "url": "A String", # The URL of the Post creator's Profile page.
-      "image": { # The Post author's avatar.
-        "url": "A String", # The Post author's avatar URL.
-      },
-      "displayName": "A String", # The display name.
-      "id": "A String", # The identifier of the Post creator.
-    },
-    "replies": { # The container of comments on this Post.
-      "totalItems": "A String", # The count of comments on this post.
-      "items": [ # The List of Comments for this Post.
-        {
-          "content": "A String", # The actual content of the comment. May include HTML markup.
-          "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
-          "inReplyTo": { # Data about the comment this is in reply to.
-            "id": "A String", # The identified of the parent of this comment.
-          },
-          "author": { # The author of this Comment.
-            "url": "A String", # The URL of the Comment creator's Profile page.
-            "image": { # The comment creator's avatar.
-              "url": "A String", # The comment creator's avatar URL.
-            },
-            "displayName": "A String", # The display name.
-            "id": "A String", # The identifier of the Comment creator.
-          },
-          "updated": "A String", # RFC 3339 date-time when this comment was last updated.
-          "blog": { # Data about the blog containing this comment.
-            "id": "A String", # The identifier of the blog containing this comment.
-          },
-          "published": "A String", # RFC 3339 date-time when this comment was published.
-          "post": { # Data about the post containing this comment.
-            "id": "A String", # The identifier of the post containing this comment.
-          },
-          "id": "A String", # The identifier for this resource.
-          "selfLink": "A String", # The API REST URL to fetch this resource from.
-        },
-      ],
-      "selfLink": "A String", # The URL of the comments on this post.
-    },
-    "labels": [ # The list of labels this Post was tagged with.
-      "A String",
-    ],
-    "customMetaData": "A String", # The JSON meta-data for the Post.
-    "updated": "A String", # RFC 3339 date-time when this Post was last updated.
-    "blog": { # Data about the blog containing this Post.
-      "id": "A String", # The identifier of the Blog that contains this Post.
-    },
-    "url": "A String", # The URL where this Post is displayed.
-    "location": { # The location for geotagged posts.
-      "lat": 3.14, # Location's latitude.
-      "lng": 3.14, # Location's longitude.
-      "span": "A String", # Location's viewport span. Can be used when rendering a map preview.
-      "name": "A String", # Location name.
-    },
-    "published": "A String", # RFC 3339 date-time when this Post was published.
-    "title": "A String", # The title of the Post.
-    "id": "A String", # The identifier of this Post.
-    "selfLink": "A String", # The API REST URL to fetch this resource from.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(blogId, startDate=None, endDate=None, pageToken=None, labels=None, maxResults=None, fetchBodies=None)</code>
-  <pre>Retrieves a list of posts, possibly filtered.
-
-Args:
-  blogId: string, ID of the blog to fetch posts from. (required)
-  startDate: string, Earliest post date to fetch, a date-time with RFC 3339 formatting.
-  endDate: string, Latest post date to fetch, a date-time with RFC 3339 formatting.
-  pageToken: string, Continuation token if the request is paged.
-  labels: string, Comma-separated list of labels to search for.
-  maxResults: integer, Maximum number of posts to fetch.
-  fetchBodies: boolean, Whether the body content of posts is included.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Pagination token to fetch the next page, if one exists.
-    "items": [ # The list of Posts for this Blog.
-      {
-        "content": "A String", # The content of the Post. May contain HTML markup.
-        "kind": "blogger#post", # The kind of this entity. Always blogger#post
-        "author": { # The author of this Post.
-          "url": "A String", # The URL of the Post creator's Profile page.
-          "image": { # The Post author's avatar.
-            "url": "A String", # The Post author's avatar URL.
-          },
-          "displayName": "A String", # The display name.
-          "id": "A String", # The identifier of the Post creator.
-        },
-        "replies": { # The container of comments on this Post.
-          "totalItems": "A String", # The count of comments on this post.
-          "items": [ # The List of Comments for this Post.
-            {
-              "content": "A String", # The actual content of the comment. May include HTML markup.
-              "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
-              "inReplyTo": { # Data about the comment this is in reply to.
-                "id": "A String", # The identified of the parent of this comment.
-              },
-              "author": { # The author of this Comment.
-                "url": "A String", # The URL of the Comment creator's Profile page.
-                "image": { # The comment creator's avatar.
-                  "url": "A String", # The comment creator's avatar URL.
-                },
-                "displayName": "A String", # The display name.
-                "id": "A String", # The identifier of the Comment creator.
-              },
-              "updated": "A String", # RFC 3339 date-time when this comment was last updated.
-              "blog": { # Data about the blog containing this comment.
-                "id": "A String", # The identifier of the blog containing this comment.
-              },
-              "published": "A String", # RFC 3339 date-time when this comment was published.
-              "post": { # Data about the post containing this comment.
-                "id": "A String", # The identifier of the post containing this comment.
-              },
-              "id": "A String", # The identifier for this resource.
-              "selfLink": "A String", # The API REST URL to fetch this resource from.
-            },
-          ],
-          "selfLink": "A String", # The URL of the comments on this post.
-        },
-        "labels": [ # The list of labels this Post was tagged with.
-          "A String",
-        ],
-        "customMetaData": "A String", # The JSON meta-data for the Post.
-        "updated": "A String", # RFC 3339 date-time when this Post was last updated.
-        "blog": { # Data about the blog containing this Post.
-          "id": "A String", # The identifier of the Blog that contains this Post.
-        },
-        "url": "A String", # The URL where this Post is displayed.
-        "location": { # The location for geotagged posts.
-          "lat": 3.14, # Location's latitude.
-          "lng": 3.14, # Location's longitude.
-          "span": "A String", # Location's viewport span. Can be used when rendering a map preview.
-          "name": "A String", # Location name.
-        },
-        "published": "A String", # RFC 3339 date-time when this Post was published.
-        "title": "A String", # The title of the Post.
-        "id": "A String", # The identifier of this Post.
-        "selfLink": "A String", # The API REST URL to fetch this resource from.
-      },
-    ],
-    "kind": "blogger#postList", # The kind of this entity. Always blogger#postList
-    "prevPageToken": "A String", # Pagination token to fetch the previous page, if one exists.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(blogId, postId, body)</code>
-  <pre>Update a post. This method supports patch semantics.
-
-Args:
-  blogId: string, The ID of the Blog. (required)
-  postId: string, The ID of the Post. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-  "content": "A String", # The content of the Post. May contain HTML markup.
-  "kind": "blogger#post", # The kind of this entity. Always blogger#post
-  "author": { # The author of this Post.
-    "url": "A String", # The URL of the Post creator's Profile page.
-    "image": { # The Post author's avatar.
-      "url": "A String", # The Post author's avatar URL.
-    },
-    "displayName": "A String", # The display name.
-    "id": "A String", # The identifier of the Post creator.
-  },
-  "replies": { # The container of comments on this Post.
-    "totalItems": "A String", # The count of comments on this post.
-    "items": [ # The List of Comments for this Post.
-      {
-        "content": "A String", # The actual content of the comment. May include HTML markup.
-        "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
-        "inReplyTo": { # Data about the comment this is in reply to.
-          "id": "A String", # The identified of the parent of this comment.
-        },
-        "author": { # The author of this Comment.
-          "url": "A String", # The URL of the Comment creator's Profile page.
-          "image": { # The comment creator's avatar.
-            "url": "A String", # The comment creator's avatar URL.
-          },
-          "displayName": "A String", # The display name.
-          "id": "A String", # The identifier of the Comment creator.
-        },
-        "updated": "A String", # RFC 3339 date-time when this comment was last updated.
-        "blog": { # Data about the blog containing this comment.
-          "id": "A String", # The identifier of the blog containing this comment.
-        },
-        "published": "A String", # RFC 3339 date-time when this comment was published.
-        "post": { # Data about the post containing this comment.
-          "id": "A String", # The identifier of the post containing this comment.
-        },
-        "id": "A String", # The identifier for this resource.
-        "selfLink": "A String", # The API REST URL to fetch this resource from.
-      },
-    ],
-    "selfLink": "A String", # The URL of the comments on this post.
-  },
-  "labels": [ # The list of labels this Post was tagged with.
-    "A String",
-  ],
-  "customMetaData": "A String", # The JSON meta-data for the Post.
-  "updated": "A String", # RFC 3339 date-time when this Post was last updated.
-  "blog": { # Data about the blog containing this Post.
-    "id": "A String", # The identifier of the Blog that contains this Post.
-  },
-  "url": "A String", # The URL where this Post is displayed.
-  "location": { # The location for geotagged posts.
-    "lat": 3.14, # Location's latitude.
-    "lng": 3.14, # Location's longitude.
-    "span": "A String", # Location's viewport span. Can be used when rendering a map preview.
-    "name": "A String", # Location name.
-  },
-  "published": "A String", # RFC 3339 date-time when this Post was published.
-  "title": "A String", # The title of the Post.
-  "id": "A String", # The identifier of this Post.
-  "selfLink": "A String", # The API REST URL to fetch this resource from.
-}
-
-
-Returns:
-  An object of the form:
-
-    {
-    "content": "A String", # The content of the Post. May contain HTML markup.
-    "kind": "blogger#post", # The kind of this entity. Always blogger#post
-    "author": { # The author of this Post.
-      "url": "A String", # The URL of the Post creator's Profile page.
-      "image": { # The Post author's avatar.
-        "url": "A String", # The Post author's avatar URL.
-      },
-      "displayName": "A String", # The display name.
-      "id": "A String", # The identifier of the Post creator.
-    },
-    "replies": { # The container of comments on this Post.
-      "totalItems": "A String", # The count of comments on this post.
-      "items": [ # The List of Comments for this Post.
-        {
-          "content": "A String", # The actual content of the comment. May include HTML markup.
-          "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
-          "inReplyTo": { # Data about the comment this is in reply to.
-            "id": "A String", # The identified of the parent of this comment.
-          },
-          "author": { # The author of this Comment.
-            "url": "A String", # The URL of the Comment creator's Profile page.
-            "image": { # The comment creator's avatar.
-              "url": "A String", # The comment creator's avatar URL.
-            },
-            "displayName": "A String", # The display name.
-            "id": "A String", # The identifier of the Comment creator.
-          },
-          "updated": "A String", # RFC 3339 date-time when this comment was last updated.
-          "blog": { # Data about the blog containing this comment.
-            "id": "A String", # The identifier of the blog containing this comment.
-          },
-          "published": "A String", # RFC 3339 date-time when this comment was published.
-          "post": { # Data about the post containing this comment.
-            "id": "A String", # The identifier of the post containing this comment.
-          },
-          "id": "A String", # The identifier for this resource.
-          "selfLink": "A String", # The API REST URL to fetch this resource from.
-        },
-      ],
-      "selfLink": "A String", # The URL of the comments on this post.
-    },
-    "labels": [ # The list of labels this Post was tagged with.
-      "A String",
-    ],
-    "customMetaData": "A String", # The JSON meta-data for the Post.
-    "updated": "A String", # RFC 3339 date-time when this Post was last updated.
-    "blog": { # Data about the blog containing this Post.
-      "id": "A String", # The identifier of the Blog that contains this Post.
-    },
-    "url": "A String", # The URL where this Post is displayed.
-    "location": { # The location for geotagged posts.
-      "lat": 3.14, # Location's latitude.
-      "lng": 3.14, # Location's longitude.
-      "span": "A String", # Location's viewport span. Can be used when rendering a map preview.
-      "name": "A String", # Location name.
-    },
-    "published": "A String", # RFC 3339 date-time when this Post was published.
-    "title": "A String", # The title of the Post.
-    "id": "A String", # The identifier of this Post.
-    "selfLink": "A String", # The API REST URL to fetch this resource from.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="search">search(blogId, q)</code>
-  <pre>Search for a post.
-
-Args:
-  blogId: string, ID of the blog to fetch the post from. (required)
-  q: string, Query terms to search this blog for matching posts. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Pagination token to fetch the next page, if one exists.
-    "items": [ # The list of Posts for this Blog.
-      {
-        "content": "A String", # The content of the Post. May contain HTML markup.
-        "kind": "blogger#post", # The kind of this entity. Always blogger#post
-        "author": { # The author of this Post.
-          "url": "A String", # The URL of the Post creator's Profile page.
-          "image": { # The Post author's avatar.
-            "url": "A String", # The Post author's avatar URL.
-          },
-          "displayName": "A String", # The display name.
-          "id": "A String", # The identifier of the Post creator.
-        },
-        "replies": { # The container of comments on this Post.
-          "totalItems": "A String", # The count of comments on this post.
-          "items": [ # The List of Comments for this Post.
-            {
-              "content": "A String", # The actual content of the comment. May include HTML markup.
-              "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
-              "inReplyTo": { # Data about the comment this is in reply to.
-                "id": "A String", # The identified of the parent of this comment.
-              },
-              "author": { # The author of this Comment.
-                "url": "A String", # The URL of the Comment creator's Profile page.
-                "image": { # The comment creator's avatar.
-                  "url": "A String", # The comment creator's avatar URL.
-                },
-                "displayName": "A String", # The display name.
-                "id": "A String", # The identifier of the Comment creator.
-              },
-              "updated": "A String", # RFC 3339 date-time when this comment was last updated.
-              "blog": { # Data about the blog containing this comment.
-                "id": "A String", # The identifier of the blog containing this comment.
-              },
-              "published": "A String", # RFC 3339 date-time when this comment was published.
-              "post": { # Data about the post containing this comment.
-                "id": "A String", # The identifier of the post containing this comment.
-              },
-              "id": "A String", # The identifier for this resource.
-              "selfLink": "A String", # The API REST URL to fetch this resource from.
-            },
-          ],
-          "selfLink": "A String", # The URL of the comments on this post.
-        },
-        "labels": [ # The list of labels this Post was tagged with.
-          "A String",
-        ],
-        "customMetaData": "A String", # The JSON meta-data for the Post.
-        "updated": "A String", # RFC 3339 date-time when this Post was last updated.
-        "blog": { # Data about the blog containing this Post.
-          "id": "A String", # The identifier of the Blog that contains this Post.
-        },
-        "url": "A String", # The URL where this Post is displayed.
-        "location": { # The location for geotagged posts.
-          "lat": 3.14, # Location's latitude.
-          "lng": 3.14, # Location's longitude.
-          "span": "A String", # Location's viewport span. Can be used when rendering a map preview.
-          "name": "A String", # Location name.
-        },
-        "published": "A String", # RFC 3339 date-time when this Post was published.
-        "title": "A String", # The title of the Post.
-        "id": "A String", # The identifier of this Post.
-        "selfLink": "A String", # The API REST URL to fetch this resource from.
-      },
-    ],
-    "kind": "blogger#postList", # The kind of this entity. Always blogger#postList
-    "prevPageToken": "A String", # Pagination token to fetch the previous page, if one exists.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(blogId, postId, body)</code>
-  <pre>Update a post.
-
-Args:
-  blogId: string, The ID of the Blog. (required)
-  postId: string, The ID of the Post. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-  "content": "A String", # The content of the Post. May contain HTML markup.
-  "kind": "blogger#post", # The kind of this entity. Always blogger#post
-  "author": { # The author of this Post.
-    "url": "A String", # The URL of the Post creator's Profile page.
-    "image": { # The Post author's avatar.
-      "url": "A String", # The Post author's avatar URL.
-    },
-    "displayName": "A String", # The display name.
-    "id": "A String", # The identifier of the Post creator.
-  },
-  "replies": { # The container of comments on this Post.
-    "totalItems": "A String", # The count of comments on this post.
-    "items": [ # The List of Comments for this Post.
-      {
-        "content": "A String", # The actual content of the comment. May include HTML markup.
-        "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
-        "inReplyTo": { # Data about the comment this is in reply to.
-          "id": "A String", # The identified of the parent of this comment.
-        },
-        "author": { # The author of this Comment.
-          "url": "A String", # The URL of the Comment creator's Profile page.
-          "image": { # The comment creator's avatar.
-            "url": "A String", # The comment creator's avatar URL.
-          },
-          "displayName": "A String", # The display name.
-          "id": "A String", # The identifier of the Comment creator.
-        },
-        "updated": "A String", # RFC 3339 date-time when this comment was last updated.
-        "blog": { # Data about the blog containing this comment.
-          "id": "A String", # The identifier of the blog containing this comment.
-        },
-        "published": "A String", # RFC 3339 date-time when this comment was published.
-        "post": { # Data about the post containing this comment.
-          "id": "A String", # The identifier of the post containing this comment.
-        },
-        "id": "A String", # The identifier for this resource.
-        "selfLink": "A String", # The API REST URL to fetch this resource from.
-      },
-    ],
-    "selfLink": "A String", # The URL of the comments on this post.
-  },
-  "labels": [ # The list of labels this Post was tagged with.
-    "A String",
-  ],
-  "customMetaData": "A String", # The JSON meta-data for the Post.
-  "updated": "A String", # RFC 3339 date-time when this Post was last updated.
-  "blog": { # Data about the blog containing this Post.
-    "id": "A String", # The identifier of the Blog that contains this Post.
-  },
-  "url": "A String", # The URL where this Post is displayed.
-  "location": { # The location for geotagged posts.
-    "lat": 3.14, # Location's latitude.
-    "lng": 3.14, # Location's longitude.
-    "span": "A String", # Location's viewport span. Can be used when rendering a map preview.
-    "name": "A String", # Location name.
-  },
-  "published": "A String", # RFC 3339 date-time when this Post was published.
-  "title": "A String", # The title of the Post.
-  "id": "A String", # The identifier of this Post.
-  "selfLink": "A String", # The API REST URL to fetch this resource from.
-}
-
-
-Returns:
-  An object of the form:
-
-    {
-    "content": "A String", # The content of the Post. May contain HTML markup.
-    "kind": "blogger#post", # The kind of this entity. Always blogger#post
-    "author": { # The author of this Post.
-      "url": "A String", # The URL of the Post creator's Profile page.
-      "image": { # The Post author's avatar.
-        "url": "A String", # The Post author's avatar URL.
-      },
-      "displayName": "A String", # The display name.
-      "id": "A String", # The identifier of the Post creator.
-    },
-    "replies": { # The container of comments on this Post.
-      "totalItems": "A String", # The count of comments on this post.
-      "items": [ # The List of Comments for this Post.
-        {
-          "content": "A String", # The actual content of the comment. May include HTML markup.
-          "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
-          "inReplyTo": { # Data about the comment this is in reply to.
-            "id": "A String", # The identified of the parent of this comment.
-          },
-          "author": { # The author of this Comment.
-            "url": "A String", # The URL of the Comment creator's Profile page.
-            "image": { # The comment creator's avatar.
-              "url": "A String", # The comment creator's avatar URL.
-            },
-            "displayName": "A String", # The display name.
-            "id": "A String", # The identifier of the Comment creator.
-          },
-          "updated": "A String", # RFC 3339 date-time when this comment was last updated.
-          "blog": { # Data about the blog containing this comment.
-            "id": "A String", # The identifier of the blog containing this comment.
-          },
-          "published": "A String", # RFC 3339 date-time when this comment was published.
-          "post": { # Data about the post containing this comment.
-            "id": "A String", # The identifier of the post containing this comment.
-          },
-          "id": "A String", # The identifier for this resource.
-          "selfLink": "A String", # The API REST URL to fetch this resource from.
-        },
-      ],
-      "selfLink": "A String", # The URL of the comments on this post.
-    },
-    "labels": [ # The list of labels this Post was tagged with.
-      "A String",
-    ],
-    "customMetaData": "A String", # The JSON meta-data for the Post.
-    "updated": "A String", # RFC 3339 date-time when this Post was last updated.
-    "blog": { # Data about the blog containing this Post.
-      "id": "A String", # The identifier of the Blog that contains this Post.
-    },
-    "url": "A String", # The URL where this Post is displayed.
-    "location": { # The location for geotagged posts.
-      "lat": 3.14, # Location's latitude.
-      "lng": 3.14, # Location's longitude.
-      "span": "A String", # Location's viewport span. Can be used when rendering a map preview.
-      "name": "A String", # Location name.
-    },
-    "published": "A String", # RFC 3339 date-time when this Post was published.
-    "title": "A String", # The title of the Post.
-    "id": "A String", # The identifier of this Post.
-    "selfLink": "A String", # The API REST URL to fetch this resource from.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger_v3.users.html b/docs/dyn/blogger_v3.users.html
deleted file mode 100644
index 87b6f2e..0000000
--- a/docs/dyn/blogger_v3.users.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="blogger_v3.html">Blogger API</a> . <a href="blogger_v3.users.html">users</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(userId)</a></code></p>
-<p class="firstline">Gets one user by id.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(userId)</code>
-  <pre>Gets one user by id.
-
-Args:
-  userId: string, The ID of the user to get. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "about": "A String", # Profile summary information.
-    "displayName": "A String", # The display name.
-    "created": "A String", # The timestamp of when this profile was created, in seconds since epoch.
-    "locale": { # This user's locale
-      "country": "A String", # The user's country setting.
-      "variant": "A String", # The user's language variant setting.
-      "language": "A String", # The user's language setting.
-    },
-    "blogs": { # The container of blogs for this user.
-      "selfLink": "A String", # The URL of the Blogs for this user.
-    },
-    "kind": "blogger#user", # The kind of this entity. Always blogger#user
-    "url": "A String", # The user's profile page.
-    "id": "A String", # The identifier for this User.
-    "selfLink": "A String", # The API REST URL to fetch this resource from.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.bookshelves.html b/docs/dyn/books_v1.bookshelves.html
deleted file mode 100644
index 59fb7b6..0000000
--- a/docs/dyn/books_v1.bookshelves.html
+++ /dev/null
@@ -1,145 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.bookshelves.html">bookshelves</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="books_v1.bookshelves.volumes.html">volumes()</a></code>
-</p>
-<p class="firstline">Returns the volumes Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get(userId, shelf, source=None)</a></code></p>
-<p class="firstline">Retrieves metadata for a specific bookshelf for the specified user.</p>
-<p class="toc_element">
-  <code><a href="#list">list(userId, source=None)</a></code></p>
-<p class="firstline">Retrieves a list of public bookshelves for the specified user.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(userId, shelf, source=None)</code>
-  <pre>Retrieves metadata for a specific bookshelf for the specified user.
-
-Args:
-  userId: string, ID of user for whom to retrieve bookshelves. (required)
-  shelf: string, ID of bookshelf to retrieve. (required)
-  source: string, String to identify the originator of this request.
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "books#bookshelf", # Resource type for bookshelf metadata.
-    "description": "A String", # Description of this bookshelf.
-    "created": "A String", # Created time for this bookshelf (formatted UTC timestamp with millisecond resolution).
-    "volumeCount": 42, # Number of volumes in this bookshelf.
-    "title": "A String", # Title of this bookshelf.
-    "updated": "A String", # Last modified time of this bookshelf (formatted UTC timestamp with millisecond resolution).
-    "access": "A String", # Whether this bookshelf is PUBLIC or PRIVATE.
-    "volumesLastUpdated": "A String", # Last time a volume was added or removed from this bookshelf (formatted UTC timestamp with millisecond resolution).
-    "id": 42, # Id of this bookshelf, only unique by user.
-    "selfLink": "A String", # URL to this resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(userId, source=None)</code>
-  <pre>Retrieves a list of public bookshelves for the specified user.
-
-Args:
-  userId: string, ID of user for whom to retrieve bookshelves. (required)
-  source: string, String to identify the originator of this request.
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # A list of bookshelves.
-      {
-        "kind": "books#bookshelf", # Resource type for bookshelf metadata.
-        "description": "A String", # Description of this bookshelf.
-        "created": "A String", # Created time for this bookshelf (formatted UTC timestamp with millisecond resolution).
-        "volumeCount": 42, # Number of volumes in this bookshelf.
-        "title": "A String", # Title of this bookshelf.
-        "updated": "A String", # Last modified time of this bookshelf (formatted UTC timestamp with millisecond resolution).
-        "access": "A String", # Whether this bookshelf is PUBLIC or PRIVATE.
-        "volumesLastUpdated": "A String", # Last time a volume was added or removed from this bookshelf (formatted UTC timestamp with millisecond resolution).
-        "id": 42, # Id of this bookshelf, only unique by user.
-        "selfLink": "A String", # URL to this resource.
-      },
-    ],
-    "kind": "books#bookshelves", # Resource type.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.bookshelves.volumes.html b/docs/dyn/books_v1.bookshelves.volumes.html
deleted file mode 100644
index cea2756..0000000
--- a/docs/dyn/books_v1.bookshelves.volumes.html
+++ /dev/null
@@ -1,280 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.bookshelves.html">bookshelves</a> . <a href="books_v1.bookshelves.volumes.html">volumes</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(userId, shelf, source=None, showPreorders=None, maxResults=None, startIndex=None)</a></code></p>
-<p class="firstline">Retrieves volumes in a specific bookshelf for the specified user.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(userId, shelf, source=None, showPreorders=None, maxResults=None, startIndex=None)</code>
-  <pre>Retrieves volumes in a specific bookshelf for the specified user.
-
-Args:
-  userId: string, ID of user for whom to retrieve bookshelf volumes. (required)
-  shelf: string, ID of bookshelf to retrieve volumes. (required)
-  source: string, String to identify the originator of this request.
-  showPreorders: boolean, Set to true to show pre-ordered books. Defaults to false.
-  maxResults: integer, Maximum number of results to return
-  startIndex: integer, Index of the first element to return (starts at 0)
-
-Returns:
-  An object of the form:
-
-    {
-    "totalItems": 42, # Total number of volumes found. This might be greater than the number of volumes returned in this response if results have been paginated.
-    "items": [ # A list of volumes.
-      {
-        "kind": "books#volume", # Resource type for a volume. (In LITE projection.)
-        "accessInfo": { # Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).
-          "webReaderLink": "A String", # URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.
-          "publicDomain": True or False, # Whether or not this book is public domain in the country listed above.
-          "embeddable": True or False, # Whether this volume can be embedded in a viewport using the Embedded Viewer API.
-          "downloadAccess": { # Information about a volume's download license access restrictions.
-            "nonce": "A String", # Client nonce for verification. Download access and client-validation only.
-            "kind": "books#downloadAccessRestriction", # Resource type.
-            "justAcquired": True or False, # If deviceAllowed, whether access was just acquired with this request.
-            "maxDownloadDevices": 42, # If restricted, the maximum number of content download licenses for this volume.
-            "downloadsAcquired": 42, # If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).
-            "signature": "A String", # Response signature.
-            "volumeId": "A String", # Identifies the volume for which this entry applies.
-            "deviceAllowed": True or False, # If restricted, whether access is granted for this (user, device, volume).
-            "source": "A String", # Client app identifier for verification. Download access and client-validation only.
-            "restricted": True or False, # Whether this volume has any download access restrictions.
-            "reasonCode": "A String", # Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
-            "message": "A String", # Error/warning message.
-          },
-          "country": "A String", # The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)
-          "viewOrderUrl": "A String", # For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.
-          "textToSpeechPermission": "A String", # Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.
-          "pdf": { # Information about pdf content. (In LITE projection.)
-            "isAvailable": True or False, # Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)
-            "downloadLink": "A String", # URL to download pdf. (In LITE projection.)
-            "acsTokenLink": "A String", # URL to retrieve ACS token for pdf download. (In LITE projection.)
-          },
-          "viewability": "A String", # The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public domain books will always have a value of ALL_PAGES.
-          "epub": { # Information about epub content. (In LITE projection.)
-            "isAvailable": True or False, # Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)
-            "downloadLink": "A String", # URL to download epub. (In LITE projection.)
-            "acsTokenLink": "A String", # URL to retrieve ACS token for epub download. (In LITE projection.)
-          },
-          "accessViewStatus": "A String", # Combines the access and viewability of this volume into a single status field for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)
-        },
-        "searchInfo": { # Search result information related to this volume.
-          "textSnippet": "A String", # A text snippet containing the search query.
-        },
-        "saleInfo": { # Any information about a volume related to the eBookstore and/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).
-          "country": "A String", # The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)
-          "retailPrice": { # The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)
-            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
-            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
-          },
-          "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
-          "offers": [ # Offers available for this volume (sales and rentals).
-            {
-              "rentalDuration": { # The rental duration (for rental offers only).
-                "count": 3.14,
-                "unit": "A String",
-              },
-              "retailPrice": { # Offer retail (=discounted) price in Micros
-                "currencyCode": "A String",
-                "amountInMicros": 3.14,
-              },
-              "listPrice": { # Offer list (=undiscounted) price in Micros.
-                "currencyCode": "A String",
-                "amountInMicros": 3.14,
-              },
-              "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
-            },
-          ],
-          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
-          "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
-          "onSaleDate": "A String", # The date on which this book is available for sale.
-          "listPrice": { # Suggested retail price. (In LITE projection.)
-            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
-            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
-          },
-        },
-        "etag": "A String", # Opaque identifier for a specific version of a volume resource. (In LITE projection)
-        "selfLink": "A String", # URL to this resource. (In LITE projection.)
-        "volumeInfo": { # General volume information.
-          "publisher": "A String", # Publisher of this volume. (In LITE projection.)
-          "subtitle": "A String", # Volume subtitle. (In LITE projection.)
-          "description": "A String", # A synopsis of the volume. The text of the description is formatted in HTML and includes simple formatting elements, such as b, i, and br tags. (In LITE projection.)
-          "language": "A String", # Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as 'fr', 'en', etc.
-          "pageCount": 42, # Total number of pages.
-          "imageLinks": { # A list of image links for all the sizes that are available. (In LITE projection.)
-            "medium": "A String", # Image link for medium size (width of ~575 pixels). (In LITE projection)
-            "smallThumbnail": "A String", # Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
-            "large": "A String", # Image link for large size (width of ~800 pixels). (In LITE projection)
-            "extraLarge": "A String", # Image link for extra large size (width of ~1280 pixels). (In LITE projection)
-            "small": "A String", # Image link for small size (width of ~300 pixels). (In LITE projection)
-            "thumbnail": "A String", # Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
-          },
-          "publishedDate": "A String", # Date of publication. (In LITE projection.)
-          "previewLink": "A String", # URL to preview this volume on the Google Books site.
-          "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
-          "ratingsCount": 42, # The number of review ratings for this volume.
-          "mainCategory": "A String", # The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.
-          "dimensions": { # Physical dimensions of this volume.
-            "width": "A String", # Width of this volume (in cm).
-            "thickness": "A String", # Thickness of this volume (in cm).
-            "height": "A String", # Height or length of this volume (in cm).
-          },
-          "contentVersion": "A String", # An identifier for the version of the volume content (text & images). (In LITE projection)
-          "industryIdentifiers": [ # Industry standard identifiers for this volume.
-            {
-              "identifier": "A String", # Industry specific volume identifier.
-              "type": "A String", # Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.
-            },
-          ],
-          "authors": [ # The names of the authors and/or editors for this volume. (In LITE projection)
-            "A String",
-          ],
-          "title": "A String", # Volume title. (In LITE projection.)
-          "canonicalVolumeLink": "A String", # Canonical URL for a volume. (In LITE projection.)
-          "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
-          "categories": [ # A list of subject categories, such as "Fiction", "Suspense", etc.
-            "A String",
-          ],
-          "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
-        },
-        "recommendedInfo": { # Recommendation related information for this volume.
-          "explanation": "A String", # A text explaining why this volume is recommended.
-        },
-        "id": "A String", # Unique identifier for a volume. (In LITE projection.)
-        "layerInfo": { # What layers exist in this volume and high level information about them.
-          "layers": [ # A layer should appear here if and only if the layer exists for this book.
-            {
-              "volumeAnnotationsVersion": "A String", # The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.
-              "layerId": "A String", # The layer id of this layer (e.g. "geo").
-            },
-          ],
-        },
-        "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
-          "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
-          "rentalPeriod": { # Period during this book is/was a valid rental.
-            "startUtcSec": "A String",
-            "endUtcSec": "A String",
-          },
-          "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
-          "userUploadedVolumeInfo": {
-            "processingState": "A String",
-          },
-          "rentalState": "A String", # Whether this book is an active or an expired rental.
-          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
-          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
-            "kind": "books#readingPosition", # Resource type for a reading position.
-            "gbImagePosition": "A String", # Position in a volume for image-based content.
-            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
-            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
-            "volumeId": "A String", # Volume id associated with this reading position.
-            "pdfPosition": "A String", # Position in a PDF file.
-            "gbTextPosition": "A String", # Position in a volume for text-based content.
-          },
-          "review": { # This user's review of this volume, if one exists.
-            "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
-            "kind": "books#review", # Resource type for a review.
-            "author": { # Author of this review.
-              "displayName": "A String", # Name of this person.
-            },
-            "title": "A String", # Title for this review.
-            "volumeId": "A String", # Volume that this review is for.
-            "content": "A String", # Review text.
-            "source": { # Information regarding the source of this review, when the review is not from a Google Books user.
-              "extraDescription": "A String", # Extra text about the source of the review.
-              "url": "A String", # URL of the source of the review.
-              "description": "A String", # Name of the source.
-            },
-            "date": "A String", # Date of this review.
-            "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
-            "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
-          },
-          "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
-          "copy": { # Copy/Paste accounting information.
-            "limitType": "A String",
-            "remainingCharacterCount": 42,
-            "updated": "A String",
-            "allowedCharacterCount": 42,
-          },
-          "isUploaded": True or False, # Whether or not this volume was user uploaded.
-        },
-      },
-    ],
-    "kind": "books#volumes", # Resource type.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.cloudloading.html b/docs/dyn/books_v1.cloudloading.html
deleted file mode 100644
index 7ab41fb..0000000
--- a/docs/dyn/books_v1.cloudloading.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.cloudloading.html">cloudloading</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#addBook">addBook(upload_client_token=None, name=None, drive_document_id=None, mime_type=None)</a></code></p>
-<p class="firstline"></p>
-<p class="toc_element">
-  <code><a href="#deleteBook">deleteBook(volumeId)</a></code></p>
-<p class="firstline">Remove the book and its contents</p>
-<p class="toc_element">
-  <code><a href="#updateBook">updateBook(body)</a></code></p>
-<p class="firstline"></p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="addBook">addBook(upload_client_token=None, name=None, drive_document_id=None, mime_type=None)</code>
-  <pre>
-
-Args:
-  upload_client_token: string, A parameter
-  name: string, The document name. It can be set only if the drive_document_id is set.
-  drive_document_id: string, A drive document id. The upload_client_token must not be set.
-  mime_type: string, The document MIME type. It can be set only if the drive_document_id is set.
-
-Returns:
-  An object of the form:
-
-    {
-    "title": "A String",
-    "processingState": "A String",
-    "volumeId": "A String",
-    "author": "A String",
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="deleteBook">deleteBook(volumeId)</code>
-  <pre>Remove the book and its contents
-
-Args:
-  volumeId: string, The id of the book to be removed. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="updateBook">updateBook(body)</code>
-  <pre>
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-  "title": "A String",
-  "processingState": "A String",
-  "volumeId": "A String",
-  "author": "A String",
-}
-
-
-Returns:
-  An object of the form:
-
-    {
-    "title": "A String",
-    "processingState": "A String",
-    "volumeId": "A String",
-    "author": "A String",
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.html b/docs/dyn/books_v1.html
deleted file mode 100644
index 4adb450..0000000
--- a/docs/dyn/books_v1.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="books_v1.html">Books API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="books_v1.bookshelves.html">bookshelves()</a></code>
-</p>
-<p class="firstline">Returns the bookshelves Resource.</p>
-
-<p class="toc_element">
-  <code><a href="books_v1.cloudloading.html">cloudloading()</a></code>
-</p>
-<p class="firstline">Returns the cloudloading Resource.</p>
-
-<p class="toc_element">
-  <code><a href="books_v1.layers.html">layers()</a></code>
-</p>
-<p class="firstline">Returns the layers Resource.</p>
-
-<p class="toc_element">
-  <code><a href="books_v1.myconfig.html">myconfig()</a></code>
-</p>
-<p class="firstline">Returns the myconfig Resource.</p>
-
-<p class="toc_element">
-  <code><a href="books_v1.mylibrary.html">mylibrary()</a></code>
-</p>
-<p class="firstline">Returns the mylibrary Resource.</p>
-
-<p class="toc_element">
-  <code><a href="books_v1.volumes.html">volumes()</a></code>
-</p>
-<p class="firstline">Returns the volumes Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.layers.annotationData.html b/docs/dyn/books_v1.layers.annotationData.html
deleted file mode 100644
index e0772aa..0000000
--- a/docs/dyn/books_v1.layers.annotationData.html
+++ /dev/null
@@ -1,174 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.layers.html">layers</a> . <a href="books_v1.layers.annotationData.html">annotationData</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(volumeId, layerId, annotationDataId, contentVersion, scale=None, source=None, locale=None, h=None, w=None)</a></code></p>
-<p class="firstline">Gets the annotation data.</p>
-<p class="toc_element">
-  <code><a href="#list">list(volumeId, layerId, contentVersion, locale=None, scale=None, pageToken=None, updatedMin=None, source=None, updatedMax=None, maxResults=None, annotationDataId=None, w=None, h=None)</a></code></p>
-<p class="firstline">Gets the annotation data for a volume and layer.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(volumeId, layerId, annotationDataId, contentVersion, scale=None, source=None, locale=None, h=None, w=None)</code>
-  <pre>Gets the annotation data.
-
-Args:
-  volumeId: string, The volume to retrieve annotations for. (required)
-  layerId: string, The ID for the layer to get the annotations. (required)
-  annotationDataId: string, The ID of the annotation data to retrieve. (required)
-  contentVersion: string, The content version for the volume you are trying to retrieve. (required)
-  scale: integer, The requested scale for the image.
-  source: string, String to identify the originator of this request.
-  locale: string, The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.
-  h: integer, The requested pixel height for any images. If height is provided width must also be provided.
-  w: integer, The requested pixel width for any images. If width is provided height must also be provided.
-
-Returns:
-  An object of the form:
-
-    {
-    "annotationType": "A String", # The type of annotation this data is for.
-    "kind": "books#annotationdata", # Resource Type
-    "updated": "A String", # Timestamp for the last time this data was updated. (RFC 3339 UTC date-time format).
-    "volumeId": "A String", # The volume id for this data. *
-    "encoded_data": "A String", # Base64 encoded data for this annotation data.
-    "layerId": "A String", # The Layer id for this data. *
-    "data": "",
-    "id": "A String", # Unique id for this annotation data.
-    "selfLink": "A String", # URL for this resource. *
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(volumeId, layerId, contentVersion, locale=None, scale=None, pageToken=None, updatedMin=None, source=None, updatedMax=None, maxResults=None, annotationDataId=None, w=None, h=None)</code>
-  <pre>Gets the annotation data for a volume and layer.
-
-Args:
-  volumeId: string, The volume to retrieve annotation data for. (required)
-  layerId: string, The ID for the layer to get the annotation data. (required)
-  contentVersion: string, The content version for the requested volume. (required)
-  locale: string, The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.
-  scale: integer, The requested scale for the image.
-  pageToken: string, The value of the nextToken from the previous page.
-  updatedMin: string, RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).
-  source: string, String to identify the originator of this request.
-  updatedMax: string, RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).
-  maxResults: integer, Maximum number of results to return
-  annotationDataId: string, The list of Annotation Data Ids to retrieve. Pagination is ignored if this is set. (repeated)
-  w: integer, The requested pixel width for any images. If width is provided height must also be provided.
-  h: integer, The requested pixel height for any images. If height is provided width must also be provided.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Token to pass in for pagination for the next page. This will not be present if this request does not have more results.
-    "items": [ # A list of Annotation Data.
-      {
-        "annotationType": "A String", # The type of annotation this data is for.
-        "kind": "books#annotationdata", # Resource Type
-        "updated": "A String", # Timestamp for the last time this data was updated. (RFC 3339 UTC date-time format).
-        "volumeId": "A String", # The volume id for this data. *
-        "encoded_data": "A String", # Base64 encoded data for this annotation data.
-        "layerId": "A String", # The Layer id for this data. *
-        "data": "",
-        "id": "A String", # Unique id for this annotation data.
-        "selfLink": "A String", # URL for this resource. *
-      },
-    ],
-    "kind": "books#annotationsdata", # Resource type
-    "totalItems": 42, # The total number of volume annotations found.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.layers.html b/docs/dyn/books_v1.layers.html
deleted file mode 100644
index df07137..0000000
--- a/docs/dyn/books_v1.layers.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.layers.html">layers</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="books_v1.layers.annotationData.html">annotationData()</a></code>
-</p>
-<p class="firstline">Returns the annotationData Resource.</p>
-
-<p class="toc_element">
-  <code><a href="books_v1.layers.volumeAnnotations.html">volumeAnnotations()</a></code>
-</p>
-<p class="firstline">Returns the volumeAnnotations Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get(volumeId, summaryId, source=None, contentVersion=None)</a></code></p>
-<p class="firstline">Gets the layer summary for a volume.</p>
-<p class="toc_element">
-  <code><a href="#list">list(volumeId, pageToken=None, maxResults=None, source=None, contentVersion=None)</a></code></p>
-<p class="firstline">List the layer summaries for a volume.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(volumeId, summaryId, source=None, contentVersion=None)</code>
-  <pre>Gets the layer summary for a volume.
-
-Args:
-  volumeId: string, The volume to retrieve layers for. (required)
-  summaryId: string, The ID for the layer to get the summary for. (required)
-  source: string, String to identify the originator of this request.
-  contentVersion: string, The content version for the requested volume.
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "books#layersummary", # Resource Type
-    "annotationCount": 42, # The number of annotations for this layer.
-    "dataCount": 42, # The number of data items for this layer.
-    "annotationsLink": "A String", # The link to get the annotations for this layer.
-    "updated": "A String", # Timestamp for the last time an item in this layer was updated. (RFC 3339 UTC date-time format).
-    "volumeId": "A String", # The volume id this resource is for.
-    "id": "A String", # Unique id of this layer summary.
-    "annotationTypes": [ # The list of annotation types contained for this layer.
-      "A String",
-    ],
-    "contentVersion": "A String", # The content version this resource is for.
-    "layerId": "A String", # The layer id for this summary.
-    "volumeAnnotationsVersion": "A String", # The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.
-    "annotationsDataLink": "A String", # Link to get data for this annotation.
-    "selfLink": "A String", # URL to this resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(volumeId, pageToken=None, maxResults=None, source=None, contentVersion=None)</code>
-  <pre>List the layer summaries for a volume.
-
-Args:
-  volumeId: string, The volume to retrieve layers for. (required)
-  pageToken: string, The value of the nextToken from the previous page.
-  maxResults: integer, Maximum number of results to return
-  source: string, String to identify the originator of this request.
-  contentVersion: string, The content version for the requested volume.
-
-Returns:
-  An object of the form:
-
-    {
-    "totalItems": 42, # The total number of layer summaries found.
-    "items": [ # A list of layer summary items.
-      {
-        "kind": "books#layersummary", # Resource Type
-        "annotationCount": 42, # The number of annotations for this layer.
-        "dataCount": 42, # The number of data items for this layer.
-        "annotationsLink": "A String", # The link to get the annotations for this layer.
-        "updated": "A String", # Timestamp for the last time an item in this layer was updated. (RFC 3339 UTC date-time format).
-        "volumeId": "A String", # The volume id this resource is for.
-        "id": "A String", # Unique id of this layer summary.
-        "annotationTypes": [ # The list of annotation types contained for this layer.
-          "A String",
-        ],
-        "contentVersion": "A String", # The content version this resource is for.
-        "layerId": "A String", # The layer id for this summary.
-        "volumeAnnotationsVersion": "A String", # The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.
-        "annotationsDataLink": "A String", # Link to get data for this annotation.
-        "selfLink": "A String", # URL to this resource.
-      },
-    ],
-    "kind": "books#layersummaries", # Resource type.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.layers.volumeAnnotations.html b/docs/dyn/books_v1.layers.volumeAnnotations.html
deleted file mode 100644
index 72b7e34..0000000
--- a/docs/dyn/books_v1.layers.volumeAnnotations.html
+++ /dev/null
@@ -1,227 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.layers.html">layers</a> . <a href="books_v1.layers.volumeAnnotations.html">volumeAnnotations</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(volumeId, layerId, annotationId, source=None, locale=None)</a></code></p>
-<p class="firstline">Gets the volume annotation.</p>
-<p class="toc_element">
-  <code><a href="#list">list(volumeId, layerId, contentVersion, endPosition=None, locale=None, startOffset=None, volumeAnnotationsVersion=None, pageToken=None, updatedMin=None, endOffset=None, showDeleted=None, updatedMax=None, maxResults=None, startPosition=None, source=None)</a></code></p>
-<p class="firstline">Gets the volume annotations for a volume and layer.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(volumeId, layerId, annotationId, source=None, locale=None)</code>
-  <pre>Gets the volume annotation.
-
-Args:
-  volumeId: string, The volume to retrieve annotations for. (required)
-  layerId: string, The ID for the layer to get the annotations. (required)
-  annotationId: string, The ID of the volume annotation to retrieve. (required)
-  source: string, String to identify the originator of this request.
-  locale: string, The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.
-
-Returns:
-  An object of the form:
-
-    {
-    "annotationType": "A String", # The type of annotation this is.
-    "kind": "books#volumeannotation", # Resource Type
-    "updated": "A String", # Timestamp for the last time this anntoation was updated. (RFC 3339 UTC date-time format).
-    "deleted": True or False, # Indicates that this annotation is deleted.
-    "contentRanges": { # The content ranges to identify the selected text.
-      "contentVersion": "A String", # Content version applicable to ranges below.
-      "gbTextRange": { # Range in GB text format for this annotation for version above.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-      "cfiRange": { # Range in CFI format for this annotation for version above.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-      "gbImageRange": { # Range in GB image format for this annotation for version above.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-    },
-    "selectedText": "A String", # Excerpt from the volume.
-    "volumeId": "A String", # The Volume this annotation is for.
-    "annotationDataId": "A String", # The annotation data id for this volume annotation.
-    "annotationDataLink": "A String", # Link to get data for this annotation.
-    "pageIds": [ # Pages the annotation spans.
-      "A String",
-    ],
-    "layerId": "A String", # The Layer this annotation is for.
-    "data": "A String", # Data for this annotation.
-    "id": "A String", # Unique id of this volume annotation.
-    "selfLink": "A String", # URL to this resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(volumeId, layerId, contentVersion, endPosition=None, locale=None, startOffset=None, volumeAnnotationsVersion=None, pageToken=None, updatedMin=None, endOffset=None, showDeleted=None, updatedMax=None, maxResults=None, startPosition=None, source=None)</code>
-  <pre>Gets the volume annotations for a volume and layer.
-
-Args:
-  volumeId: string, The volume to retrieve annotations for. (required)
-  layerId: string, The ID for the layer to get the annotations. (required)
-  contentVersion: string, The content version for the requested volume. (required)
-  endPosition: string, The end position to end retrieving data from.
-  locale: string, The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.
-  startOffset: string, The start offset to start retrieving data from.
-  volumeAnnotationsVersion: string, The version of the volume annotations that you are requesting.
-  pageToken: string, The value of the nextToken from the previous page.
-  updatedMin: string, RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).
-  endOffset: string, The end offset to end retrieving data from.
-  showDeleted: boolean, Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false.
-  updatedMax: string, RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).
-  maxResults: integer, Maximum number of results to return
-  startPosition: string, The start position to start retrieving data from.
-  source: string, String to identify the originator of this request.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Token to pass in for pagination for the next page. This will not be present if this request does not have more results.
-    "items": [ # A list of volume annotations.
-      {
-        "annotationType": "A String", # The type of annotation this is.
-        "kind": "books#volumeannotation", # Resource Type
-        "updated": "A String", # Timestamp for the last time this anntoation was updated. (RFC 3339 UTC date-time format).
-        "deleted": True or False, # Indicates that this annotation is deleted.
-        "contentRanges": { # The content ranges to identify the selected text.
-          "contentVersion": "A String", # Content version applicable to ranges below.
-          "gbTextRange": { # Range in GB text format for this annotation for version above.
-            "startPosition": "A String", # The starting position for the range.
-            "endPosition": "A String", # The ending position for the range.
-            "startOffset": "A String", # The offset from the starting position.
-            "endOffset": "A String", # The offset from the ending position.
-          },
-          "cfiRange": { # Range in CFI format for this annotation for version above.
-            "startPosition": "A String", # The starting position for the range.
-            "endPosition": "A String", # The ending position for the range.
-            "startOffset": "A String", # The offset from the starting position.
-            "endOffset": "A String", # The offset from the ending position.
-          },
-          "gbImageRange": { # Range in GB image format for this annotation for version above.
-            "startPosition": "A String", # The starting position for the range.
-            "endPosition": "A String", # The ending position for the range.
-            "startOffset": "A String", # The offset from the starting position.
-            "endOffset": "A String", # The offset from the ending position.
-          },
-        },
-        "selectedText": "A String", # Excerpt from the volume.
-        "volumeId": "A String", # The Volume this annotation is for.
-        "annotationDataId": "A String", # The annotation data id for this volume annotation.
-        "annotationDataLink": "A String", # Link to get data for this annotation.
-        "pageIds": [ # Pages the annotation spans.
-          "A String",
-        ],
-        "layerId": "A String", # The Layer this annotation is for.
-        "data": "A String", # Data for this annotation.
-        "id": "A String", # Unique id of this volume annotation.
-        "selfLink": "A String", # URL to this resource.
-      },
-    ],
-    "kind": "books#volumeannotations", # Resource type
-    "version": "A String", # The version string for all of the volume annotations in this layer (not just the ones in this response). Note: the version string doesn't apply to the annotation data, just the information in this response (e.g. the location of annotations in the book).
-    "totalItems": 42, # The total number of volume annotations found.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.myconfig.html b/docs/dyn/books_v1.myconfig.html
deleted file mode 100644
index f5d3ab1..0000000
--- a/docs/dyn/books_v1.myconfig.html
+++ /dev/null
@@ -1,369 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.myconfig.html">myconfig</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#releaseDownloadAccess">releaseDownloadAccess(volumeIds, cpksver, source=None, locale=None)</a></code></p>
-<p class="firstline">Release downloaded content access restriction.</p>
-<p class="toc_element">
-  <code><a href="#requestAccess">requestAccess(source, volumeId, nonce, cpksver, locale=None)</a></code></p>
-<p class="firstline">Request concurrent and download access restrictions.</p>
-<p class="toc_element">
-  <code><a href="#syncVolumeLicenses">syncVolumeLicenses(source, nonce, cpksver, features=None, locale=None, showPreorders=None, volumeIds=None)</a></code></p>
-<p class="firstline">Request downloaded content access for specified volumes on the My eBooks shelf.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="releaseDownloadAccess">releaseDownloadAccess(volumeIds, cpksver, source=None, locale=None)</code>
-  <pre>Release downloaded content access restriction.
-
-Args:
-  volumeIds: string, The volume(s) to release restrictions for. (required) (repeated)
-  cpksver: string, The device/version ID from which to release the restriction. (required)
-  source: string, String to identify the originator of this request.
-  locale: string, ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.
-
-Returns:
-  An object of the form:
-
-    {
-    "downloadAccessList": [ # A list of download access responses.
-      {
-        "nonce": "A String", # Client nonce for verification. Download access and client-validation only.
-        "kind": "books#downloadAccessRestriction", # Resource type.
-        "justAcquired": True or False, # If deviceAllowed, whether access was just acquired with this request.
-        "maxDownloadDevices": 42, # If restricted, the maximum number of content download licenses for this volume.
-        "downloadsAcquired": 42, # If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).
-        "signature": "A String", # Response signature.
-        "volumeId": "A String", # Identifies the volume for which this entry applies.
-        "deviceAllowed": True or False, # If restricted, whether access is granted for this (user, device, volume).
-        "source": "A String", # Client app identifier for verification. Download access and client-validation only.
-        "restricted": True or False, # Whether this volume has any download access restrictions.
-        "reasonCode": "A String", # Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
-        "message": "A String", # Error/warning message.
-      },
-    ],
-    "kind": "books#downloadAccesses", # Resource type.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="requestAccess">requestAccess(source, volumeId, nonce, cpksver, locale=None)</code>
-  <pre>Request concurrent and download access restrictions.
-
-Args:
-  source: string, String to identify the originator of this request. (required)
-  volumeId: string, The volume to request concurrent/download restrictions for. (required)
-  nonce: string, The client nonce value. (required)
-  cpksver: string, The device/version ID from which to request the restrictions. (required)
-  locale: string, ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.
-
-Returns:
-  An object of the form:
-
-    {
-    "downloadAccess": { # A download access response.
-      "nonce": "A String", # Client nonce for verification. Download access and client-validation only.
-      "kind": "books#downloadAccessRestriction", # Resource type.
-      "justAcquired": True or False, # If deviceAllowed, whether access was just acquired with this request.
-      "maxDownloadDevices": 42, # If restricted, the maximum number of content download licenses for this volume.
-      "downloadsAcquired": 42, # If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).
-      "signature": "A String", # Response signature.
-      "volumeId": "A String", # Identifies the volume for which this entry applies.
-      "deviceAllowed": True or False, # If restricted, whether access is granted for this (user, device, volume).
-      "source": "A String", # Client app identifier for verification. Download access and client-validation only.
-      "restricted": True or False, # Whether this volume has any download access restrictions.
-      "reasonCode": "A String", # Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
-      "message": "A String", # Error/warning message.
-    },
-    "kind": "books#requestAccess", # Resource type.
-    "concurrentAccess": { # A concurrent access response.
-      "nonce": "A String", # Client nonce for verification. Download access and client-validation only.
-      "kind": "books#concurrentAccessRestriction", # Resource type.
-      "restricted": True or False, # Whether this volume has any concurrent access restrictions.
-      "volumeId": "A String", # Identifies the volume for which this entry applies.
-      "maxConcurrentDevices": 42, # The maximum number of concurrent access licenses for this volume.
-      "deviceAllowed": True or False, # Whether access is granted for this (user, device, volume).
-      "source": "A String", # Client app identifier for verification. Download access and client-validation only.
-      "timeWindowSeconds": 42, # Time in seconds for license auto-expiration.
-      "signature": "A String", # Response signature.
-      "reasonCode": "A String", # Error/warning reason code.
-      "message": "A String", # Error/warning message.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="syncVolumeLicenses">syncVolumeLicenses(source, nonce, cpksver, features=None, locale=None, showPreorders=None, volumeIds=None)</code>
-  <pre>Request downloaded content access for specified volumes on the My eBooks shelf.
-
-Args:
-  source: string, String to identify the originator of this request. (required)
-  nonce: string, The client nonce value. (required)
-  cpksver: string, The device/version ID from which to release the restriction. (required)
-  features: string, List of features supported by the client, i.e., 'RENTALS' (repeated)
-    Allowed values
-      RENTALS - Client supports rentals.
-  locale: string, ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.
-  showPreorders: boolean, Set to true to show pre-ordered books. Defaults to false.
-  volumeIds: string, The volume(s) to request download restrictions for. (repeated)
-
-Returns:
-  An object of the form:
-
-    {
-    "totalItems": 42, # Total number of volumes found. This might be greater than the number of volumes returned in this response if results have been paginated.
-    "items": [ # A list of volumes.
-      {
-        "kind": "books#volume", # Resource type for a volume. (In LITE projection.)
-        "accessInfo": { # Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).
-          "webReaderLink": "A String", # URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.
-          "publicDomain": True or False, # Whether or not this book is public domain in the country listed above.
-          "embeddable": True or False, # Whether this volume can be embedded in a viewport using the Embedded Viewer API.
-          "downloadAccess": { # Information about a volume's download license access restrictions.
-            "nonce": "A String", # Client nonce for verification. Download access and client-validation only.
-            "kind": "books#downloadAccessRestriction", # Resource type.
-            "justAcquired": True or False, # If deviceAllowed, whether access was just acquired with this request.
-            "maxDownloadDevices": 42, # If restricted, the maximum number of content download licenses for this volume.
-            "downloadsAcquired": 42, # If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).
-            "signature": "A String", # Response signature.
-            "volumeId": "A String", # Identifies the volume for which this entry applies.
-            "deviceAllowed": True or False, # If restricted, whether access is granted for this (user, device, volume).
-            "source": "A String", # Client app identifier for verification. Download access and client-validation only.
-            "restricted": True or False, # Whether this volume has any download access restrictions.
-            "reasonCode": "A String", # Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
-            "message": "A String", # Error/warning message.
-          },
-          "country": "A String", # The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)
-          "viewOrderUrl": "A String", # For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.
-          "textToSpeechPermission": "A String", # Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.
-          "pdf": { # Information about pdf content. (In LITE projection.)
-            "isAvailable": True or False, # Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)
-            "downloadLink": "A String", # URL to download pdf. (In LITE projection.)
-            "acsTokenLink": "A String", # URL to retrieve ACS token for pdf download. (In LITE projection.)
-          },
-          "viewability": "A String", # The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public domain books will always have a value of ALL_PAGES.
-          "epub": { # Information about epub content. (In LITE projection.)
-            "isAvailable": True or False, # Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)
-            "downloadLink": "A String", # URL to download epub. (In LITE projection.)
-            "acsTokenLink": "A String", # URL to retrieve ACS token for epub download. (In LITE projection.)
-          },
-          "accessViewStatus": "A String", # Combines the access and viewability of this volume into a single status field for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)
-        },
-        "searchInfo": { # Search result information related to this volume.
-          "textSnippet": "A String", # A text snippet containing the search query.
-        },
-        "saleInfo": { # Any information about a volume related to the eBookstore and/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).
-          "country": "A String", # The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)
-          "retailPrice": { # The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)
-            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
-            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
-          },
-          "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
-          "offers": [ # Offers available for this volume (sales and rentals).
-            {
-              "rentalDuration": { # The rental duration (for rental offers only).
-                "count": 3.14,
-                "unit": "A String",
-              },
-              "retailPrice": { # Offer retail (=discounted) price in Micros
-                "currencyCode": "A String",
-                "amountInMicros": 3.14,
-              },
-              "listPrice": { # Offer list (=undiscounted) price in Micros.
-                "currencyCode": "A String",
-                "amountInMicros": 3.14,
-              },
-              "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
-            },
-          ],
-          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
-          "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
-          "onSaleDate": "A String", # The date on which this book is available for sale.
-          "listPrice": { # Suggested retail price. (In LITE projection.)
-            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
-            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
-          },
-        },
-        "etag": "A String", # Opaque identifier for a specific version of a volume resource. (In LITE projection)
-        "selfLink": "A String", # URL to this resource. (In LITE projection.)
-        "volumeInfo": { # General volume information.
-          "publisher": "A String", # Publisher of this volume. (In LITE projection.)
-          "subtitle": "A String", # Volume subtitle. (In LITE projection.)
-          "description": "A String", # A synopsis of the volume. The text of the description is formatted in HTML and includes simple formatting elements, such as b, i, and br tags. (In LITE projection.)
-          "language": "A String", # Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as 'fr', 'en', etc.
-          "pageCount": 42, # Total number of pages.
-          "imageLinks": { # A list of image links for all the sizes that are available. (In LITE projection.)
-            "medium": "A String", # Image link for medium size (width of ~575 pixels). (In LITE projection)
-            "smallThumbnail": "A String", # Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
-            "large": "A String", # Image link for large size (width of ~800 pixels). (In LITE projection)
-            "extraLarge": "A String", # Image link for extra large size (width of ~1280 pixels). (In LITE projection)
-            "small": "A String", # Image link for small size (width of ~300 pixels). (In LITE projection)
-            "thumbnail": "A String", # Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
-          },
-          "publishedDate": "A String", # Date of publication. (In LITE projection.)
-          "previewLink": "A String", # URL to preview this volume on the Google Books site.
-          "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
-          "ratingsCount": 42, # The number of review ratings for this volume.
-          "mainCategory": "A String", # The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.
-          "dimensions": { # Physical dimensions of this volume.
-            "width": "A String", # Width of this volume (in cm).
-            "thickness": "A String", # Thickness of this volume (in cm).
-            "height": "A String", # Height or length of this volume (in cm).
-          },
-          "contentVersion": "A String", # An identifier for the version of the volume content (text & images). (In LITE projection)
-          "industryIdentifiers": [ # Industry standard identifiers for this volume.
-            {
-              "identifier": "A String", # Industry specific volume identifier.
-              "type": "A String", # Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.
-            },
-          ],
-          "authors": [ # The names of the authors and/or editors for this volume. (In LITE projection)
-            "A String",
-          ],
-          "title": "A String", # Volume title. (In LITE projection.)
-          "canonicalVolumeLink": "A String", # Canonical URL for a volume. (In LITE projection.)
-          "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
-          "categories": [ # A list of subject categories, such as "Fiction", "Suspense", etc.
-            "A String",
-          ],
-          "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
-        },
-        "recommendedInfo": { # Recommendation related information for this volume.
-          "explanation": "A String", # A text explaining why this volume is recommended.
-        },
-        "id": "A String", # Unique identifier for a volume. (In LITE projection.)
-        "layerInfo": { # What layers exist in this volume and high level information about them.
-          "layers": [ # A layer should appear here if and only if the layer exists for this book.
-            {
-              "volumeAnnotationsVersion": "A String", # The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.
-              "layerId": "A String", # The layer id of this layer (e.g. "geo").
-            },
-          ],
-        },
-        "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
-          "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
-          "rentalPeriod": { # Period during this book is/was a valid rental.
-            "startUtcSec": "A String",
-            "endUtcSec": "A String",
-          },
-          "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
-          "userUploadedVolumeInfo": {
-            "processingState": "A String",
-          },
-          "rentalState": "A String", # Whether this book is an active or an expired rental.
-          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
-          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
-            "kind": "books#readingPosition", # Resource type for a reading position.
-            "gbImagePosition": "A String", # Position in a volume for image-based content.
-            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
-            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
-            "volumeId": "A String", # Volume id associated with this reading position.
-            "pdfPosition": "A String", # Position in a PDF file.
-            "gbTextPosition": "A String", # Position in a volume for text-based content.
-          },
-          "review": { # This user's review of this volume, if one exists.
-            "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
-            "kind": "books#review", # Resource type for a review.
-            "author": { # Author of this review.
-              "displayName": "A String", # Name of this person.
-            },
-            "title": "A String", # Title for this review.
-            "volumeId": "A String", # Volume that this review is for.
-            "content": "A String", # Review text.
-            "source": { # Information regarding the source of this review, when the review is not from a Google Books user.
-              "extraDescription": "A String", # Extra text about the source of the review.
-              "url": "A String", # URL of the source of the review.
-              "description": "A String", # Name of the source.
-            },
-            "date": "A String", # Date of this review.
-            "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
-            "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
-          },
-          "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
-          "copy": { # Copy/Paste accounting information.
-            "limitType": "A String",
-            "remainingCharacterCount": 42,
-            "updated": "A String",
-            "allowedCharacterCount": 42,
-          },
-          "isUploaded": True or False, # Whether or not this volume was user uploaded.
-        },
-      },
-    ],
-    "kind": "books#volumes", # Resource type.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.mylibrary.annotations.html b/docs/dyn/books_v1.mylibrary.annotations.html
deleted file mode 100644
index b2da444..0000000
--- a/docs/dyn/books_v1.mylibrary.annotations.html
+++ /dev/null
@@ -1,685 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.mylibrary.html">mylibrary</a> . <a href="books_v1.mylibrary.annotations.html">annotations</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(annotationId, source=None)</a></code></p>
-<p class="firstline">Deletes an annotation.</p>
-<p class="toc_element">
-  <code><a href="#get">get(annotationId, source=None)</a></code></p>
-<p class="firstline">Gets an annotation by its ID.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(body, source=None, showOnlySummaryInResponse=None)</a></code></p>
-<p class="firstline">Inserts a new annotation.</p>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, updatedMax=None, layerId=None, volumeId=None, maxResults=None, showDeleted=None, pageIds=None, contentVersion=None, source=None, updatedMin=None)</a></code></p>
-<p class="firstline">Retrieves a list of annotations, possibly filtered.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#summary">summary(layerIds, volumeId)</a></code></p>
-<p class="firstline">Gets the summary of specified layers.</p>
-<p class="toc_element">
-  <code><a href="#update">update(annotationId, body, source=None)</a></code></p>
-<p class="firstline">Updates an existing annotation.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(annotationId, source=None)</code>
-  <pre>Deletes an annotation.
-
-Args:
-  annotationId: string, The ID for the annotation to delete. (required)
-  source: string, String to identify the originator of this request.
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(annotationId, source=None)</code>
-  <pre>Gets an annotation by its ID.
-
-Args:
-  annotationId: string, The ID for the annotation to retrieve. (required)
-  source: string, String to identify the originator of this request.
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "books#annotation", # Resource type.
-      "updated": "A String", # Timestamp for the last time this annotation was modified.
-      "created": "A String", # Timestamp for the created time of this annotation.
-      "deleted": True or False, # Indicates that this annotation is deleted.
-      "beforeSelectedText": "A String", # Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
-      "currentVersionRanges": { # Selection ranges for the most recent content version.
-        "contentVersion": "A String", # Content version applicable to ranges below.
-        "gbTextRange": { # Range in GB text format for this annotation for version above.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-        "cfiRange": { # Range in CFI format for this annotation for version above.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-        "imageCfiRange": { # Range in image CFI format for this annotation for version above.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-        "gbImageRange": { # Range in GB image format for this annotation for version above.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-      },
-      "afterSelectedText": "A String", # Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
-      "clientVersionRanges": { # Selection ranges sent from the client.
-        "contentVersion": "A String", # Content version the client sent in.
-        "gbTextRange": { # Range in GB text format for this annotation sent by client.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-        "cfiRange": { # Range in CFI format for this annotation sent by client.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-        "imageCfiRange": { # Range in image CFI format for this annotation sent by client.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-        "gbImageRange": { # Range in GB image format for this annotation sent by client.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-      },
-      "layerSummary": {
-        "limitType": "A String", # Type of limitation on this layer. "limited" or "unlimited" for the "copy" layer.
-        "remainingCharacterCount": 42, # Remaining allowed characters on this layer, especially for the "copy" layer.
-        "allowedCharacterCount": 42, # Maximum allowed characters on this layer, especially for the "copy" layer.
-      },
-      "volumeId": "A String", # The volume that this annotation belongs to.
-      "pageIds": [ # Pages that this annotation spans.
-        "A String",
-      ],
-      "layerId": "A String", # The layer this annotation is for.
-      "selectedText": "A String", # Excerpt from the volume.
-      "highlightStyle": "A String", # The highlight style for this annotation.
-      "data": "A String", # User-created data for this annotation.
-      "id": "A String", # Id of this annotation, in the form of a GUID.
-      "selfLink": "A String", # URL to this resource.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(body, source=None, showOnlySummaryInResponse=None)</code>
-  <pre>Inserts a new annotation.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "books#annotation", # Resource type.
-    "updated": "A String", # Timestamp for the last time this annotation was modified.
-    "created": "A String", # Timestamp for the created time of this annotation.
-    "deleted": True or False, # Indicates that this annotation is deleted.
-    "beforeSelectedText": "A String", # Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
-    "currentVersionRanges": { # Selection ranges for the most recent content version.
-      "contentVersion": "A String", # Content version applicable to ranges below.
-      "gbTextRange": { # Range in GB text format for this annotation for version above.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-      "cfiRange": { # Range in CFI format for this annotation for version above.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-      "imageCfiRange": { # Range in image CFI format for this annotation for version above.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-      "gbImageRange": { # Range in GB image format for this annotation for version above.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-    },
-    "afterSelectedText": "A String", # Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
-    "clientVersionRanges": { # Selection ranges sent from the client.
-      "contentVersion": "A String", # Content version the client sent in.
-      "gbTextRange": { # Range in GB text format for this annotation sent by client.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-      "cfiRange": { # Range in CFI format for this annotation sent by client.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-      "imageCfiRange": { # Range in image CFI format for this annotation sent by client.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-      "gbImageRange": { # Range in GB image format for this annotation sent by client.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-    },
-    "layerSummary": {
-      "limitType": "A String", # Type of limitation on this layer. "limited" or "unlimited" for the "copy" layer.
-      "remainingCharacterCount": 42, # Remaining allowed characters on this layer, especially for the "copy" layer.
-      "allowedCharacterCount": 42, # Maximum allowed characters on this layer, especially for the "copy" layer.
-    },
-    "volumeId": "A String", # The volume that this annotation belongs to.
-    "pageIds": [ # Pages that this annotation spans.
-      "A String",
-    ],
-    "layerId": "A String", # The layer this annotation is for.
-    "selectedText": "A String", # Excerpt from the volume.
-    "highlightStyle": "A String", # The highlight style for this annotation.
-    "data": "A String", # User-created data for this annotation.
-    "id": "A String", # Id of this annotation, in the form of a GUID.
-    "selfLink": "A String", # URL to this resource.
-  }
-
-  source: string, String to identify the originator of this request.
-  showOnlySummaryInResponse: boolean, Requests that only the summary of the specified layer be provided in the response.
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "books#annotation", # Resource type.
-      "updated": "A String", # Timestamp for the last time this annotation was modified.
-      "created": "A String", # Timestamp for the created time of this annotation.
-      "deleted": True or False, # Indicates that this annotation is deleted.
-      "beforeSelectedText": "A String", # Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
-      "currentVersionRanges": { # Selection ranges for the most recent content version.
-        "contentVersion": "A String", # Content version applicable to ranges below.
-        "gbTextRange": { # Range in GB text format for this annotation for version above.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-        "cfiRange": { # Range in CFI format for this annotation for version above.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-        "imageCfiRange": { # Range in image CFI format for this annotation for version above.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-        "gbImageRange": { # Range in GB image format for this annotation for version above.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-      },
-      "afterSelectedText": "A String", # Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
-      "clientVersionRanges": { # Selection ranges sent from the client.
-        "contentVersion": "A String", # Content version the client sent in.
-        "gbTextRange": { # Range in GB text format for this annotation sent by client.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-        "cfiRange": { # Range in CFI format for this annotation sent by client.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-        "imageCfiRange": { # Range in image CFI format for this annotation sent by client.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-        "gbImageRange": { # Range in GB image format for this annotation sent by client.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-      },
-      "layerSummary": {
-        "limitType": "A String", # Type of limitation on this layer. "limited" or "unlimited" for the "copy" layer.
-        "remainingCharacterCount": 42, # Remaining allowed characters on this layer, especially for the "copy" layer.
-        "allowedCharacterCount": 42, # Maximum allowed characters on this layer, especially for the "copy" layer.
-      },
-      "volumeId": "A String", # The volume that this annotation belongs to.
-      "pageIds": [ # Pages that this annotation spans.
-        "A String",
-      ],
-      "layerId": "A String", # The layer this annotation is for.
-      "selectedText": "A String", # Excerpt from the volume.
-      "highlightStyle": "A String", # The highlight style for this annotation.
-      "data": "A String", # User-created data for this annotation.
-      "id": "A String", # Id of this annotation, in the form of a GUID.
-      "selfLink": "A String", # URL to this resource.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, updatedMax=None, layerId=None, volumeId=None, maxResults=None, showDeleted=None, pageIds=None, contentVersion=None, source=None, updatedMin=None)</code>
-  <pre>Retrieves a list of annotations, possibly filtered.
-
-Args:
-  pageToken: string, The value of the nextToken from the previous page.
-  updatedMax: string, RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).
-  layerId: string, The layer ID to limit annotation by.
-  volumeId: string, The volume to restrict annotations to.
-  maxResults: integer, Maximum number of results to return
-  showDeleted: boolean, Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false.
-  pageIds: string, The page ID(s) for the volume that is being queried. (repeated)
-  contentVersion: string, The content version for the requested volume.
-  source: string, String to identify the originator of this request.
-  updatedMin: string, RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Token to pass in for pagination for the next page. This will not be present if this request does not have more results.
-    "items": [ # A list of annotations.
-      {
-          "kind": "books#annotation", # Resource type.
-          "updated": "A String", # Timestamp for the last time this annotation was modified.
-          "created": "A String", # Timestamp for the created time of this annotation.
-          "deleted": True or False, # Indicates that this annotation is deleted.
-          "beforeSelectedText": "A String", # Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
-          "currentVersionRanges": { # Selection ranges for the most recent content version.
-            "contentVersion": "A String", # Content version applicable to ranges below.
-            "gbTextRange": { # Range in GB text format for this annotation for version above.
-              "startPosition": "A String", # The starting position for the range.
-              "endPosition": "A String", # The ending position for the range.
-              "startOffset": "A String", # The offset from the starting position.
-              "endOffset": "A String", # The offset from the ending position.
-            },
-            "cfiRange": { # Range in CFI format for this annotation for version above.
-              "startPosition": "A String", # The starting position for the range.
-              "endPosition": "A String", # The ending position for the range.
-              "startOffset": "A String", # The offset from the starting position.
-              "endOffset": "A String", # The offset from the ending position.
-            },
-            "imageCfiRange": { # Range in image CFI format for this annotation for version above.
-              "startPosition": "A String", # The starting position for the range.
-              "endPosition": "A String", # The ending position for the range.
-              "startOffset": "A String", # The offset from the starting position.
-              "endOffset": "A String", # The offset from the ending position.
-            },
-            "gbImageRange": { # Range in GB image format for this annotation for version above.
-              "startPosition": "A String", # The starting position for the range.
-              "endPosition": "A String", # The ending position for the range.
-              "startOffset": "A String", # The offset from the starting position.
-              "endOffset": "A String", # The offset from the ending position.
-            },
-          },
-          "afterSelectedText": "A String", # Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
-          "clientVersionRanges": { # Selection ranges sent from the client.
-            "contentVersion": "A String", # Content version the client sent in.
-            "gbTextRange": { # Range in GB text format for this annotation sent by client.
-              "startPosition": "A String", # The starting position for the range.
-              "endPosition": "A String", # The ending position for the range.
-              "startOffset": "A String", # The offset from the starting position.
-              "endOffset": "A String", # The offset from the ending position.
-            },
-            "cfiRange": { # Range in CFI format for this annotation sent by client.
-              "startPosition": "A String", # The starting position for the range.
-              "endPosition": "A String", # The ending position for the range.
-              "startOffset": "A String", # The offset from the starting position.
-              "endOffset": "A String", # The offset from the ending position.
-            },
-            "imageCfiRange": { # Range in image CFI format for this annotation sent by client.
-              "startPosition": "A String", # The starting position for the range.
-              "endPosition": "A String", # The ending position for the range.
-              "startOffset": "A String", # The offset from the starting position.
-              "endOffset": "A String", # The offset from the ending position.
-            },
-            "gbImageRange": { # Range in GB image format for this annotation sent by client.
-              "startPosition": "A String", # The starting position for the range.
-              "endPosition": "A String", # The ending position for the range.
-              "startOffset": "A String", # The offset from the starting position.
-              "endOffset": "A String", # The offset from the ending position.
-            },
-          },
-          "layerSummary": {
-            "limitType": "A String", # Type of limitation on this layer. "limited" or "unlimited" for the "copy" layer.
-            "remainingCharacterCount": 42, # Remaining allowed characters on this layer, especially for the "copy" layer.
-            "allowedCharacterCount": 42, # Maximum allowed characters on this layer, especially for the "copy" layer.
-          },
-          "volumeId": "A String", # The volume that this annotation belongs to.
-          "pageIds": [ # Pages that this annotation spans.
-            "A String",
-          ],
-          "layerId": "A String", # The layer this annotation is for.
-          "selectedText": "A String", # Excerpt from the volume.
-          "highlightStyle": "A String", # The highlight style for this annotation.
-          "data": "A String", # User-created data for this annotation.
-          "id": "A String", # Id of this annotation, in the form of a GUID.
-          "selfLink": "A String", # URL to this resource.
-        },
-    ],
-    "kind": "books#annotations", # Resource type.
-    "totalItems": 42, # Total number of annotations found. This may be greater than the number of notes returned in this response if results have been paginated.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="summary">summary(layerIds, volumeId)</code>
-  <pre>Gets the summary of specified layers.
-
-Args:
-  layerIds: string, Array of layer IDs to get the summary for. (required) (repeated)
-  volumeId: string, Volume id to get the summary for. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "layers": [
-      {
-        "limitType": "A String",
-        "remainingCharacterCount": 42,
-        "updated": "A String",
-        "layerId": "A String",
-        "allowedCharacterCount": 42,
-      },
-    ],
-    "kind": "books#annotationsSummary",
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(annotationId, body, source=None)</code>
-  <pre>Updates an existing annotation.
-
-Args:
-  annotationId: string, The ID for the annotation to update. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "books#annotation", # Resource type.
-    "updated": "A String", # Timestamp for the last time this annotation was modified.
-    "created": "A String", # Timestamp for the created time of this annotation.
-    "deleted": True or False, # Indicates that this annotation is deleted.
-    "beforeSelectedText": "A String", # Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
-    "currentVersionRanges": { # Selection ranges for the most recent content version.
-      "contentVersion": "A String", # Content version applicable to ranges below.
-      "gbTextRange": { # Range in GB text format for this annotation for version above.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-      "cfiRange": { # Range in CFI format for this annotation for version above.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-      "imageCfiRange": { # Range in image CFI format for this annotation for version above.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-      "gbImageRange": { # Range in GB image format for this annotation for version above.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-    },
-    "afterSelectedText": "A String", # Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
-    "clientVersionRanges": { # Selection ranges sent from the client.
-      "contentVersion": "A String", # Content version the client sent in.
-      "gbTextRange": { # Range in GB text format for this annotation sent by client.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-      "cfiRange": { # Range in CFI format for this annotation sent by client.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-      "imageCfiRange": { # Range in image CFI format for this annotation sent by client.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-      "gbImageRange": { # Range in GB image format for this annotation sent by client.
-        "startPosition": "A String", # The starting position for the range.
-        "endPosition": "A String", # The ending position for the range.
-        "startOffset": "A String", # The offset from the starting position.
-        "endOffset": "A String", # The offset from the ending position.
-      },
-    },
-    "layerSummary": {
-      "limitType": "A String", # Type of limitation on this layer. "limited" or "unlimited" for the "copy" layer.
-      "remainingCharacterCount": 42, # Remaining allowed characters on this layer, especially for the "copy" layer.
-      "allowedCharacterCount": 42, # Maximum allowed characters on this layer, especially for the "copy" layer.
-    },
-    "volumeId": "A String", # The volume that this annotation belongs to.
-    "pageIds": [ # Pages that this annotation spans.
-      "A String",
-    ],
-    "layerId": "A String", # The layer this annotation is for.
-    "selectedText": "A String", # Excerpt from the volume.
-    "highlightStyle": "A String", # The highlight style for this annotation.
-    "data": "A String", # User-created data for this annotation.
-    "id": "A String", # Id of this annotation, in the form of a GUID.
-    "selfLink": "A String", # URL to this resource.
-  }
-
-  source: string, String to identify the originator of this request.
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "books#annotation", # Resource type.
-      "updated": "A String", # Timestamp for the last time this annotation was modified.
-      "created": "A String", # Timestamp for the created time of this annotation.
-      "deleted": True or False, # Indicates that this annotation is deleted.
-      "beforeSelectedText": "A String", # Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
-      "currentVersionRanges": { # Selection ranges for the most recent content version.
-        "contentVersion": "A String", # Content version applicable to ranges below.
-        "gbTextRange": { # Range in GB text format for this annotation for version above.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-        "cfiRange": { # Range in CFI format for this annotation for version above.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-        "imageCfiRange": { # Range in image CFI format for this annotation for version above.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-        "gbImageRange": { # Range in GB image format for this annotation for version above.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-      },
-      "afterSelectedText": "A String", # Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
-      "clientVersionRanges": { # Selection ranges sent from the client.
-        "contentVersion": "A String", # Content version the client sent in.
-        "gbTextRange": { # Range in GB text format for this annotation sent by client.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-        "cfiRange": { # Range in CFI format for this annotation sent by client.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-        "imageCfiRange": { # Range in image CFI format for this annotation sent by client.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-        "gbImageRange": { # Range in GB image format for this annotation sent by client.
-          "startPosition": "A String", # The starting position for the range.
-          "endPosition": "A String", # The ending position for the range.
-          "startOffset": "A String", # The offset from the starting position.
-          "endOffset": "A String", # The offset from the ending position.
-        },
-      },
-      "layerSummary": {
-        "limitType": "A String", # Type of limitation on this layer. "limited" or "unlimited" for the "copy" layer.
-        "remainingCharacterCount": 42, # Remaining allowed characters on this layer, especially for the "copy" layer.
-        "allowedCharacterCount": 42, # Maximum allowed characters on this layer, especially for the "copy" layer.
-      },
-      "volumeId": "A String", # The volume that this annotation belongs to.
-      "pageIds": [ # Pages that this annotation spans.
-        "A String",
-      ],
-      "layerId": "A String", # The layer this annotation is for.
-      "selectedText": "A String", # Excerpt from the volume.
-      "highlightStyle": "A String", # The highlight style for this annotation.
-      "data": "A String", # User-created data for this annotation.
-      "id": "A String", # Id of this annotation, in the form of a GUID.
-      "selfLink": "A String", # URL to this resource.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.mylibrary.bookshelves.html b/docs/dyn/books_v1.mylibrary.bookshelves.html
deleted file mode 100644
index 907ef4f..0000000
--- a/docs/dyn/books_v1.mylibrary.bookshelves.html
+++ /dev/null
@@ -1,199 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.mylibrary.html">mylibrary</a> . <a href="books_v1.mylibrary.bookshelves.html">bookshelves</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="books_v1.mylibrary.bookshelves.volumes.html">volumes()</a></code>
-</p>
-<p class="firstline">Returns the volumes Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#addVolume">addVolume(shelf, volumeId, source=None)</a></code></p>
-<p class="firstline">Adds a volume to a bookshelf.</p>
-<p class="toc_element">
-  <code><a href="#clearVolumes">clearVolumes(shelf, source=None)</a></code></p>
-<p class="firstline">Clears all volumes from a bookshelf.</p>
-<p class="toc_element">
-  <code><a href="#get">get(shelf, source=None)</a></code></p>
-<p class="firstline">Retrieves metadata for a specific bookshelf belonging to the authenticated user.</p>
-<p class="toc_element">
-  <code><a href="#list">list(source=None)</a></code></p>
-<p class="firstline">Retrieves a list of bookshelves belonging to the authenticated user.</p>
-<p class="toc_element">
-  <code><a href="#moveVolume">moveVolume(shelf, volumeId, volumePosition, source=None)</a></code></p>
-<p class="firstline">Moves a volume within a bookshelf.</p>
-<p class="toc_element">
-  <code><a href="#removeVolume">removeVolume(shelf, volumeId, source=None)</a></code></p>
-<p class="firstline">Removes a volume from a bookshelf.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="addVolume">addVolume(shelf, volumeId, source=None)</code>
-  <pre>Adds a volume to a bookshelf.
-
-Args:
-  shelf: string, ID of bookshelf to which to add a volume. (required)
-  volumeId: string, ID of volume to add. (required)
-  source: string, String to identify the originator of this request.
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="clearVolumes">clearVolumes(shelf, source=None)</code>
-  <pre>Clears all volumes from a bookshelf.
-
-Args:
-  shelf: string, ID of bookshelf from which to remove a volume. (required)
-  source: string, String to identify the originator of this request.
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(shelf, source=None)</code>
-  <pre>Retrieves metadata for a specific bookshelf belonging to the authenticated user.
-
-Args:
-  shelf: string, ID of bookshelf to retrieve. (required)
-  source: string, String to identify the originator of this request.
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "books#bookshelf", # Resource type for bookshelf metadata.
-    "description": "A String", # Description of this bookshelf.
-    "created": "A String", # Created time for this bookshelf (formatted UTC timestamp with millisecond resolution).
-    "volumeCount": 42, # Number of volumes in this bookshelf.
-    "title": "A String", # Title of this bookshelf.
-    "updated": "A String", # Last modified time of this bookshelf (formatted UTC timestamp with millisecond resolution).
-    "access": "A String", # Whether this bookshelf is PUBLIC or PRIVATE.
-    "volumesLastUpdated": "A String", # Last time a volume was added or removed from this bookshelf (formatted UTC timestamp with millisecond resolution).
-    "id": 42, # Id of this bookshelf, only unique by user.
-    "selfLink": "A String", # URL to this resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(source=None)</code>
-  <pre>Retrieves a list of bookshelves belonging to the authenticated user.
-
-Args:
-  source: string, String to identify the originator of this request.
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # A list of bookshelves.
-      {
-        "kind": "books#bookshelf", # Resource type for bookshelf metadata.
-        "description": "A String", # Description of this bookshelf.
-        "created": "A String", # Created time for this bookshelf (formatted UTC timestamp with millisecond resolution).
-        "volumeCount": 42, # Number of volumes in this bookshelf.
-        "title": "A String", # Title of this bookshelf.
-        "updated": "A String", # Last modified time of this bookshelf (formatted UTC timestamp with millisecond resolution).
-        "access": "A String", # Whether this bookshelf is PUBLIC or PRIVATE.
-        "volumesLastUpdated": "A String", # Last time a volume was added or removed from this bookshelf (formatted UTC timestamp with millisecond resolution).
-        "id": 42, # Id of this bookshelf, only unique by user.
-        "selfLink": "A String", # URL to this resource.
-      },
-    ],
-    "kind": "books#bookshelves", # Resource type.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="moveVolume">moveVolume(shelf, volumeId, volumePosition, source=None)</code>
-  <pre>Moves a volume within a bookshelf.
-
-Args:
-  shelf: string, ID of bookshelf with the volume. (required)
-  volumeId: string, ID of volume to move. (required)
-  volumePosition: integer, Position on shelf to move the item (0 puts the item before the current first item, 1 puts it between the first and the second and so on.) (required)
-  source: string, String to identify the originator of this request.
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="removeVolume">removeVolume(shelf, volumeId, source=None)</code>
-  <pre>Removes a volume from a bookshelf.
-
-Args:
-  shelf: string, ID of bookshelf from which to remove a volume. (required)
-  volumeId: string, ID of volume to remove. (required)
-  source: string, String to identify the originator of this request.
-</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.mylibrary.bookshelves.volumes.html b/docs/dyn/books_v1.mylibrary.bookshelves.volumes.html
deleted file mode 100644
index c85e0bd..0000000
--- a/docs/dyn/books_v1.mylibrary.bookshelves.volumes.html
+++ /dev/null
@@ -1,285 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.mylibrary.html">mylibrary</a> . <a href="books_v1.mylibrary.bookshelves.html">bookshelves</a> . <a href="books_v1.mylibrary.bookshelves.volumes.html">volumes</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(shelf, q=None, projection=None, source=None, country=None, showPreorders=None, startIndex=None, maxResults=None)</a></code></p>
-<p class="firstline">Gets volume information for volumes on a bookshelf.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(shelf, q=None, projection=None, source=None, country=None, showPreorders=None, startIndex=None, maxResults=None)</code>
-  <pre>Gets volume information for volumes on a bookshelf.
-
-Args:
-  shelf: string, The bookshelf ID or name retrieve volumes for. (required)
-  q: string, Full-text search query string in this bookshelf.
-  projection: string, Restrict information returned to a set of selected fields.
-    Allowed values
-      full - Includes all volume data.
-      lite - Includes a subset of fields in volumeInfo and accessInfo.
-  source: string, String to identify the originator of this request.
-  country: string, ISO-3166-1 code to override the IP-based location.
-  showPreorders: boolean, Set to true to show pre-ordered books. Defaults to false.
-  startIndex: integer, Index of the first element to return (starts at 0)
-  maxResults: integer, Maximum number of results to return
-
-Returns:
-  An object of the form:
-
-    {
-    "totalItems": 42, # Total number of volumes found. This might be greater than the number of volumes returned in this response if results have been paginated.
-    "items": [ # A list of volumes.
-      {
-        "kind": "books#volume", # Resource type for a volume. (In LITE projection.)
-        "accessInfo": { # Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).
-          "webReaderLink": "A String", # URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.
-          "publicDomain": True or False, # Whether or not this book is public domain in the country listed above.
-          "embeddable": True or False, # Whether this volume can be embedded in a viewport using the Embedded Viewer API.
-          "downloadAccess": { # Information about a volume's download license access restrictions.
-            "nonce": "A String", # Client nonce for verification. Download access and client-validation only.
-            "kind": "books#downloadAccessRestriction", # Resource type.
-            "justAcquired": True or False, # If deviceAllowed, whether access was just acquired with this request.
-            "maxDownloadDevices": 42, # If restricted, the maximum number of content download licenses for this volume.
-            "downloadsAcquired": 42, # If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).
-            "signature": "A String", # Response signature.
-            "volumeId": "A String", # Identifies the volume for which this entry applies.
-            "deviceAllowed": True or False, # If restricted, whether access is granted for this (user, device, volume).
-            "source": "A String", # Client app identifier for verification. Download access and client-validation only.
-            "restricted": True or False, # Whether this volume has any download access restrictions.
-            "reasonCode": "A String", # Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
-            "message": "A String", # Error/warning message.
-          },
-          "country": "A String", # The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)
-          "viewOrderUrl": "A String", # For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.
-          "textToSpeechPermission": "A String", # Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.
-          "pdf": { # Information about pdf content. (In LITE projection.)
-            "isAvailable": True or False, # Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)
-            "downloadLink": "A String", # URL to download pdf. (In LITE projection.)
-            "acsTokenLink": "A String", # URL to retrieve ACS token for pdf download. (In LITE projection.)
-          },
-          "viewability": "A String", # The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public domain books will always have a value of ALL_PAGES.
-          "epub": { # Information about epub content. (In LITE projection.)
-            "isAvailable": True or False, # Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)
-            "downloadLink": "A String", # URL to download epub. (In LITE projection.)
-            "acsTokenLink": "A String", # URL to retrieve ACS token for epub download. (In LITE projection.)
-          },
-          "accessViewStatus": "A String", # Combines the access and viewability of this volume into a single status field for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)
-        },
-        "searchInfo": { # Search result information related to this volume.
-          "textSnippet": "A String", # A text snippet containing the search query.
-        },
-        "saleInfo": { # Any information about a volume related to the eBookstore and/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).
-          "country": "A String", # The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)
-          "retailPrice": { # The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)
-            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
-            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
-          },
-          "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
-          "offers": [ # Offers available for this volume (sales and rentals).
-            {
-              "rentalDuration": { # The rental duration (for rental offers only).
-                "count": 3.14,
-                "unit": "A String",
-              },
-              "retailPrice": { # Offer retail (=discounted) price in Micros
-                "currencyCode": "A String",
-                "amountInMicros": 3.14,
-              },
-              "listPrice": { # Offer list (=undiscounted) price in Micros.
-                "currencyCode": "A String",
-                "amountInMicros": 3.14,
-              },
-              "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
-            },
-          ],
-          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
-          "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
-          "onSaleDate": "A String", # The date on which this book is available for sale.
-          "listPrice": { # Suggested retail price. (In LITE projection.)
-            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
-            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
-          },
-        },
-        "etag": "A String", # Opaque identifier for a specific version of a volume resource. (In LITE projection)
-        "selfLink": "A String", # URL to this resource. (In LITE projection.)
-        "volumeInfo": { # General volume information.
-          "publisher": "A String", # Publisher of this volume. (In LITE projection.)
-          "subtitle": "A String", # Volume subtitle. (In LITE projection.)
-          "description": "A String", # A synopsis of the volume. The text of the description is formatted in HTML and includes simple formatting elements, such as b, i, and br tags. (In LITE projection.)
-          "language": "A String", # Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as 'fr', 'en', etc.
-          "pageCount": 42, # Total number of pages.
-          "imageLinks": { # A list of image links for all the sizes that are available. (In LITE projection.)
-            "medium": "A String", # Image link for medium size (width of ~575 pixels). (In LITE projection)
-            "smallThumbnail": "A String", # Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
-            "large": "A String", # Image link for large size (width of ~800 pixels). (In LITE projection)
-            "extraLarge": "A String", # Image link for extra large size (width of ~1280 pixels). (In LITE projection)
-            "small": "A String", # Image link for small size (width of ~300 pixels). (In LITE projection)
-            "thumbnail": "A String", # Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
-          },
-          "publishedDate": "A String", # Date of publication. (In LITE projection.)
-          "previewLink": "A String", # URL to preview this volume on the Google Books site.
-          "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
-          "ratingsCount": 42, # The number of review ratings for this volume.
-          "mainCategory": "A String", # The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.
-          "dimensions": { # Physical dimensions of this volume.
-            "width": "A String", # Width of this volume (in cm).
-            "thickness": "A String", # Thickness of this volume (in cm).
-            "height": "A String", # Height or length of this volume (in cm).
-          },
-          "contentVersion": "A String", # An identifier for the version of the volume content (text & images). (In LITE projection)
-          "industryIdentifiers": [ # Industry standard identifiers for this volume.
-            {
-              "identifier": "A String", # Industry specific volume identifier.
-              "type": "A String", # Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.
-            },
-          ],
-          "authors": [ # The names of the authors and/or editors for this volume. (In LITE projection)
-            "A String",
-          ],
-          "title": "A String", # Volume title. (In LITE projection.)
-          "canonicalVolumeLink": "A String", # Canonical URL for a volume. (In LITE projection.)
-          "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
-          "categories": [ # A list of subject categories, such as "Fiction", "Suspense", etc.
-            "A String",
-          ],
-          "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
-        },
-        "recommendedInfo": { # Recommendation related information for this volume.
-          "explanation": "A String", # A text explaining why this volume is recommended.
-        },
-        "id": "A String", # Unique identifier for a volume. (In LITE projection.)
-        "layerInfo": { # What layers exist in this volume and high level information about them.
-          "layers": [ # A layer should appear here if and only if the layer exists for this book.
-            {
-              "volumeAnnotationsVersion": "A String", # The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.
-              "layerId": "A String", # The layer id of this layer (e.g. "geo").
-            },
-          ],
-        },
-        "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
-          "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
-          "rentalPeriod": { # Period during this book is/was a valid rental.
-            "startUtcSec": "A String",
-            "endUtcSec": "A String",
-          },
-          "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
-          "userUploadedVolumeInfo": {
-            "processingState": "A String",
-          },
-          "rentalState": "A String", # Whether this book is an active or an expired rental.
-          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
-          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
-            "kind": "books#readingPosition", # Resource type for a reading position.
-            "gbImagePosition": "A String", # Position in a volume for image-based content.
-            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
-            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
-            "volumeId": "A String", # Volume id associated with this reading position.
-            "pdfPosition": "A String", # Position in a PDF file.
-            "gbTextPosition": "A String", # Position in a volume for text-based content.
-          },
-          "review": { # This user's review of this volume, if one exists.
-            "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
-            "kind": "books#review", # Resource type for a review.
-            "author": { # Author of this review.
-              "displayName": "A String", # Name of this person.
-            },
-            "title": "A String", # Title for this review.
-            "volumeId": "A String", # Volume that this review is for.
-            "content": "A String", # Review text.
-            "source": { # Information regarding the source of this review, when the review is not from a Google Books user.
-              "extraDescription": "A String", # Extra text about the source of the review.
-              "url": "A String", # URL of the source of the review.
-              "description": "A String", # Name of the source.
-            },
-            "date": "A String", # Date of this review.
-            "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
-            "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
-          },
-          "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
-          "copy": { # Copy/Paste accounting information.
-            "limitType": "A String",
-            "remainingCharacterCount": 42,
-            "updated": "A String",
-            "allowedCharacterCount": 42,
-          },
-          "isUploaded": True or False, # Whether or not this volume was user uploaded.
-        },
-      },
-    ],
-    "kind": "books#volumes", # Resource type.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.mylibrary.html b/docs/dyn/books_v1.mylibrary.html
deleted file mode 100644
index 7880a0b..0000000
--- a/docs/dyn/books_v1.mylibrary.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.mylibrary.html">mylibrary</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="books_v1.mylibrary.annotations.html">annotations()</a></code>
-</p>
-<p class="firstline">Returns the annotations Resource.</p>
-
-<p class="toc_element">
-  <code><a href="books_v1.mylibrary.bookshelves.html">bookshelves()</a></code>
-</p>
-<p class="firstline">Returns the bookshelves Resource.</p>
-
-<p class="toc_element">
-  <code><a href="books_v1.mylibrary.readingpositions.html">readingpositions()</a></code>
-</p>
-<p class="firstline">Returns the readingpositions Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.mylibrary.readingpositions.html b/docs/dyn/books_v1.mylibrary.readingpositions.html
deleted file mode 100644
index af47982..0000000
--- a/docs/dyn/books_v1.mylibrary.readingpositions.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.mylibrary.html">mylibrary</a> . <a href="books_v1.mylibrary.readingpositions.html">readingpositions</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(volumeId, source=None, contentVersion=None)</a></code></p>
-<p class="firstline">Retrieves my reading position information for a volume.</p>
-<p class="toc_element">
-  <code><a href="#setPosition">setPosition(volumeId, timestamp, position, deviceCookie=None, source=None, contentVersion=None, action=None)</a></code></p>
-<p class="firstline">Sets my reading position information for a volume.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(volumeId, source=None, contentVersion=None)</code>
-  <pre>Retrieves my reading position information for a volume.
-
-Args:
-  volumeId: string, ID of volume for which to retrieve a reading position. (required)
-  source: string, String to identify the originator of this request.
-  contentVersion: string, Volume content version for which this reading position is requested.
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "books#readingPosition", # Resource type for a reading position.
-    "gbImagePosition": "A String", # Position in a volume for image-based content.
-    "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
-    "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
-    "volumeId": "A String", # Volume id associated with this reading position.
-    "pdfPosition": "A String", # Position in a PDF file.
-    "gbTextPosition": "A String", # Position in a volume for text-based content.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="setPosition">setPosition(volumeId, timestamp, position, deviceCookie=None, source=None, contentVersion=None, action=None)</code>
-  <pre>Sets my reading position information for a volume.
-
-Args:
-  volumeId: string, ID of volume for which to update the reading position. (required)
-  timestamp: string, RFC 3339 UTC format timestamp associated with this reading position. (required)
-  position: string, Position string for the new volume reading position. (required)
-  deviceCookie: string, Random persistent device cookie optional on set position.
-  source: string, String to identify the originator of this request.
-  contentVersion: string, Volume content version for which this reading position applies.
-  action: string, Action that caused this reading position to be set.
-    Allowed values
-      bookmark - User chose bookmark within volume.
-      chapter - User selected chapter from list.
-      next-page - Next page event.
-      prev-page - Previous page event.
-      scroll - User navigated to page.
-      search - User chose search results within volume.
-</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.volumes.associated.html b/docs/dyn/books_v1.volumes.associated.html
deleted file mode 100644
index b705313..0000000
--- a/docs/dyn/books_v1.volumes.associated.html
+++ /dev/null
@@ -1,281 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.volumes.html">volumes</a> . <a href="books_v1.volumes.associated.html">associated</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(volumeId, source=None, locale=None, association=None)</a></code></p>
-<p class="firstline">Return a list of associated books.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(volumeId, source=None, locale=None, association=None)</code>
-  <pre>Return a list of associated books.
-
-Args:
-  volumeId: string, ID of the source volume. (required)
-  source: string, String to identify the originator of this request.
-  locale: string, ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.
-  association: string, Association type.
-    Allowed values
-      end-of-sample - Recommendations for display end-of-sample.
-      end-of-volume - Recommendations for display end-of-volume.
-
-Returns:
-  An object of the form:
-
-    {
-    "totalItems": 42, # Total number of volumes found. This might be greater than the number of volumes returned in this response if results have been paginated.
-    "items": [ # A list of volumes.
-      {
-        "kind": "books#volume", # Resource type for a volume. (In LITE projection.)
-        "accessInfo": { # Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).
-          "webReaderLink": "A String", # URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.
-          "publicDomain": True or False, # Whether or not this book is public domain in the country listed above.
-          "embeddable": True or False, # Whether this volume can be embedded in a viewport using the Embedded Viewer API.
-          "downloadAccess": { # Information about a volume's download license access restrictions.
-            "nonce": "A String", # Client nonce for verification. Download access and client-validation only.
-            "kind": "books#downloadAccessRestriction", # Resource type.
-            "justAcquired": True or False, # If deviceAllowed, whether access was just acquired with this request.
-            "maxDownloadDevices": 42, # If restricted, the maximum number of content download licenses for this volume.
-            "downloadsAcquired": 42, # If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).
-            "signature": "A String", # Response signature.
-            "volumeId": "A String", # Identifies the volume for which this entry applies.
-            "deviceAllowed": True or False, # If restricted, whether access is granted for this (user, device, volume).
-            "source": "A String", # Client app identifier for verification. Download access and client-validation only.
-            "restricted": True or False, # Whether this volume has any download access restrictions.
-            "reasonCode": "A String", # Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
-            "message": "A String", # Error/warning message.
-          },
-          "country": "A String", # The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)
-          "viewOrderUrl": "A String", # For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.
-          "textToSpeechPermission": "A String", # Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.
-          "pdf": { # Information about pdf content. (In LITE projection.)
-            "isAvailable": True or False, # Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)
-            "downloadLink": "A String", # URL to download pdf. (In LITE projection.)
-            "acsTokenLink": "A String", # URL to retrieve ACS token for pdf download. (In LITE projection.)
-          },
-          "viewability": "A String", # The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public domain books will always have a value of ALL_PAGES.
-          "epub": { # Information about epub content. (In LITE projection.)
-            "isAvailable": True or False, # Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)
-            "downloadLink": "A String", # URL to download epub. (In LITE projection.)
-            "acsTokenLink": "A String", # URL to retrieve ACS token for epub download. (In LITE projection.)
-          },
-          "accessViewStatus": "A String", # Combines the access and viewability of this volume into a single status field for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)
-        },
-        "searchInfo": { # Search result information related to this volume.
-          "textSnippet": "A String", # A text snippet containing the search query.
-        },
-        "saleInfo": { # Any information about a volume related to the eBookstore and/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).
-          "country": "A String", # The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)
-          "retailPrice": { # The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)
-            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
-            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
-          },
-          "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
-          "offers": [ # Offers available for this volume (sales and rentals).
-            {
-              "rentalDuration": { # The rental duration (for rental offers only).
-                "count": 3.14,
-                "unit": "A String",
-              },
-              "retailPrice": { # Offer retail (=discounted) price in Micros
-                "currencyCode": "A String",
-                "amountInMicros": 3.14,
-              },
-              "listPrice": { # Offer list (=undiscounted) price in Micros.
-                "currencyCode": "A String",
-                "amountInMicros": 3.14,
-              },
-              "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
-            },
-          ],
-          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
-          "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
-          "onSaleDate": "A String", # The date on which this book is available for sale.
-          "listPrice": { # Suggested retail price. (In LITE projection.)
-            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
-            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
-          },
-        },
-        "etag": "A String", # Opaque identifier for a specific version of a volume resource. (In LITE projection)
-        "selfLink": "A String", # URL to this resource. (In LITE projection.)
-        "volumeInfo": { # General volume information.
-          "publisher": "A String", # Publisher of this volume. (In LITE projection.)
-          "subtitle": "A String", # Volume subtitle. (In LITE projection.)
-          "description": "A String", # A synopsis of the volume. The text of the description is formatted in HTML and includes simple formatting elements, such as b, i, and br tags. (In LITE projection.)
-          "language": "A String", # Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as 'fr', 'en', etc.
-          "pageCount": 42, # Total number of pages.
-          "imageLinks": { # A list of image links for all the sizes that are available. (In LITE projection.)
-            "medium": "A String", # Image link for medium size (width of ~575 pixels). (In LITE projection)
-            "smallThumbnail": "A String", # Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
-            "large": "A String", # Image link for large size (width of ~800 pixels). (In LITE projection)
-            "extraLarge": "A String", # Image link for extra large size (width of ~1280 pixels). (In LITE projection)
-            "small": "A String", # Image link for small size (width of ~300 pixels). (In LITE projection)
-            "thumbnail": "A String", # Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
-          },
-          "publishedDate": "A String", # Date of publication. (In LITE projection.)
-          "previewLink": "A String", # URL to preview this volume on the Google Books site.
-          "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
-          "ratingsCount": 42, # The number of review ratings for this volume.
-          "mainCategory": "A String", # The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.
-          "dimensions": { # Physical dimensions of this volume.
-            "width": "A String", # Width of this volume (in cm).
-            "thickness": "A String", # Thickness of this volume (in cm).
-            "height": "A String", # Height or length of this volume (in cm).
-          },
-          "contentVersion": "A String", # An identifier for the version of the volume content (text & images). (In LITE projection)
-          "industryIdentifiers": [ # Industry standard identifiers for this volume.
-            {
-              "identifier": "A String", # Industry specific volume identifier.
-              "type": "A String", # Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.
-            },
-          ],
-          "authors": [ # The names of the authors and/or editors for this volume. (In LITE projection)
-            "A String",
-          ],
-          "title": "A String", # Volume title. (In LITE projection.)
-          "canonicalVolumeLink": "A String", # Canonical URL for a volume. (In LITE projection.)
-          "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
-          "categories": [ # A list of subject categories, such as "Fiction", "Suspense", etc.
-            "A String",
-          ],
-          "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
-        },
-        "recommendedInfo": { # Recommendation related information for this volume.
-          "explanation": "A String", # A text explaining why this volume is recommended.
-        },
-        "id": "A String", # Unique identifier for a volume. (In LITE projection.)
-        "layerInfo": { # What layers exist in this volume and high level information about them.
-          "layers": [ # A layer should appear here if and only if the layer exists for this book.
-            {
-              "volumeAnnotationsVersion": "A String", # The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.
-              "layerId": "A String", # The layer id of this layer (e.g. "geo").
-            },
-          ],
-        },
-        "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
-          "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
-          "rentalPeriod": { # Period during this book is/was a valid rental.
-            "startUtcSec": "A String",
-            "endUtcSec": "A String",
-          },
-          "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
-          "userUploadedVolumeInfo": {
-            "processingState": "A String",
-          },
-          "rentalState": "A String", # Whether this book is an active or an expired rental.
-          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
-          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
-            "kind": "books#readingPosition", # Resource type for a reading position.
-            "gbImagePosition": "A String", # Position in a volume for image-based content.
-            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
-            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
-            "volumeId": "A String", # Volume id associated with this reading position.
-            "pdfPosition": "A String", # Position in a PDF file.
-            "gbTextPosition": "A String", # Position in a volume for text-based content.
-          },
-          "review": { # This user's review of this volume, if one exists.
-            "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
-            "kind": "books#review", # Resource type for a review.
-            "author": { # Author of this review.
-              "displayName": "A String", # Name of this person.
-            },
-            "title": "A String", # Title for this review.
-            "volumeId": "A String", # Volume that this review is for.
-            "content": "A String", # Review text.
-            "source": { # Information regarding the source of this review, when the review is not from a Google Books user.
-              "extraDescription": "A String", # Extra text about the source of the review.
-              "url": "A String", # URL of the source of the review.
-              "description": "A String", # Name of the source.
-            },
-            "date": "A String", # Date of this review.
-            "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
-            "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
-          },
-          "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
-          "copy": { # Copy/Paste accounting information.
-            "limitType": "A String",
-            "remainingCharacterCount": 42,
-            "updated": "A String",
-            "allowedCharacterCount": 42,
-          },
-          "isUploaded": True or False, # Whether or not this volume was user uploaded.
-        },
-      },
-    ],
-    "kind": "books#volumes", # Resource type.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.volumes.html b/docs/dyn/books_v1.volumes.html
deleted file mode 100644
index 0fd2b47..0000000
--- a/docs/dyn/books_v1.volumes.html
+++ /dev/null
@@ -1,526 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.volumes.html">volumes</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="books_v1.volumes.associated.html">associated()</a></code>
-</p>
-<p class="firstline">Returns the associated Resource.</p>
-
-<p class="toc_element">
-  <code><a href="books_v1.volumes.mybooks.html">mybooks()</a></code>
-</p>
-<p class="firstline">Returns the mybooks Resource.</p>
-
-<p class="toc_element">
-  <code><a href="books_v1.volumes.recommended.html">recommended()</a></code>
-</p>
-<p class="firstline">Returns the recommended Resource.</p>
-
-<p class="toc_element">
-  <code><a href="books_v1.volumes.useruploaded.html">useruploaded()</a></code>
-</p>
-<p class="firstline">Returns the useruploaded Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get(volumeId, projection=None, source=None, country=None, partner=None)</a></code></p>
-<p class="firstline">Gets volume information for a single volume.</p>
-<p class="toc_element">
-  <code><a href="#list">list(q, orderBy=None, projection=None, showPreorders=None, download=None, startIndex=None, partner=None, source=None, maxResults=None, libraryRestrict=None, langRestrict=None, printType=None, filter=None)</a></code></p>
-<p class="firstline">Performs a book search.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(volumeId, projection=None, source=None, country=None, partner=None)</code>
-  <pre>Gets volume information for a single volume.
-
-Args:
-  volumeId: string, ID of volume to retrieve. (required)
-  projection: string, Restrict information returned to a set of selected fields.
-    Allowed values
-      full - Includes all volume data.
-      lite - Includes a subset of fields in volumeInfo and accessInfo.
-  source: string, String to identify the originator of this request.
-  country: string, ISO-3166-1 code to override the IP-based location.
-  partner: string, Brand results for partner ID.
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "books#volume", # Resource type for a volume. (In LITE projection.)
-    "accessInfo": { # Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).
-      "webReaderLink": "A String", # URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.
-      "publicDomain": True or False, # Whether or not this book is public domain in the country listed above.
-      "embeddable": True or False, # Whether this volume can be embedded in a viewport using the Embedded Viewer API.
-      "downloadAccess": { # Information about a volume's download license access restrictions.
-        "nonce": "A String", # Client nonce for verification. Download access and client-validation only.
-        "kind": "books#downloadAccessRestriction", # Resource type.
-        "justAcquired": True or False, # If deviceAllowed, whether access was just acquired with this request.
-        "maxDownloadDevices": 42, # If restricted, the maximum number of content download licenses for this volume.
-        "downloadsAcquired": 42, # If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).
-        "signature": "A String", # Response signature.
-        "volumeId": "A String", # Identifies the volume for which this entry applies.
-        "deviceAllowed": True or False, # If restricted, whether access is granted for this (user, device, volume).
-        "source": "A String", # Client app identifier for verification. Download access and client-validation only.
-        "restricted": True or False, # Whether this volume has any download access restrictions.
-        "reasonCode": "A String", # Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
-        "message": "A String", # Error/warning message.
-      },
-      "country": "A String", # The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)
-      "viewOrderUrl": "A String", # For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.
-      "textToSpeechPermission": "A String", # Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.
-      "pdf": { # Information about pdf content. (In LITE projection.)
-        "isAvailable": True or False, # Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)
-        "downloadLink": "A String", # URL to download pdf. (In LITE projection.)
-        "acsTokenLink": "A String", # URL to retrieve ACS token for pdf download. (In LITE projection.)
-      },
-      "viewability": "A String", # The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public domain books will always have a value of ALL_PAGES.
-      "epub": { # Information about epub content. (In LITE projection.)
-        "isAvailable": True or False, # Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)
-        "downloadLink": "A String", # URL to download epub. (In LITE projection.)
-        "acsTokenLink": "A String", # URL to retrieve ACS token for epub download. (In LITE projection.)
-      },
-      "accessViewStatus": "A String", # Combines the access and viewability of this volume into a single status field for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)
-    },
-    "searchInfo": { # Search result information related to this volume.
-      "textSnippet": "A String", # A text snippet containing the search query.
-    },
-    "saleInfo": { # Any information about a volume related to the eBookstore and/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).
-      "country": "A String", # The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)
-      "retailPrice": { # The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)
-        "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
-        "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
-      },
-      "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
-      "offers": [ # Offers available for this volume (sales and rentals).
-        {
-          "rentalDuration": { # The rental duration (for rental offers only).
-            "count": 3.14,
-            "unit": "A String",
-          },
-          "retailPrice": { # Offer retail (=discounted) price in Micros
-            "currencyCode": "A String",
-            "amountInMicros": 3.14,
-          },
-          "listPrice": { # Offer list (=undiscounted) price in Micros.
-            "currencyCode": "A String",
-            "amountInMicros": 3.14,
-          },
-          "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
-        },
-      ],
-      "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
-      "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
-      "onSaleDate": "A String", # The date on which this book is available for sale.
-      "listPrice": { # Suggested retail price. (In LITE projection.)
-        "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
-        "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
-      },
-    },
-    "etag": "A String", # Opaque identifier for a specific version of a volume resource. (In LITE projection)
-    "selfLink": "A String", # URL to this resource. (In LITE projection.)
-    "volumeInfo": { # General volume information.
-      "publisher": "A String", # Publisher of this volume. (In LITE projection.)
-      "subtitle": "A String", # Volume subtitle. (In LITE projection.)
-      "description": "A String", # A synopsis of the volume. The text of the description is formatted in HTML and includes simple formatting elements, such as b, i, and br tags. (In LITE projection.)
-      "language": "A String", # Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as 'fr', 'en', etc.
-      "pageCount": 42, # Total number of pages.
-      "imageLinks": { # A list of image links for all the sizes that are available. (In LITE projection.)
-        "medium": "A String", # Image link for medium size (width of ~575 pixels). (In LITE projection)
-        "smallThumbnail": "A String", # Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
-        "large": "A String", # Image link for large size (width of ~800 pixels). (In LITE projection)
-        "extraLarge": "A String", # Image link for extra large size (width of ~1280 pixels). (In LITE projection)
-        "small": "A String", # Image link for small size (width of ~300 pixels). (In LITE projection)
-        "thumbnail": "A String", # Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
-      },
-      "publishedDate": "A String", # Date of publication. (In LITE projection.)
-      "previewLink": "A String", # URL to preview this volume on the Google Books site.
-      "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
-      "ratingsCount": 42, # The number of review ratings for this volume.
-      "mainCategory": "A String", # The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.
-      "dimensions": { # Physical dimensions of this volume.
-        "width": "A String", # Width of this volume (in cm).
-        "thickness": "A String", # Thickness of this volume (in cm).
-        "height": "A String", # Height or length of this volume (in cm).
-      },
-      "contentVersion": "A String", # An identifier for the version of the volume content (text & images). (In LITE projection)
-      "industryIdentifiers": [ # Industry standard identifiers for this volume.
-        {
-          "identifier": "A String", # Industry specific volume identifier.
-          "type": "A String", # Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.
-        },
-      ],
-      "authors": [ # The names of the authors and/or editors for this volume. (In LITE projection)
-        "A String",
-      ],
-      "title": "A String", # Volume title. (In LITE projection.)
-      "canonicalVolumeLink": "A String", # Canonical URL for a volume. (In LITE projection.)
-      "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
-      "categories": [ # A list of subject categories, such as "Fiction", "Suspense", etc.
-        "A String",
-      ],
-      "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
-    },
-    "recommendedInfo": { # Recommendation related information for this volume.
-      "explanation": "A String", # A text explaining why this volume is recommended.
-    },
-    "id": "A String", # Unique identifier for a volume. (In LITE projection.)
-    "layerInfo": { # What layers exist in this volume and high level information about them.
-      "layers": [ # A layer should appear here if and only if the layer exists for this book.
-        {
-          "volumeAnnotationsVersion": "A String", # The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.
-          "layerId": "A String", # The layer id of this layer (e.g. "geo").
-        },
-      ],
-    },
-    "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
-      "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
-      "rentalPeriod": { # Period during this book is/was a valid rental.
-        "startUtcSec": "A String",
-        "endUtcSec": "A String",
-      },
-      "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
-      "userUploadedVolumeInfo": {
-        "processingState": "A String",
-      },
-      "rentalState": "A String", # Whether this book is an active or an expired rental.
-      "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
-      "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
-        "kind": "books#readingPosition", # Resource type for a reading position.
-        "gbImagePosition": "A String", # Position in a volume for image-based content.
-        "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
-        "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
-        "volumeId": "A String", # Volume id associated with this reading position.
-        "pdfPosition": "A String", # Position in a PDF file.
-        "gbTextPosition": "A String", # Position in a volume for text-based content.
-      },
-      "review": { # This user's review of this volume, if one exists.
-        "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
-        "kind": "books#review", # Resource type for a review.
-        "author": { # Author of this review.
-          "displayName": "A String", # Name of this person.
-        },
-        "title": "A String", # Title for this review.
-        "volumeId": "A String", # Volume that this review is for.
-        "content": "A String", # Review text.
-        "source": { # Information regarding the source of this review, when the review is not from a Google Books user.
-          "extraDescription": "A String", # Extra text about the source of the review.
-          "url": "A String", # URL of the source of the review.
-          "description": "A String", # Name of the source.
-        },
-        "date": "A String", # Date of this review.
-        "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
-        "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
-      },
-      "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
-      "copy": { # Copy/Paste accounting information.
-        "limitType": "A String",
-        "remainingCharacterCount": 42,
-        "updated": "A String",
-        "allowedCharacterCount": 42,
-      },
-      "isUploaded": True or False, # Whether or not this volume was user uploaded.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(q, orderBy=None, projection=None, showPreorders=None, download=None, startIndex=None, partner=None, source=None, maxResults=None, libraryRestrict=None, langRestrict=None, printType=None, filter=None)</code>
-  <pre>Performs a book search.
-
-Args:
-  q: string, Full-text search query string. (required)
-  orderBy: string, Sort search results.
-    Allowed values
-      newest - Most recently published.
-      relevance - Relevance to search terms.
-  projection: string, Restrict information returned to a set of selected fields.
-    Allowed values
-      full - Includes all volume data.
-      lite - Includes a subset of fields in volumeInfo and accessInfo.
-  showPreorders: boolean, Set to true to show books available for preorder. Defaults to false.
-  download: string, Restrict to volumes by download availability.
-    Allowed values
-      epub - All volumes with epub.
-  startIndex: integer, Index of the first result to return (starts at 0)
-  partner: string, Restrict and brand results for partner ID.
-  source: string, String to identify the originator of this request.
-  maxResults: integer, Maximum number of results to return.
-  libraryRestrict: string, Restrict search to this user's library.
-    Allowed values
-      my-library - Restrict to the user's library, any shelf.
-      no-restrict - Do not restrict based on user's library.
-  langRestrict: string, Restrict results to books with this language code.
-  printType: string, Restrict to books or magazines.
-    Allowed values
-      all - All volume content types.
-      books - Just books.
-      magazines - Just magazines.
-  filter: string, Filter search results.
-    Allowed values
-      ebooks - All Google eBooks.
-      free-ebooks - Google eBook with full volume text viewability.
-      full - Public can view entire volume text.
-      paid-ebooks - Google eBook with a price.
-      partial - Public able to see parts of text.
-
-Returns:
-  An object of the form:
-
-    {
-    "totalItems": 42, # Total number of volumes found. This might be greater than the number of volumes returned in this response if results have been paginated.
-    "items": [ # A list of volumes.
-      {
-        "kind": "books#volume", # Resource type for a volume. (In LITE projection.)
-        "accessInfo": { # Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).
-          "webReaderLink": "A String", # URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.
-          "publicDomain": True or False, # Whether or not this book is public domain in the country listed above.
-          "embeddable": True or False, # Whether this volume can be embedded in a viewport using the Embedded Viewer API.
-          "downloadAccess": { # Information about a volume's download license access restrictions.
-            "nonce": "A String", # Client nonce for verification. Download access and client-validation only.
-            "kind": "books#downloadAccessRestriction", # Resource type.
-            "justAcquired": True or False, # If deviceAllowed, whether access was just acquired with this request.
-            "maxDownloadDevices": 42, # If restricted, the maximum number of content download licenses for this volume.
-            "downloadsAcquired": 42, # If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).
-            "signature": "A String", # Response signature.
-            "volumeId": "A String", # Identifies the volume for which this entry applies.
-            "deviceAllowed": True or False, # If restricted, whether access is granted for this (user, device, volume).
-            "source": "A String", # Client app identifier for verification. Download access and client-validation only.
-            "restricted": True or False, # Whether this volume has any download access restrictions.
-            "reasonCode": "A String", # Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
-            "message": "A String", # Error/warning message.
-          },
-          "country": "A String", # The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)
-          "viewOrderUrl": "A String", # For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.
-          "textToSpeechPermission": "A String", # Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.
-          "pdf": { # Information about pdf content. (In LITE projection.)
-            "isAvailable": True or False, # Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)
-            "downloadLink": "A String", # URL to download pdf. (In LITE projection.)
-            "acsTokenLink": "A String", # URL to retrieve ACS token for pdf download. (In LITE projection.)
-          },
-          "viewability": "A String", # The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public domain books will always have a value of ALL_PAGES.
-          "epub": { # Information about epub content. (In LITE projection.)
-            "isAvailable": True or False, # Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)
-            "downloadLink": "A String", # URL to download epub. (In LITE projection.)
-            "acsTokenLink": "A String", # URL to retrieve ACS token for epub download. (In LITE projection.)
-          },
-          "accessViewStatus": "A String", # Combines the access and viewability of this volume into a single status field for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)
-        },
-        "searchInfo": { # Search result information related to this volume.
-          "textSnippet": "A String", # A text snippet containing the search query.
-        },
-        "saleInfo": { # Any information about a volume related to the eBookstore and/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).
-          "country": "A String", # The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)
-          "retailPrice": { # The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)
-            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
-            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
-          },
-          "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
-          "offers": [ # Offers available for this volume (sales and rentals).
-            {
-              "rentalDuration": { # The rental duration (for rental offers only).
-                "count": 3.14,
-                "unit": "A String",
-              },
-              "retailPrice": { # Offer retail (=discounted) price in Micros
-                "currencyCode": "A String",
-                "amountInMicros": 3.14,
-              },
-              "listPrice": { # Offer list (=undiscounted) price in Micros.
-                "currencyCode": "A String",
-                "amountInMicros": 3.14,
-              },
-              "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
-            },
-          ],
-          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
-          "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
-          "onSaleDate": "A String", # The date on which this book is available for sale.
-          "listPrice": { # Suggested retail price. (In LITE projection.)
-            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
-            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
-          },
-        },
-        "etag": "A String", # Opaque identifier for a specific version of a volume resource. (In LITE projection)
-        "selfLink": "A String", # URL to this resource. (In LITE projection.)
-        "volumeInfo": { # General volume information.
-          "publisher": "A String", # Publisher of this volume. (In LITE projection.)
-          "subtitle": "A String", # Volume subtitle. (In LITE projection.)
-          "description": "A String", # A synopsis of the volume. The text of the description is formatted in HTML and includes simple formatting elements, such as b, i, and br tags. (In LITE projection.)
-          "language": "A String", # Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as 'fr', 'en', etc.
-          "pageCount": 42, # Total number of pages.
-          "imageLinks": { # A list of image links for all the sizes that are available. (In LITE projection.)
-            "medium": "A String", # Image link for medium size (width of ~575 pixels). (In LITE projection)
-            "smallThumbnail": "A String", # Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
-            "large": "A String", # Image link for large size (width of ~800 pixels). (In LITE projection)
-            "extraLarge": "A String", # Image link for extra large size (width of ~1280 pixels). (In LITE projection)
-            "small": "A String", # Image link for small size (width of ~300 pixels). (In LITE projection)
-            "thumbnail": "A String", # Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
-          },
-          "publishedDate": "A String", # Date of publication. (In LITE projection.)
-          "previewLink": "A String", # URL to preview this volume on the Google Books site.
-          "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
-          "ratingsCount": 42, # The number of review ratings for this volume.
-          "mainCategory": "A String", # The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.
-          "dimensions": { # Physical dimensions of this volume.
-            "width": "A String", # Width of this volume (in cm).
-            "thickness": "A String", # Thickness of this volume (in cm).
-            "height": "A String", # Height or length of this volume (in cm).
-          },
-          "contentVersion": "A String", # An identifier for the version of the volume content (text & images). (In LITE projection)
-          "industryIdentifiers": [ # Industry standard identifiers for this volume.
-            {
-              "identifier": "A String", # Industry specific volume identifier.
-              "type": "A String", # Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.
-            },
-          ],
-          "authors": [ # The names of the authors and/or editors for this volume. (In LITE projection)
-            "A String",
-          ],
-          "title": "A String", # Volume title. (In LITE projection.)
-          "canonicalVolumeLink": "A String", # Canonical URL for a volume. (In LITE projection.)
-          "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
-          "categories": [ # A list of subject categories, such as "Fiction", "Suspense", etc.
-            "A String",
-          ],
-          "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
-        },
-        "recommendedInfo": { # Recommendation related information for this volume.
-          "explanation": "A String", # A text explaining why this volume is recommended.
-        },
-        "id": "A String", # Unique identifier for a volume. (In LITE projection.)
-        "layerInfo": { # What layers exist in this volume and high level information about them.
-          "layers": [ # A layer should appear here if and only if the layer exists for this book.
-            {
-              "volumeAnnotationsVersion": "A String", # The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.
-              "layerId": "A String", # The layer id of this layer (e.g. "geo").
-            },
-          ],
-        },
-        "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
-          "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
-          "rentalPeriod": { # Period during this book is/was a valid rental.
-            "startUtcSec": "A String",
-            "endUtcSec": "A String",
-          },
-          "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
-          "userUploadedVolumeInfo": {
-            "processingState": "A String",
-          },
-          "rentalState": "A String", # Whether this book is an active or an expired rental.
-          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
-          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
-            "kind": "books#readingPosition", # Resource type for a reading position.
-            "gbImagePosition": "A String", # Position in a volume for image-based content.
-            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
-            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
-            "volumeId": "A String", # Volume id associated with this reading position.
-            "pdfPosition": "A String", # Position in a PDF file.
-            "gbTextPosition": "A String", # Position in a volume for text-based content.
-          },
-          "review": { # This user's review of this volume, if one exists.
-            "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
-            "kind": "books#review", # Resource type for a review.
-            "author": { # Author of this review.
-              "displayName": "A String", # Name of this person.
-            },
-            "title": "A String", # Title for this review.
-            "volumeId": "A String", # Volume that this review is for.
-            "content": "A String", # Review text.
-            "source": { # Information regarding the source of this review, when the review is not from a Google Books user.
-              "extraDescription": "A String", # Extra text about the source of the review.
-              "url": "A String", # URL of the source of the review.
-              "description": "A String", # Name of the source.
-            },
-            "date": "A String", # Date of this review.
-            "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
-            "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
-          },
-          "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
-          "copy": { # Copy/Paste accounting information.
-            "limitType": "A String",
-            "remainingCharacterCount": 42,
-            "updated": "A String",
-            "allowedCharacterCount": 42,
-          },
-          "isUploaded": True or False, # Whether or not this volume was user uploaded.
-        },
-      },
-    ],
-    "kind": "books#volumes", # Resource type.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.volumes.mybooks.html b/docs/dyn/books_v1.volumes.mybooks.html
deleted file mode 100644
index d579ef8..0000000
--- a/docs/dyn/books_v1.volumes.mybooks.html
+++ /dev/null
@@ -1,292 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.volumes.html">volumes</a> . <a href="books_v1.volumes.mybooks.html">mybooks</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(source=None, locale=None, acquireMethod=None, maxResults=None, startIndex=None, processingState=None)</a></code></p>
-<p class="firstline">Return a list of books in My Library.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(source=None, locale=None, acquireMethod=None, maxResults=None, startIndex=None, processingState=None)</code>
-  <pre>Return a list of books in My Library.
-
-Args:
-  source: string, String to identify the originator of this request.
-  locale: string, ISO-639-1 language and ISO-3166-1 country code. Ex:'en_US'. Used for generating recommendations.
-  acquireMethod: string, How the book was aquired (repeated)
-    Allowed values
-      PREORDERED - Preordered books (not yet available)
-      PREVIOUSLY_RENTED - User-rented books past their expiration time
-      PUBLIC_DOMAIN - Public domain books
-      PURCHASED - Purchased books
-      RENTED - User-rented books
-      SAMPLE - Sample books
-      UPLOADED - User uploaded books
-  maxResults: integer, Maximum number of results to return.
-  startIndex: integer, Index of the first result to return (starts at 0)
-  processingState: string, The processing state of the user uploaded volumes to be returned. Applicable only if the UPLOADED is specified in the acquireMethod. (repeated)
-    Allowed values
-      COMPLETED_FAILED - The volume processing hase failed.
-      COMPLETED_SUCCESS - The volume processing was completed.
-      RUNNING - The volume processing is not completed.
-
-Returns:
-  An object of the form:
-
-    {
-    "totalItems": 42, # Total number of volumes found. This might be greater than the number of volumes returned in this response if results have been paginated.
-    "items": [ # A list of volumes.
-      {
-        "kind": "books#volume", # Resource type for a volume. (In LITE projection.)
-        "accessInfo": { # Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).
-          "webReaderLink": "A String", # URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.
-          "publicDomain": True or False, # Whether or not this book is public domain in the country listed above.
-          "embeddable": True or False, # Whether this volume can be embedded in a viewport using the Embedded Viewer API.
-          "downloadAccess": { # Information about a volume's download license access restrictions.
-            "nonce": "A String", # Client nonce for verification. Download access and client-validation only.
-            "kind": "books#downloadAccessRestriction", # Resource type.
-            "justAcquired": True or False, # If deviceAllowed, whether access was just acquired with this request.
-            "maxDownloadDevices": 42, # If restricted, the maximum number of content download licenses for this volume.
-            "downloadsAcquired": 42, # If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).
-            "signature": "A String", # Response signature.
-            "volumeId": "A String", # Identifies the volume for which this entry applies.
-            "deviceAllowed": True or False, # If restricted, whether access is granted for this (user, device, volume).
-            "source": "A String", # Client app identifier for verification. Download access and client-validation only.
-            "restricted": True or False, # Whether this volume has any download access restrictions.
-            "reasonCode": "A String", # Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
-            "message": "A String", # Error/warning message.
-          },
-          "country": "A String", # The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)
-          "viewOrderUrl": "A String", # For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.
-          "textToSpeechPermission": "A String", # Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.
-          "pdf": { # Information about pdf content. (In LITE projection.)
-            "isAvailable": True or False, # Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)
-            "downloadLink": "A String", # URL to download pdf. (In LITE projection.)
-            "acsTokenLink": "A String", # URL to retrieve ACS token for pdf download. (In LITE projection.)
-          },
-          "viewability": "A String", # The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public domain books will always have a value of ALL_PAGES.
-          "epub": { # Information about epub content. (In LITE projection.)
-            "isAvailable": True or False, # Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)
-            "downloadLink": "A String", # URL to download epub. (In LITE projection.)
-            "acsTokenLink": "A String", # URL to retrieve ACS token for epub download. (In LITE projection.)
-          },
-          "accessViewStatus": "A String", # Combines the access and viewability of this volume into a single status field for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)
-        },
-        "searchInfo": { # Search result information related to this volume.
-          "textSnippet": "A String", # A text snippet containing the search query.
-        },
-        "saleInfo": { # Any information about a volume related to the eBookstore and/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).
-          "country": "A String", # The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)
-          "retailPrice": { # The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)
-            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
-            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
-          },
-          "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
-          "offers": [ # Offers available for this volume (sales and rentals).
-            {
-              "rentalDuration": { # The rental duration (for rental offers only).
-                "count": 3.14,
-                "unit": "A String",
-              },
-              "retailPrice": { # Offer retail (=discounted) price in Micros
-                "currencyCode": "A String",
-                "amountInMicros": 3.14,
-              },
-              "listPrice": { # Offer list (=undiscounted) price in Micros.
-                "currencyCode": "A String",
-                "amountInMicros": 3.14,
-              },
-              "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
-            },
-          ],
-          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
-          "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
-          "onSaleDate": "A String", # The date on which this book is available for sale.
-          "listPrice": { # Suggested retail price. (In LITE projection.)
-            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
-            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
-          },
-        },
-        "etag": "A String", # Opaque identifier for a specific version of a volume resource. (In LITE projection)
-        "selfLink": "A String", # URL to this resource. (In LITE projection.)
-        "volumeInfo": { # General volume information.
-          "publisher": "A String", # Publisher of this volume. (In LITE projection.)
-          "subtitle": "A String", # Volume subtitle. (In LITE projection.)
-          "description": "A String", # A synopsis of the volume. The text of the description is formatted in HTML and includes simple formatting elements, such as b, i, and br tags. (In LITE projection.)
-          "language": "A String", # Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as 'fr', 'en', etc.
-          "pageCount": 42, # Total number of pages.
-          "imageLinks": { # A list of image links for all the sizes that are available. (In LITE projection.)
-            "medium": "A String", # Image link for medium size (width of ~575 pixels). (In LITE projection)
-            "smallThumbnail": "A String", # Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
-            "large": "A String", # Image link for large size (width of ~800 pixels). (In LITE projection)
-            "extraLarge": "A String", # Image link for extra large size (width of ~1280 pixels). (In LITE projection)
-            "small": "A String", # Image link for small size (width of ~300 pixels). (In LITE projection)
-            "thumbnail": "A String", # Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
-          },
-          "publishedDate": "A String", # Date of publication. (In LITE projection.)
-          "previewLink": "A String", # URL to preview this volume on the Google Books site.
-          "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
-          "ratingsCount": 42, # The number of review ratings for this volume.
-          "mainCategory": "A String", # The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.
-          "dimensions": { # Physical dimensions of this volume.
-            "width": "A String", # Width of this volume (in cm).
-            "thickness": "A String", # Thickness of this volume (in cm).
-            "height": "A String", # Height or length of this volume (in cm).
-          },
-          "contentVersion": "A String", # An identifier for the version of the volume content (text & images). (In LITE projection)
-          "industryIdentifiers": [ # Industry standard identifiers for this volume.
-            {
-              "identifier": "A String", # Industry specific volume identifier.
-              "type": "A String", # Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.
-            },
-          ],
-          "authors": [ # The names of the authors and/or editors for this volume. (In LITE projection)
-            "A String",
-          ],
-          "title": "A String", # Volume title. (In LITE projection.)
-          "canonicalVolumeLink": "A String", # Canonical URL for a volume. (In LITE projection.)
-          "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
-          "categories": [ # A list of subject categories, such as "Fiction", "Suspense", etc.
-            "A String",
-          ],
-          "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
-        },
-        "recommendedInfo": { # Recommendation related information for this volume.
-          "explanation": "A String", # A text explaining why this volume is recommended.
-        },
-        "id": "A String", # Unique identifier for a volume. (In LITE projection.)
-        "layerInfo": { # What layers exist in this volume and high level information about them.
-          "layers": [ # A layer should appear here if and only if the layer exists for this book.
-            {
-              "volumeAnnotationsVersion": "A String", # The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.
-              "layerId": "A String", # The layer id of this layer (e.g. "geo").
-            },
-          ],
-        },
-        "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
-          "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
-          "rentalPeriod": { # Period during this book is/was a valid rental.
-            "startUtcSec": "A String",
-            "endUtcSec": "A String",
-          },
-          "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
-          "userUploadedVolumeInfo": {
-            "processingState": "A String",
-          },
-          "rentalState": "A String", # Whether this book is an active or an expired rental.
-          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
-          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
-            "kind": "books#readingPosition", # Resource type for a reading position.
-            "gbImagePosition": "A String", # Position in a volume for image-based content.
-            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
-            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
-            "volumeId": "A String", # Volume id associated with this reading position.
-            "pdfPosition": "A String", # Position in a PDF file.
-            "gbTextPosition": "A String", # Position in a volume for text-based content.
-          },
-          "review": { # This user's review of this volume, if one exists.
-            "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
-            "kind": "books#review", # Resource type for a review.
-            "author": { # Author of this review.
-              "displayName": "A String", # Name of this person.
-            },
-            "title": "A String", # Title for this review.
-            "volumeId": "A String", # Volume that this review is for.
-            "content": "A String", # Review text.
-            "source": { # Information regarding the source of this review, when the review is not from a Google Books user.
-              "extraDescription": "A String", # Extra text about the source of the review.
-              "url": "A String", # URL of the source of the review.
-              "description": "A String", # Name of the source.
-            },
-            "date": "A String", # Date of this review.
-            "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
-            "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
-          },
-          "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
-          "copy": { # Copy/Paste accounting information.
-            "limitType": "A String",
-            "remainingCharacterCount": 42,
-            "updated": "A String",
-            "allowedCharacterCount": 42,
-          },
-          "isUploaded": True or False, # Whether or not this volume was user uploaded.
-        },
-      },
-    ],
-    "kind": "books#volumes", # Resource type.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.volumes.recommended.html b/docs/dyn/books_v1.volumes.recommended.html
deleted file mode 100644
index a5fc294..0000000
--- a/docs/dyn/books_v1.volumes.recommended.html
+++ /dev/null
@@ -1,276 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.volumes.html">volumes</a> . <a href="books_v1.volumes.recommended.html">recommended</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(source=None, locale=None)</a></code></p>
-<p class="firstline">Return a list of recommended books for the current user.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(source=None, locale=None)</code>
-  <pre>Return a list of recommended books for the current user.
-
-Args:
-  source: string, String to identify the originator of this request.
-  locale: string, ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.
-
-Returns:
-  An object of the form:
-
-    {
-    "totalItems": 42, # Total number of volumes found. This might be greater than the number of volumes returned in this response if results have been paginated.
-    "items": [ # A list of volumes.
-      {
-        "kind": "books#volume", # Resource type for a volume. (In LITE projection.)
-        "accessInfo": { # Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).
-          "webReaderLink": "A String", # URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.
-          "publicDomain": True or False, # Whether or not this book is public domain in the country listed above.
-          "embeddable": True or False, # Whether this volume can be embedded in a viewport using the Embedded Viewer API.
-          "downloadAccess": { # Information about a volume's download license access restrictions.
-            "nonce": "A String", # Client nonce for verification. Download access and client-validation only.
-            "kind": "books#downloadAccessRestriction", # Resource type.
-            "justAcquired": True or False, # If deviceAllowed, whether access was just acquired with this request.
-            "maxDownloadDevices": 42, # If restricted, the maximum number of content download licenses for this volume.
-            "downloadsAcquired": 42, # If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).
-            "signature": "A String", # Response signature.
-            "volumeId": "A String", # Identifies the volume for which this entry applies.
-            "deviceAllowed": True or False, # If restricted, whether access is granted for this (user, device, volume).
-            "source": "A String", # Client app identifier for verification. Download access and client-validation only.
-            "restricted": True or False, # Whether this volume has any download access restrictions.
-            "reasonCode": "A String", # Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
-            "message": "A String", # Error/warning message.
-          },
-          "country": "A String", # The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)
-          "viewOrderUrl": "A String", # For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.
-          "textToSpeechPermission": "A String", # Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.
-          "pdf": { # Information about pdf content. (In LITE projection.)
-            "isAvailable": True or False, # Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)
-            "downloadLink": "A String", # URL to download pdf. (In LITE projection.)
-            "acsTokenLink": "A String", # URL to retrieve ACS token for pdf download. (In LITE projection.)
-          },
-          "viewability": "A String", # The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public domain books will always have a value of ALL_PAGES.
-          "epub": { # Information about epub content. (In LITE projection.)
-            "isAvailable": True or False, # Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)
-            "downloadLink": "A String", # URL to download epub. (In LITE projection.)
-            "acsTokenLink": "A String", # URL to retrieve ACS token for epub download. (In LITE projection.)
-          },
-          "accessViewStatus": "A String", # Combines the access and viewability of this volume into a single status field for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)
-        },
-        "searchInfo": { # Search result information related to this volume.
-          "textSnippet": "A String", # A text snippet containing the search query.
-        },
-        "saleInfo": { # Any information about a volume related to the eBookstore and/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).
-          "country": "A String", # The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)
-          "retailPrice": { # The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)
-            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
-            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
-          },
-          "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
-          "offers": [ # Offers available for this volume (sales and rentals).
-            {
-              "rentalDuration": { # The rental duration (for rental offers only).
-                "count": 3.14,
-                "unit": "A String",
-              },
-              "retailPrice": { # Offer retail (=discounted) price in Micros
-                "currencyCode": "A String",
-                "amountInMicros": 3.14,
-              },
-              "listPrice": { # Offer list (=undiscounted) price in Micros.
-                "currencyCode": "A String",
-                "amountInMicros": 3.14,
-              },
-              "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
-            },
-          ],
-          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
-          "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
-          "onSaleDate": "A String", # The date on which this book is available for sale.
-          "listPrice": { # Suggested retail price. (In LITE projection.)
-            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
-            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
-          },
-        },
-        "etag": "A String", # Opaque identifier for a specific version of a volume resource. (In LITE projection)
-        "selfLink": "A String", # URL to this resource. (In LITE projection.)
-        "volumeInfo": { # General volume information.
-          "publisher": "A String", # Publisher of this volume. (In LITE projection.)
-          "subtitle": "A String", # Volume subtitle. (In LITE projection.)
-          "description": "A String", # A synopsis of the volume. The text of the description is formatted in HTML and includes simple formatting elements, such as b, i, and br tags. (In LITE projection.)
-          "language": "A String", # Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as 'fr', 'en', etc.
-          "pageCount": 42, # Total number of pages.
-          "imageLinks": { # A list of image links for all the sizes that are available. (In LITE projection.)
-            "medium": "A String", # Image link for medium size (width of ~575 pixels). (In LITE projection)
-            "smallThumbnail": "A String", # Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
-            "large": "A String", # Image link for large size (width of ~800 pixels). (In LITE projection)
-            "extraLarge": "A String", # Image link for extra large size (width of ~1280 pixels). (In LITE projection)
-            "small": "A String", # Image link for small size (width of ~300 pixels). (In LITE projection)
-            "thumbnail": "A String", # Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
-          },
-          "publishedDate": "A String", # Date of publication. (In LITE projection.)
-          "previewLink": "A String", # URL to preview this volume on the Google Books site.
-          "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
-          "ratingsCount": 42, # The number of review ratings for this volume.
-          "mainCategory": "A String", # The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.
-          "dimensions": { # Physical dimensions of this volume.
-            "width": "A String", # Width of this volume (in cm).
-            "thickness": "A String", # Thickness of this volume (in cm).
-            "height": "A String", # Height or length of this volume (in cm).
-          },
-          "contentVersion": "A String", # An identifier for the version of the volume content (text & images). (In LITE projection)
-          "industryIdentifiers": [ # Industry standard identifiers for this volume.
-            {
-              "identifier": "A String", # Industry specific volume identifier.
-              "type": "A String", # Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.
-            },
-          ],
-          "authors": [ # The names of the authors and/or editors for this volume. (In LITE projection)
-            "A String",
-          ],
-          "title": "A String", # Volume title. (In LITE projection.)
-          "canonicalVolumeLink": "A String", # Canonical URL for a volume. (In LITE projection.)
-          "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
-          "categories": [ # A list of subject categories, such as "Fiction", "Suspense", etc.
-            "A String",
-          ],
-          "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
-        },
-        "recommendedInfo": { # Recommendation related information for this volume.
-          "explanation": "A String", # A text explaining why this volume is recommended.
-        },
-        "id": "A String", # Unique identifier for a volume. (In LITE projection.)
-        "layerInfo": { # What layers exist in this volume and high level information about them.
-          "layers": [ # A layer should appear here if and only if the layer exists for this book.
-            {
-              "volumeAnnotationsVersion": "A String", # The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.
-              "layerId": "A String", # The layer id of this layer (e.g. "geo").
-            },
-          ],
-        },
-        "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
-          "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
-          "rentalPeriod": { # Period during this book is/was a valid rental.
-            "startUtcSec": "A String",
-            "endUtcSec": "A String",
-          },
-          "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
-          "userUploadedVolumeInfo": {
-            "processingState": "A String",
-          },
-          "rentalState": "A String", # Whether this book is an active or an expired rental.
-          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
-          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
-            "kind": "books#readingPosition", # Resource type for a reading position.
-            "gbImagePosition": "A String", # Position in a volume for image-based content.
-            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
-            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
-            "volumeId": "A String", # Volume id associated with this reading position.
-            "pdfPosition": "A String", # Position in a PDF file.
-            "gbTextPosition": "A String", # Position in a volume for text-based content.
-          },
-          "review": { # This user's review of this volume, if one exists.
-            "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
-            "kind": "books#review", # Resource type for a review.
-            "author": { # Author of this review.
-              "displayName": "A String", # Name of this person.
-            },
-            "title": "A String", # Title for this review.
-            "volumeId": "A String", # Volume that this review is for.
-            "content": "A String", # Review text.
-            "source": { # Information regarding the source of this review, when the review is not from a Google Books user.
-              "extraDescription": "A String", # Extra text about the source of the review.
-              "url": "A String", # URL of the source of the review.
-              "description": "A String", # Name of the source.
-            },
-            "date": "A String", # Date of this review.
-            "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
-            "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
-          },
-          "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
-          "copy": { # Copy/Paste accounting information.
-            "limitType": "A String",
-            "remainingCharacterCount": 42,
-            "updated": "A String",
-            "allowedCharacterCount": 42,
-          },
-          "isUploaded": True or False, # Whether or not this volume was user uploaded.
-        },
-      },
-    ],
-    "kind": "books#volumes", # Resource type.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.volumes.useruploaded.html b/docs/dyn/books_v1.volumes.useruploaded.html
deleted file mode 100644
index cf727d4..0000000
--- a/docs/dyn/books_v1.volumes.useruploaded.html
+++ /dev/null
@@ -1,284 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.volumes.html">volumes</a> . <a href="books_v1.volumes.useruploaded.html">useruploaded</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(source=None, locale=None, volumeId=None, maxResults=None, startIndex=None, processingState=None)</a></code></p>
-<p class="firstline">Return a list of books uploaded by the current user.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(source=None, locale=None, volumeId=None, maxResults=None, startIndex=None, processingState=None)</code>
-  <pre>Return a list of books uploaded by the current user.
-
-Args:
-  source: string, String to identify the originator of this request.
-  locale: string, ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.
-  volumeId: string, The ids of the volumes to be returned. If not specified all that match the processingState are returned. (repeated)
-  maxResults: integer, Maximum number of results to return.
-  startIndex: integer, Index of the first result to return (starts at 0)
-  processingState: string, The processing state of the user uploaded volumes to be returned. (repeated)
-    Allowed values
-      COMPLETED_FAILED - The volume processing hase failed.
-      COMPLETED_SUCCESS - The volume processing was completed.
-      RUNNING - The volume processing is not completed.
-
-Returns:
-  An object of the form:
-
-    {
-    "totalItems": 42, # Total number of volumes found. This might be greater than the number of volumes returned in this response if results have been paginated.
-    "items": [ # A list of volumes.
-      {
-        "kind": "books#volume", # Resource type for a volume. (In LITE projection.)
-        "accessInfo": { # Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).
-          "webReaderLink": "A String", # URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.
-          "publicDomain": True or False, # Whether or not this book is public domain in the country listed above.
-          "embeddable": True or False, # Whether this volume can be embedded in a viewport using the Embedded Viewer API.
-          "downloadAccess": { # Information about a volume's download license access restrictions.
-            "nonce": "A String", # Client nonce for verification. Download access and client-validation only.
-            "kind": "books#downloadAccessRestriction", # Resource type.
-            "justAcquired": True or False, # If deviceAllowed, whether access was just acquired with this request.
-            "maxDownloadDevices": 42, # If restricted, the maximum number of content download licenses for this volume.
-            "downloadsAcquired": 42, # If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).
-            "signature": "A String", # Response signature.
-            "volumeId": "A String", # Identifies the volume for which this entry applies.
-            "deviceAllowed": True or False, # If restricted, whether access is granted for this (user, device, volume).
-            "source": "A String", # Client app identifier for verification. Download access and client-validation only.
-            "restricted": True or False, # Whether this volume has any download access restrictions.
-            "reasonCode": "A String", # Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
-            "message": "A String", # Error/warning message.
-          },
-          "country": "A String", # The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)
-          "viewOrderUrl": "A String", # For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.
-          "textToSpeechPermission": "A String", # Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.
-          "pdf": { # Information about pdf content. (In LITE projection.)
-            "isAvailable": True or False, # Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)
-            "downloadLink": "A String", # URL to download pdf. (In LITE projection.)
-            "acsTokenLink": "A String", # URL to retrieve ACS token for pdf download. (In LITE projection.)
-          },
-          "viewability": "A String", # The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public domain books will always have a value of ALL_PAGES.
-          "epub": { # Information about epub content. (In LITE projection.)
-            "isAvailable": True or False, # Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)
-            "downloadLink": "A String", # URL to download epub. (In LITE projection.)
-            "acsTokenLink": "A String", # URL to retrieve ACS token for epub download. (In LITE projection.)
-          },
-          "accessViewStatus": "A String", # Combines the access and viewability of this volume into a single status field for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)
-        },
-        "searchInfo": { # Search result information related to this volume.
-          "textSnippet": "A String", # A text snippet containing the search query.
-        },
-        "saleInfo": { # Any information about a volume related to the eBookstore and/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).
-          "country": "A String", # The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)
-          "retailPrice": { # The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)
-            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
-            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
-          },
-          "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
-          "offers": [ # Offers available for this volume (sales and rentals).
-            {
-              "rentalDuration": { # The rental duration (for rental offers only).
-                "count": 3.14,
-                "unit": "A String",
-              },
-              "retailPrice": { # Offer retail (=discounted) price in Micros
-                "currencyCode": "A String",
-                "amountInMicros": 3.14,
-              },
-              "listPrice": { # Offer list (=undiscounted) price in Micros.
-                "currencyCode": "A String",
-                "amountInMicros": 3.14,
-              },
-              "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
-            },
-          ],
-          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
-          "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
-          "onSaleDate": "A String", # The date on which this book is available for sale.
-          "listPrice": { # Suggested retail price. (In LITE projection.)
-            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
-            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
-          },
-        },
-        "etag": "A String", # Opaque identifier for a specific version of a volume resource. (In LITE projection)
-        "selfLink": "A String", # URL to this resource. (In LITE projection.)
-        "volumeInfo": { # General volume information.
-          "publisher": "A String", # Publisher of this volume. (In LITE projection.)
-          "subtitle": "A String", # Volume subtitle. (In LITE projection.)
-          "description": "A String", # A synopsis of the volume. The text of the description is formatted in HTML and includes simple formatting elements, such as b, i, and br tags. (In LITE projection.)
-          "language": "A String", # Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as 'fr', 'en', etc.
-          "pageCount": 42, # Total number of pages.
-          "imageLinks": { # A list of image links for all the sizes that are available. (In LITE projection.)
-            "medium": "A String", # Image link for medium size (width of ~575 pixels). (In LITE projection)
-            "smallThumbnail": "A String", # Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
-            "large": "A String", # Image link for large size (width of ~800 pixels). (In LITE projection)
-            "extraLarge": "A String", # Image link for extra large size (width of ~1280 pixels). (In LITE projection)
-            "small": "A String", # Image link for small size (width of ~300 pixels). (In LITE projection)
-            "thumbnail": "A String", # Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
-          },
-          "publishedDate": "A String", # Date of publication. (In LITE projection.)
-          "previewLink": "A String", # URL to preview this volume on the Google Books site.
-          "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
-          "ratingsCount": 42, # The number of review ratings for this volume.
-          "mainCategory": "A String", # The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.
-          "dimensions": { # Physical dimensions of this volume.
-            "width": "A String", # Width of this volume (in cm).
-            "thickness": "A String", # Thickness of this volume (in cm).
-            "height": "A String", # Height or length of this volume (in cm).
-          },
-          "contentVersion": "A String", # An identifier for the version of the volume content (text & images). (In LITE projection)
-          "industryIdentifiers": [ # Industry standard identifiers for this volume.
-            {
-              "identifier": "A String", # Industry specific volume identifier.
-              "type": "A String", # Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.
-            },
-          ],
-          "authors": [ # The names of the authors and/or editors for this volume. (In LITE projection)
-            "A String",
-          ],
-          "title": "A String", # Volume title. (In LITE projection.)
-          "canonicalVolumeLink": "A String", # Canonical URL for a volume. (In LITE projection.)
-          "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
-          "categories": [ # A list of subject categories, such as "Fiction", "Suspense", etc.
-            "A String",
-          ],
-          "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
-        },
-        "recommendedInfo": { # Recommendation related information for this volume.
-          "explanation": "A String", # A text explaining why this volume is recommended.
-        },
-        "id": "A String", # Unique identifier for a volume. (In LITE projection.)
-        "layerInfo": { # What layers exist in this volume and high level information about them.
-          "layers": [ # A layer should appear here if and only if the layer exists for this book.
-            {
-              "volumeAnnotationsVersion": "A String", # The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.
-              "layerId": "A String", # The layer id of this layer (e.g. "geo").
-            },
-          ],
-        },
-        "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
-          "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
-          "rentalPeriod": { # Period during this book is/was a valid rental.
-            "startUtcSec": "A String",
-            "endUtcSec": "A String",
-          },
-          "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
-          "userUploadedVolumeInfo": {
-            "processingState": "A String",
-          },
-          "rentalState": "A String", # Whether this book is an active or an expired rental.
-          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
-          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
-            "kind": "books#readingPosition", # Resource type for a reading position.
-            "gbImagePosition": "A String", # Position in a volume for image-based content.
-            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
-            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
-            "volumeId": "A String", # Volume id associated with this reading position.
-            "pdfPosition": "A String", # Position in a PDF file.
-            "gbTextPosition": "A String", # Position in a volume for text-based content.
-          },
-          "review": { # This user's review of this volume, if one exists.
-            "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
-            "kind": "books#review", # Resource type for a review.
-            "author": { # Author of this review.
-              "displayName": "A String", # Name of this person.
-            },
-            "title": "A String", # Title for this review.
-            "volumeId": "A String", # Volume that this review is for.
-            "content": "A String", # Review text.
-            "source": { # Information regarding the source of this review, when the review is not from a Google Books user.
-              "extraDescription": "A String", # Extra text about the source of the review.
-              "url": "A String", # URL of the source of the review.
-              "description": "A String", # Name of the source.
-            },
-            "date": "A String", # Date of this review.
-            "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
-            "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
-          },
-          "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
-          "copy": { # Copy/Paste accounting information.
-            "limitType": "A String",
-            "remainingCharacterCount": 42,
-            "updated": "A String",
-            "allowedCharacterCount": 42,
-          },
-          "isUploaded": True or False, # Whether or not this volume was user uploaded.
-        },
-      },
-    ],
-    "kind": "books#volumes", # Resource type.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/calendar_v3.acl.html b/docs/dyn/calendar_v3.acl.html
deleted file mode 100644
index 836a699..0000000
--- a/docs/dyn/calendar_v3.acl.html
+++ /dev/null
@@ -1,340 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="calendar_v3.html">Calendar API</a> . <a href="calendar_v3.acl.html">acl</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(calendarId, ruleId)</a></code></p>
-<p class="firstline">Deletes an access control rule.</p>
-<p class="toc_element">
-  <code><a href="#get">get(calendarId, ruleId)</a></code></p>
-<p class="firstline">Returns an access control rule.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(calendarId, body)</a></code></p>
-<p class="firstline">Creates an access control rule.</p>
-<p class="toc_element">
-  <code><a href="#list">list(calendarId)</a></code></p>
-<p class="firstline">Returns the rules in the access control list for the calendar.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(calendarId, ruleId, body)</a></code></p>
-<p class="firstline">Updates an access control rule. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(calendarId, ruleId, body)</a></code></p>
-<p class="firstline">Updates an access control rule.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(calendarId, ruleId)</code>
-  <pre>Deletes an access control rule.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  ruleId: string, ACL rule identifier. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(calendarId, ruleId)</code>
-  <pre>Returns an access control rule.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  ruleId: string, ACL rule identifier. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "scope": { # The scope of the rule.
-        "type": "A String", # The type of the scope. Possible values are:
-            # - "default" - The public scope. This is the default value.
-            # - "user" - Limits the scope to a single user.
-            # - "group" - Limits the scope to a group.
-            # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
-        "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
-      },
-      "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
-      "etag": "A String", # ETag of the resource.
-      "role": "A String", # The role assigned to the scope. Possible values are:
-          # - "none" - Provides no access.
-          # - "freeBusyReader" - Provides read access to free/busy information.
-          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
-          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
-          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
-      "id": "A String", # Identifier of the ACL rule.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(calendarId, body)</code>
-  <pre>Creates an access control rule.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "scope": { # The scope of the rule.
-      "type": "A String", # The type of the scope. Possible values are:
-          # - "default" - The public scope. This is the default value.
-          # - "user" - Limits the scope to a single user.
-          # - "group" - Limits the scope to a group.
-          # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
-      "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
-    },
-    "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
-    "etag": "A String", # ETag of the resource.
-    "role": "A String", # The role assigned to the scope. Possible values are:
-        # - "none" - Provides no access.
-        # - "freeBusyReader" - Provides read access to free/busy information.
-        # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
-        # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
-        # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
-    "id": "A String", # Identifier of the ACL rule.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "scope": { # The scope of the rule.
-        "type": "A String", # The type of the scope. Possible values are:
-            # - "default" - The public scope. This is the default value.
-            # - "user" - Limits the scope to a single user.
-            # - "group" - Limits the scope to a group.
-            # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
-        "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
-      },
-      "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
-      "etag": "A String", # ETag of the resource.
-      "role": "A String", # The role assigned to the scope. Possible values are:
-          # - "none" - Provides no access.
-          # - "freeBusyReader" - Provides read access to free/busy information.
-          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
-          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
-          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
-      "id": "A String", # Identifier of the ACL rule.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(calendarId)</code>
-  <pre>Returns the rules in the access control list for the calendar.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Token used to access the next page of this result. Omitted if no further results are available.
-    "items": [ # List of rules on the access control list.
-      {
-          "scope": { # The scope of the rule.
-            "type": "A String", # The type of the scope. Possible values are:
-                # - "default" - The public scope. This is the default value.
-                # - "user" - Limits the scope to a single user.
-                # - "group" - Limits the scope to a group.
-                # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
-            "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
-          },
-          "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
-          "etag": "A String", # ETag of the resource.
-          "role": "A String", # The role assigned to the scope. Possible values are:
-              # - "none" - Provides no access.
-              # - "freeBusyReader" - Provides read access to free/busy information.
-              # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
-              # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
-              # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
-          "id": "A String", # Identifier of the ACL rule.
-        },
-    ],
-    "kind": "calendar#acl", # Type of the collection ("calendar#acl").
-    "etag": "A String", # ETag of the collection.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(calendarId, ruleId, body)</code>
-  <pre>Updates an access control rule. This method supports patch semantics.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  ruleId: string, ACL rule identifier. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "scope": { # The scope of the rule.
-      "type": "A String", # The type of the scope. Possible values are:
-          # - "default" - The public scope. This is the default value.
-          # - "user" - Limits the scope to a single user.
-          # - "group" - Limits the scope to a group.
-          # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
-      "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
-    },
-    "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
-    "etag": "A String", # ETag of the resource.
-    "role": "A String", # The role assigned to the scope. Possible values are:
-        # - "none" - Provides no access.
-        # - "freeBusyReader" - Provides read access to free/busy information.
-        # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
-        # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
-        # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
-    "id": "A String", # Identifier of the ACL rule.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "scope": { # The scope of the rule.
-        "type": "A String", # The type of the scope. Possible values are:
-            # - "default" - The public scope. This is the default value.
-            # - "user" - Limits the scope to a single user.
-            # - "group" - Limits the scope to a group.
-            # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
-        "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
-      },
-      "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
-      "etag": "A String", # ETag of the resource.
-      "role": "A String", # The role assigned to the scope. Possible values are:
-          # - "none" - Provides no access.
-          # - "freeBusyReader" - Provides read access to free/busy information.
-          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
-          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
-          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
-      "id": "A String", # Identifier of the ACL rule.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(calendarId, ruleId, body)</code>
-  <pre>Updates an access control rule.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  ruleId: string, ACL rule identifier. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "scope": { # The scope of the rule.
-      "type": "A String", # The type of the scope. Possible values are:
-          # - "default" - The public scope. This is the default value.
-          # - "user" - Limits the scope to a single user.
-          # - "group" - Limits the scope to a group.
-          # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
-      "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
-    },
-    "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
-    "etag": "A String", # ETag of the resource.
-    "role": "A String", # The role assigned to the scope. Possible values are:
-        # - "none" - Provides no access.
-        # - "freeBusyReader" - Provides read access to free/busy information.
-        # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
-        # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
-        # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
-    "id": "A String", # Identifier of the ACL rule.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "scope": { # The scope of the rule.
-        "type": "A String", # The type of the scope. Possible values are:
-            # - "default" - The public scope. This is the default value.
-            # - "user" - Limits the scope to a single user.
-            # - "group" - Limits the scope to a group.
-            # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
-        "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
-      },
-      "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
-      "etag": "A String", # ETag of the resource.
-      "role": "A String", # The role assigned to the scope. Possible values are:
-          # - "none" - Provides no access.
-          # - "freeBusyReader" - Provides read access to free/busy information.
-          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
-          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
-          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
-      "id": "A String", # Identifier of the ACL rule.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/calendar_v3.calendarList.html b/docs/dyn/calendar_v3.calendarList.html
deleted file mode 100644
index 4e608df..0000000
--- a/docs/dyn/calendar_v3.calendarList.html
+++ /dev/null
@@ -1,451 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="calendar_v3.html">Calendar API</a> . <a href="calendar_v3.calendarList.html">calendarList</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(calendarId)</a></code></p>
-<p class="firstline">Deletes an entry on the user's calendar list.</p>
-<p class="toc_element">
-  <code><a href="#get">get(calendarId)</a></code></p>
-<p class="firstline">Returns an entry on the user's calendar list.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(body, colorRgbFormat=None)</a></code></p>
-<p class="firstline">Adds an entry to the user's calendar list.</p>
-<p class="toc_element">
-  <code><a href="#list">list(minAccessRole=None, maxResults=None, pageToken=None, showHidden=None)</a></code></p>
-<p class="firstline">Returns entries on the user's calendar list.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(calendarId, body, colorRgbFormat=None)</a></code></p>
-<p class="firstline">Updates an entry on the user's calendar list. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(calendarId, body, colorRgbFormat=None)</a></code></p>
-<p class="firstline">Updates an entry on the user's calendar list.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(calendarId)</code>
-  <pre>Deletes an entry on the user's calendar list.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(calendarId)</code>
-  <pre>Returns an entry on the user's calendar list.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "calendar#calendarListEntry", # Type of the resource ("calendar#calendarListEntry").
-      "foregroundColor": "A String", # The foreground color of the calendar in the format '#ffffff'. This property supersedes the index-based colorId property. Optional.
-      "defaultReminders": [ # The default reminders that the authenticated user has for this calendar.
-        {
-          "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-          "method": "A String", # The method used by this reminder. Possible values are:
-              # - "email" - Reminders are sent via email.
-              # - "sms" - Reminders are sent via SMS.
-              # - "popup" - Reminders are sent via a UI popup.
-        },
-      ],
-      "description": "A String", # Description of the calendar. Optional. Read-only.
-      "colorId": "A String", # The color of the calendar. This is an ID referring to an entry in the "calendar" section of the colors definition (see the "colors" endpoint). Optional.
-      "selected": True or False, # Whether the calendar content shows up in the calendar UI. Optional. The default is False.
-      "primary": True or False, # Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The default is False.
-      "summary": "A String", # Title of the calendar. Read-only.
-      "etag": "A String", # ETag of the resource.
-      "location": "A String", # Geographic location of the calendar as free-form text. Optional. Read-only.
-      "backgroundColor": "A String", # The main color of the calendar in the format '#0088aa'. This property supersedes the index-based colorId property. Optional.
-      "summaryOverride": "A String", # The summary that the authenticated user has set for this calendar. Optional.
-      "timeZone": "A String", # The time zone of the calendar. Optional. Read-only.
-      "hidden": True or False, # Whether the calendar has been hidden from the list. Optional. The default is False.
-      "accessRole": "A String", # The effective access role that the authenticated user has on the calendar. Read-only. Possible values are:
-          # - "freeBusyReader" - Provides read access to free/busy information.
-          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
-          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
-          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
-      "id": "A String", # Identifier of the calendar.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(body, colorRgbFormat=None)</code>
-  <pre>Adds an entry to the user's calendar list.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "calendar#calendarListEntry", # Type of the resource ("calendar#calendarListEntry").
-    "foregroundColor": "A String", # The foreground color of the calendar in the format '#ffffff'. This property supersedes the index-based colorId property. Optional.
-    "defaultReminders": [ # The default reminders that the authenticated user has for this calendar.
-      {
-        "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-        "method": "A String", # The method used by this reminder. Possible values are:
-            # - "email" - Reminders are sent via email.
-            # - "sms" - Reminders are sent via SMS.
-            # - "popup" - Reminders are sent via a UI popup.
-      },
-    ],
-    "description": "A String", # Description of the calendar. Optional. Read-only.
-    "colorId": "A String", # The color of the calendar. This is an ID referring to an entry in the "calendar" section of the colors definition (see the "colors" endpoint). Optional.
-    "selected": True or False, # Whether the calendar content shows up in the calendar UI. Optional. The default is False.
-    "primary": True or False, # Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The default is False.
-    "summary": "A String", # Title of the calendar. Read-only.
-    "etag": "A String", # ETag of the resource.
-    "location": "A String", # Geographic location of the calendar as free-form text. Optional. Read-only.
-    "backgroundColor": "A String", # The main color of the calendar in the format '#0088aa'. This property supersedes the index-based colorId property. Optional.
-    "summaryOverride": "A String", # The summary that the authenticated user has set for this calendar. Optional.
-    "timeZone": "A String", # The time zone of the calendar. Optional. Read-only.
-    "hidden": True or False, # Whether the calendar has been hidden from the list. Optional. The default is False.
-    "accessRole": "A String", # The effective access role that the authenticated user has on the calendar. Read-only. Possible values are:
-        # - "freeBusyReader" - Provides read access to free/busy information.
-        # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
-        # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
-        # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
-    "id": "A String", # Identifier of the calendar.
-  }
-
-  colorRgbFormat: boolean, Whether to use the 'foregroundColor' and 'backgroundColor' fields to write the calendar colors (RGB). If this feature is used, the index-based 'colorId' field will be set to the best matching option automatically. Optional. The default is False.
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "calendar#calendarListEntry", # Type of the resource ("calendar#calendarListEntry").
-      "foregroundColor": "A String", # The foreground color of the calendar in the format '#ffffff'. This property supersedes the index-based colorId property. Optional.
-      "defaultReminders": [ # The default reminders that the authenticated user has for this calendar.
-        {
-          "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-          "method": "A String", # The method used by this reminder. Possible values are:
-              # - "email" - Reminders are sent via email.
-              # - "sms" - Reminders are sent via SMS.
-              # - "popup" - Reminders are sent via a UI popup.
-        },
-      ],
-      "description": "A String", # Description of the calendar. Optional. Read-only.
-      "colorId": "A String", # The color of the calendar. This is an ID referring to an entry in the "calendar" section of the colors definition (see the "colors" endpoint). Optional.
-      "selected": True or False, # Whether the calendar content shows up in the calendar UI. Optional. The default is False.
-      "primary": True or False, # Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The default is False.
-      "summary": "A String", # Title of the calendar. Read-only.
-      "etag": "A String", # ETag of the resource.
-      "location": "A String", # Geographic location of the calendar as free-form text. Optional. Read-only.
-      "backgroundColor": "A String", # The main color of the calendar in the format '#0088aa'. This property supersedes the index-based colorId property. Optional.
-      "summaryOverride": "A String", # The summary that the authenticated user has set for this calendar. Optional.
-      "timeZone": "A String", # The time zone of the calendar. Optional. Read-only.
-      "hidden": True or False, # Whether the calendar has been hidden from the list. Optional. The default is False.
-      "accessRole": "A String", # The effective access role that the authenticated user has on the calendar. Read-only. Possible values are:
-          # - "freeBusyReader" - Provides read access to free/busy information.
-          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
-          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
-          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
-      "id": "A String", # Identifier of the calendar.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(minAccessRole=None, maxResults=None, pageToken=None, showHidden=None)</code>
-  <pre>Returns entries on the user's calendar list.
-
-Args:
-  minAccessRole: string, The minimum access role for the user in the returned entires. Optional. The default is no restriction.
-    Allowed values
-      freeBusyReader - The user can read free/busy information.
-      owner - The user can read and modify events and access control lists.
-      reader - The user can read events that are not private.
-      writer - The user can read and modify events.
-  maxResults: integer, Maximum number of entries returned on one result page. Optional.
-  pageToken: string, Token specifying which result page to return. Optional.
-  showHidden: boolean, Whether to show hidden entries. Optional. The default is False.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Token used to access the next page of this result.
-    "items": [ # Calendars that are present on the user's calendar list.
-      {
-          "kind": "calendar#calendarListEntry", # Type of the resource ("calendar#calendarListEntry").
-          "foregroundColor": "A String", # The foreground color of the calendar in the format '#ffffff'. This property supersedes the index-based colorId property. Optional.
-          "defaultReminders": [ # The default reminders that the authenticated user has for this calendar.
-            {
-              "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-              "method": "A String", # The method used by this reminder. Possible values are:
-                  # - "email" - Reminders are sent via email.
-                  # - "sms" - Reminders are sent via SMS.
-                  # - "popup" - Reminders are sent via a UI popup.
-            },
-          ],
-          "description": "A String", # Description of the calendar. Optional. Read-only.
-          "colorId": "A String", # The color of the calendar. This is an ID referring to an entry in the "calendar" section of the colors definition (see the "colors" endpoint). Optional.
-          "selected": True or False, # Whether the calendar content shows up in the calendar UI. Optional. The default is False.
-          "primary": True or False, # Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The default is False.
-          "summary": "A String", # Title of the calendar. Read-only.
-          "etag": "A String", # ETag of the resource.
-          "location": "A String", # Geographic location of the calendar as free-form text. Optional. Read-only.
-          "backgroundColor": "A String", # The main color of the calendar in the format '#0088aa'. This property supersedes the index-based colorId property. Optional.
-          "summaryOverride": "A String", # The summary that the authenticated user has set for this calendar. Optional.
-          "timeZone": "A String", # The time zone of the calendar. Optional. Read-only.
-          "hidden": True or False, # Whether the calendar has been hidden from the list. Optional. The default is False.
-          "accessRole": "A String", # The effective access role that the authenticated user has on the calendar. Read-only. Possible values are:
-              # - "freeBusyReader" - Provides read access to free/busy information.
-              # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
-              # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
-              # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
-          "id": "A String", # Identifier of the calendar.
-        },
-    ],
-    "kind": "calendar#calendarList", # Type of the collection ("calendar#calendarList").
-    "etag": "A String", # ETag of the collection.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(calendarId, body, colorRgbFormat=None)</code>
-  <pre>Updates an entry on the user's calendar list. This method supports patch semantics.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "calendar#calendarListEntry", # Type of the resource ("calendar#calendarListEntry").
-    "foregroundColor": "A String", # The foreground color of the calendar in the format '#ffffff'. This property supersedes the index-based colorId property. Optional.
-    "defaultReminders": [ # The default reminders that the authenticated user has for this calendar.
-      {
-        "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-        "method": "A String", # The method used by this reminder. Possible values are:
-            # - "email" - Reminders are sent via email.
-            # - "sms" - Reminders are sent via SMS.
-            # - "popup" - Reminders are sent via a UI popup.
-      },
-    ],
-    "description": "A String", # Description of the calendar. Optional. Read-only.
-    "colorId": "A String", # The color of the calendar. This is an ID referring to an entry in the "calendar" section of the colors definition (see the "colors" endpoint). Optional.
-    "selected": True or False, # Whether the calendar content shows up in the calendar UI. Optional. The default is False.
-    "primary": True or False, # Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The default is False.
-    "summary": "A String", # Title of the calendar. Read-only.
-    "etag": "A String", # ETag of the resource.
-    "location": "A String", # Geographic location of the calendar as free-form text. Optional. Read-only.
-    "backgroundColor": "A String", # The main color of the calendar in the format '#0088aa'. This property supersedes the index-based colorId property. Optional.
-    "summaryOverride": "A String", # The summary that the authenticated user has set for this calendar. Optional.
-    "timeZone": "A String", # The time zone of the calendar. Optional. Read-only.
-    "hidden": True or False, # Whether the calendar has been hidden from the list. Optional. The default is False.
-    "accessRole": "A String", # The effective access role that the authenticated user has on the calendar. Read-only. Possible values are:
-        # - "freeBusyReader" - Provides read access to free/busy information.
-        # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
-        # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
-        # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
-    "id": "A String", # Identifier of the calendar.
-  }
-
-  colorRgbFormat: boolean, Whether to use the 'foregroundColor' and 'backgroundColor' fields to write the calendar colors (RGB). If this feature is used, the index-based 'colorId' field will be set to the best matching option automatically. Optional. The default is False.
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "calendar#calendarListEntry", # Type of the resource ("calendar#calendarListEntry").
-      "foregroundColor": "A String", # The foreground color of the calendar in the format '#ffffff'. This property supersedes the index-based colorId property. Optional.
-      "defaultReminders": [ # The default reminders that the authenticated user has for this calendar.
-        {
-          "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-          "method": "A String", # The method used by this reminder. Possible values are:
-              # - "email" - Reminders are sent via email.
-              # - "sms" - Reminders are sent via SMS.
-              # - "popup" - Reminders are sent via a UI popup.
-        },
-      ],
-      "description": "A String", # Description of the calendar. Optional. Read-only.
-      "colorId": "A String", # The color of the calendar. This is an ID referring to an entry in the "calendar" section of the colors definition (see the "colors" endpoint). Optional.
-      "selected": True or False, # Whether the calendar content shows up in the calendar UI. Optional. The default is False.
-      "primary": True or False, # Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The default is False.
-      "summary": "A String", # Title of the calendar. Read-only.
-      "etag": "A String", # ETag of the resource.
-      "location": "A String", # Geographic location of the calendar as free-form text. Optional. Read-only.
-      "backgroundColor": "A String", # The main color of the calendar in the format '#0088aa'. This property supersedes the index-based colorId property. Optional.
-      "summaryOverride": "A String", # The summary that the authenticated user has set for this calendar. Optional.
-      "timeZone": "A String", # The time zone of the calendar. Optional. Read-only.
-      "hidden": True or False, # Whether the calendar has been hidden from the list. Optional. The default is False.
-      "accessRole": "A String", # The effective access role that the authenticated user has on the calendar. Read-only. Possible values are:
-          # - "freeBusyReader" - Provides read access to free/busy information.
-          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
-          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
-          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
-      "id": "A String", # Identifier of the calendar.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(calendarId, body, colorRgbFormat=None)</code>
-  <pre>Updates an entry on the user's calendar list.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "calendar#calendarListEntry", # Type of the resource ("calendar#calendarListEntry").
-    "foregroundColor": "A String", # The foreground color of the calendar in the format '#ffffff'. This property supersedes the index-based colorId property. Optional.
-    "defaultReminders": [ # The default reminders that the authenticated user has for this calendar.
-      {
-        "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-        "method": "A String", # The method used by this reminder. Possible values are:
-            # - "email" - Reminders are sent via email.
-            # - "sms" - Reminders are sent via SMS.
-            # - "popup" - Reminders are sent via a UI popup.
-      },
-    ],
-    "description": "A String", # Description of the calendar. Optional. Read-only.
-    "colorId": "A String", # The color of the calendar. This is an ID referring to an entry in the "calendar" section of the colors definition (see the "colors" endpoint). Optional.
-    "selected": True or False, # Whether the calendar content shows up in the calendar UI. Optional. The default is False.
-    "primary": True or False, # Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The default is False.
-    "summary": "A String", # Title of the calendar. Read-only.
-    "etag": "A String", # ETag of the resource.
-    "location": "A String", # Geographic location of the calendar as free-form text. Optional. Read-only.
-    "backgroundColor": "A String", # The main color of the calendar in the format '#0088aa'. This property supersedes the index-based colorId property. Optional.
-    "summaryOverride": "A String", # The summary that the authenticated user has set for this calendar. Optional.
-    "timeZone": "A String", # The time zone of the calendar. Optional. Read-only.
-    "hidden": True or False, # Whether the calendar has been hidden from the list. Optional. The default is False.
-    "accessRole": "A String", # The effective access role that the authenticated user has on the calendar. Read-only. Possible values are:
-        # - "freeBusyReader" - Provides read access to free/busy information.
-        # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
-        # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
-        # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
-    "id": "A String", # Identifier of the calendar.
-  }
-
-  colorRgbFormat: boolean, Whether to use the 'foregroundColor' and 'backgroundColor' fields to write the calendar colors (RGB). If this feature is used, the index-based 'colorId' field will be set to the best matching option automatically. Optional. The default is False.
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "calendar#calendarListEntry", # Type of the resource ("calendar#calendarListEntry").
-      "foregroundColor": "A String", # The foreground color of the calendar in the format '#ffffff'. This property supersedes the index-based colorId property. Optional.
-      "defaultReminders": [ # The default reminders that the authenticated user has for this calendar.
-        {
-          "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-          "method": "A String", # The method used by this reminder. Possible values are:
-              # - "email" - Reminders are sent via email.
-              # - "sms" - Reminders are sent via SMS.
-              # - "popup" - Reminders are sent via a UI popup.
-        },
-      ],
-      "description": "A String", # Description of the calendar. Optional. Read-only.
-      "colorId": "A String", # The color of the calendar. This is an ID referring to an entry in the "calendar" section of the colors definition (see the "colors" endpoint). Optional.
-      "selected": True or False, # Whether the calendar content shows up in the calendar UI. Optional. The default is False.
-      "primary": True or False, # Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The default is False.
-      "summary": "A String", # Title of the calendar. Read-only.
-      "etag": "A String", # ETag of the resource.
-      "location": "A String", # Geographic location of the calendar as free-form text. Optional. Read-only.
-      "backgroundColor": "A String", # The main color of the calendar in the format '#0088aa'. This property supersedes the index-based colorId property. Optional.
-      "summaryOverride": "A String", # The summary that the authenticated user has set for this calendar. Optional.
-      "timeZone": "A String", # The time zone of the calendar. Optional. Read-only.
-      "hidden": True or False, # Whether the calendar has been hidden from the list. Optional. The default is False.
-      "accessRole": "A String", # The effective access role that the authenticated user has on the calendar. Read-only. Possible values are:
-          # - "freeBusyReader" - Provides read access to free/busy information.
-          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
-          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
-          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
-      "id": "A String", # Identifier of the calendar.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/calendar_v3.calendars.html b/docs/dyn/calendar_v3.calendars.html
deleted file mode 100644
index d6d1524..0000000
--- a/docs/dyn/calendar_v3.calendars.html
+++ /dev/null
@@ -1,236 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="calendar_v3.html">Calendar API</a> . <a href="calendar_v3.calendars.html">calendars</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#clear">clear(calendarId)</a></code></p>
-<p class="firstline">Clears a primary calendar. This operation deletes all data associated with the primary calendar of an account and cannot be undone.</p>
-<p class="toc_element">
-  <code><a href="#delete">delete(calendarId)</a></code></p>
-<p class="firstline">Deletes a secondary calendar.</p>
-<p class="toc_element">
-  <code><a href="#get">get(calendarId)</a></code></p>
-<p class="firstline">Returns metadata for a calendar.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(body)</a></code></p>
-<p class="firstline">Creates a secondary calendar.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(calendarId, body)</a></code></p>
-<p class="firstline">Updates metadata for a calendar. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(calendarId, body)</a></code></p>
-<p class="firstline">Updates metadata for a calendar.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="clear">clear(calendarId)</code>
-  <pre>Clears a primary calendar. This operation deletes all data associated with the primary calendar of an account and cannot be undone.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(calendarId)</code>
-  <pre>Deletes a secondary calendar.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(calendarId)</code>
-  <pre>Returns metadata for a calendar.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "calendar#calendar", # Type of the resource ("calendar#calendar").
-      "description": "A String", # Description of the calendar. Optional.
-      "summary": "A String", # Title of the calendar.
-      "etag": "A String", # ETag of the resource.
-      "location": "A String", # Geographic location of the calendar as free-form text. Optional.
-      "timeZone": "A String", # The time zone of the calendar. Optional.
-      "id": "A String", # Identifier of the calendar.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(body)</code>
-  <pre>Creates a secondary calendar.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "calendar#calendar", # Type of the resource ("calendar#calendar").
-    "description": "A String", # Description of the calendar. Optional.
-    "summary": "A String", # Title of the calendar.
-    "etag": "A String", # ETag of the resource.
-    "location": "A String", # Geographic location of the calendar as free-form text. Optional.
-    "timeZone": "A String", # The time zone of the calendar. Optional.
-    "id": "A String", # Identifier of the calendar.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "calendar#calendar", # Type of the resource ("calendar#calendar").
-      "description": "A String", # Description of the calendar. Optional.
-      "summary": "A String", # Title of the calendar.
-      "etag": "A String", # ETag of the resource.
-      "location": "A String", # Geographic location of the calendar as free-form text. Optional.
-      "timeZone": "A String", # The time zone of the calendar. Optional.
-      "id": "A String", # Identifier of the calendar.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(calendarId, body)</code>
-  <pre>Updates metadata for a calendar. This method supports patch semantics.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "calendar#calendar", # Type of the resource ("calendar#calendar").
-    "description": "A String", # Description of the calendar. Optional.
-    "summary": "A String", # Title of the calendar.
-    "etag": "A String", # ETag of the resource.
-    "location": "A String", # Geographic location of the calendar as free-form text. Optional.
-    "timeZone": "A String", # The time zone of the calendar. Optional.
-    "id": "A String", # Identifier of the calendar.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "calendar#calendar", # Type of the resource ("calendar#calendar").
-      "description": "A String", # Description of the calendar. Optional.
-      "summary": "A String", # Title of the calendar.
-      "etag": "A String", # ETag of the resource.
-      "location": "A String", # Geographic location of the calendar as free-form text. Optional.
-      "timeZone": "A String", # The time zone of the calendar. Optional.
-      "id": "A String", # Identifier of the calendar.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(calendarId, body)</code>
-  <pre>Updates metadata for a calendar.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "calendar#calendar", # Type of the resource ("calendar#calendar").
-    "description": "A String", # Description of the calendar. Optional.
-    "summary": "A String", # Title of the calendar.
-    "etag": "A String", # ETag of the resource.
-    "location": "A String", # Geographic location of the calendar as free-form text. Optional.
-    "timeZone": "A String", # The time zone of the calendar. Optional.
-    "id": "A String", # Identifier of the calendar.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "calendar#calendar", # Type of the resource ("calendar#calendar").
-      "description": "A String", # Description of the calendar. Optional.
-      "summary": "A String", # Title of the calendar.
-      "etag": "A String", # ETag of the resource.
-      "location": "A String", # Geographic location of the calendar as free-form text. Optional.
-      "timeZone": "A String", # The time zone of the calendar. Optional.
-      "id": "A String", # Identifier of the calendar.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/calendar_v3.channels.html b/docs/dyn/calendar_v3.channels.html
deleted file mode 100644
index c65da65..0000000
--- a/docs/dyn/calendar_v3.channels.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="calendar_v3.html">Calendar API</a> . <a href="calendar_v3.channels.html">channels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#stop">stop(body)</a></code></p>
-<p class="firstline">A description of how to use this function</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="stop">stop(body)</code>
-  <pre>A description of how to use this function
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "resourceUri": "A String", # The canonicalized ID of the watched resource.
-    "kind": "api#channel", # A channel watching an API resource
-    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
-    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
-    "params": { # Additional parameters controlling delivery channel behavior
-      "a_key": "A String", # Declares a new parameter by name.
-    },
-    "expiration": "A String", # The expiration instant for this channel if it is defined.
-    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
-    "type": "A String", # The type of delivery mechanism used by this channel
-    "id": "A String", # A UUID for the channel
-  }
-
-</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/calendar_v3.colors.html b/docs/dyn/calendar_v3.colors.html
deleted file mode 100644
index ecbf926..0000000
--- a/docs/dyn/calendar_v3.colors.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="calendar_v3.html">Calendar API</a> . <a href="calendar_v3.colors.html">colors</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get()</a></code></p>
-<p class="firstline">Returns the color definitions for calendars and events.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get()</code>
-  <pre>Returns the color definitions for calendars and events.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    {
-    "calendar": { # Palette of calendar colors, mapping from the color ID to its definition. An 'calendarListEntry' resource refers to one of these color IDs in its 'color' field. Read-only.
-      "a_key": { # A calendar color defintion.
-        "foreground": "A String", # The foreground color that can be used to write on top of a background with 'background' color.
-        "background": "A String", # The background color associated with this color definition.
-      },
-    },
-    "updated": "A String", # Last modification time of the color palette (as a RFC 3339 timestamp). Read-only.
-    "event": { # Palette of event colors, mapping from the color ID to its definition. An 'event' resource may refer to one of these color IDs in its 'color' field. Read-only.
-      "a_key": { # An event color definition.
-        "foreground": "A String", # The foreground color that can be used to write on top of a background with 'background' color.
-        "background": "A String", # The background color associated with this color definition.
-      },
-    },
-    "kind": "calendar#colors", # Type of the resource ("calendar#colors").
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/calendar_v3.events.html b/docs/dyn/calendar_v3.events.html
deleted file mode 100644
index ab55b93..0000000
--- a/docs/dyn/calendar_v3.events.html
+++ /dev/null
@@ -1,2023 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="calendar_v3.html">Calendar API</a> . <a href="calendar_v3.events.html">events</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(calendarId, eventId, sendNotifications=None)</a></code></p>
-<p class="firstline">Deletes an event.</p>
-<p class="toc_element">
-  <code><a href="#get">get(calendarId, eventId, alwaysIncludeEmail=None, timeZone=None, maxAttendees=None)</a></code></p>
-<p class="firstline">Returns an event.</p>
-<p class="toc_element">
-  <code><a href="#import_">import_(calendarId, body)</a></code></p>
-<p class="firstline">Imports an event. This operation is used to add a private copy of an existing event to a calendar.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(calendarId, body, sendNotifications=None, maxAttendees=None)</a></code></p>
-<p class="firstline">Creates an event.</p>
-<p class="toc_element">
-  <code><a href="#instances">instances(calendarId, eventId, timeMin=None, showDeleted=None, alwaysIncludeEmail=None, pageToken=None, maxAttendees=None, maxResults=None, timeMax=None, timeZone=None, originalStart=None)</a></code></p>
-<p class="firstline">Returns instances of the specified recurring event.</p>
-<p class="toc_element">
-  <code><a href="#instances_next">instances_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#list">list(calendarId, orderBy=None, showHiddenInvitations=None, timeMin=None, pageToken=None, updatedMin=None, singleEvents=None, alwaysIncludeEmail=None, showDeleted=None, maxAttendees=None, iCalUID=None, maxResults=None, timeMax=None, q=None, timeZone=None)</a></code></p>
-<p class="firstline">Returns events on the specified calendar.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#move">move(calendarId, eventId, destination, sendNotifications=None)</a></code></p>
-<p class="firstline">Moves an event to another calendar, i.e. changes an event's organizer.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(calendarId, eventId, body, sendNotifications=None, alwaysIncludeEmail=None, maxAttendees=None)</a></code></p>
-<p class="firstline">Updates an event. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#quickAdd">quickAdd(calendarId, text, sendNotifications=None)</a></code></p>
-<p class="firstline">Creates an event based on a simple text string.</p>
-<p class="toc_element">
-  <code><a href="#update">update(calendarId, eventId, body, sendNotifications=None, alwaysIncludeEmail=None, maxAttendees=None)</a></code></p>
-<p class="firstline">Updates an event.</p>
-<p class="toc_element">
-  <code><a href="#watch">watch(calendarId, body, orderBy=None, showHiddenInvitations=None, timeMin=None, pageToken=None, updatedMin=None, singleEvents=None, alwaysIncludeEmail=None, showDeleted=None, maxAttendees=None, iCalUID=None, maxResults=None, timeMax=None, q=None, timeZone=None)</a></code></p>
-<p class="firstline">Subscribe to changes in events collection</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(calendarId, eventId, sendNotifications=None)</code>
-  <pre>Deletes an event.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  eventId: string, Event identifier. (required)
-  sendNotifications: boolean, Whether to send notifications about the deletion of the event. Optional. The default is False.
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(calendarId, eventId, alwaysIncludeEmail=None, timeZone=None, maxAttendees=None)</code>
-  <pre>Returns an event.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  eventId: string, Event identifier. (required)
-  alwaysIncludeEmail: boolean, Whether to always include a value in the "email" field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False.
-  timeZone: string, Time zone used in the response. Optional. The default is the time zone of the calendar.
-  maxAttendees: integer, The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional.
-
-Returns:
-  An object of the form:
-
-    {
-      "creator": { # The creator of the event. Read-only.
-        "self": True or False, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-        "displayName": "A String", # The creator's name, if available.
-        "email": "A String", # The creator's email address, if available.
-        "id": "A String", # The creator's Profile ID, if available.
-      },
-      "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
-        "self": True or False, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-        "displayName": "A String", # The organizer's name, if available.
-        "email": "A String", # The organizer's email address, if available.
-        "id": "A String", # The organizer's Profile ID, if available.
-      },
-      "summary": "A String", # Title of the event.
-      "id": "A String", # Identifier of the event.
-      "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
-      "attendees": [ # The attendees of the event.
-        {
-          "comment": "A String", # The attendee's response comment. Optional.
-          "displayName": "A String", # The attendee's name, if available. Optional.
-          "responseStatus": "A String", # The attendee's response status. Possible values are:
-              # - "needsAction" - The attendee has not responded to the invitation.
-              # - "declined" - The attendee has declined the invitation.
-              # - "tentative" - The attendee has tentatively accepted the invitation.
-              # - "accepted" - The attendee has accepted the invitation.
-          "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
-          "id": "A String", # The attendee's Profile ID, if available.
-          "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
-          "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
-          "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
-          "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
-          "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
-        },
-      ],
-      "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-        "A String",
-      ],
-      "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
-        "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
-        "title": "A String", # Title of the source; for example a title of a web page or an email subject.
-      },
-      "etag": "A String", # ETag of the resource.
-      "location": "A String", # Geographic location of the event as free-form text. Optional.
-      "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
-      "gadget": { # A gadget that extends this event.
-        "preferences": { # Preferences.
-          "a_key": "A String", # The preference name and corresponding value.
-        },
-        "title": "A String", # The gadget's title.
-        "height": 42, # The gadget's height in pixels. Optional.
-        "width": 42, # The gadget's width in pixels. Optional.
-        "link": "A String", # The gadget's URL.
-        "type": "A String", # The gadget's type.
-        "display": "A String", # The gadget's display mode. Optional. Possible values are:
-            # - "icon" - The gadget displays next to the event's title in the calendar view.
-            # - "chip" - The gadget displays when the event is clicked.
-        "iconLink": "A String", # The gadget's icon URL.
-      },
-      "status": "A String", # Status of the event. Optional. Possible values are:
-          # - "confirmed" - The event is confirmed. This is the default status.
-          # - "tentative" - The event is tentatively confirmed.
-          # - "cancelled" - The event is cancelled.
-      "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
-      "description": "A String", # Description of the event. Optional.
-      "iCalUID": "A String", # Event ID in the iCalendar format.
-      "extendedProperties": { # Extended properties of the event.
-        "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
-          "a_key": "A String", # The name of the shared property and the corresponding value.
-        },
-        "private": { # Properties that are private to the copy of the event that appears on this calendar.
-          "a_key": "A String", # The name of the private property and the corresponding value.
-        },
-      },
-      "endTimeUnspecified": True or False, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
-      "sequence": 42, # Sequence number as per iCalendar.
-      "visibility": "A String", # Visibility of the event. Optional. Possible values are:
-          # - "default" - Uses the default visibility for events on the calendar. This is the default value.
-          # - "public" - The event is public and event details are visible to all readers of the calendar.
-          # - "private" - The event is private and only event attendees may view event details.
-          # - "confidential" - The event is private. This value is provided for compatibility reasons.
-      "guestsCanModify": True or False, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
-      "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "attendeesOmitted": True or False, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
-      "kind": "calendar#event", # Type of the resource ("calendar#event").
-      "locked": True or False, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
-      "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
-      "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
-      "anyoneCanAddSelf": True or False, # Whether anyone can invite themselves to the event. Optional. The default is False.
-      "reminders": { # Information about the event's reminders for the authenticated user.
-        "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
-          {
-            "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-            "method": "A String", # The method used by this reminder. Possible values are:
-                # - "email" - Reminders are sent via email.
-                # - "sms" - Reminders are sent via SMS.
-                # - "popup" - Reminders are sent via a UI popup.
-          },
-        ],
-        "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
-      },
-      "guestsCanSeeOtherGuests": True or False, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
-      "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "guestsCanInviteOthers": True or False, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
-      "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
-          # - "opaque" - The event blocks time on the calendar. This is the default value.
-          # - "transparent" - The event does not block time on the calendar.
-      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="import_">import_(calendarId, body)</code>
-  <pre>Imports an event. This operation is used to add a private copy of an existing event to a calendar.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "creator": { # The creator of the event. Read-only.
-      "self": True or False, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-      "displayName": "A String", # The creator's name, if available.
-      "email": "A String", # The creator's email address, if available.
-      "id": "A String", # The creator's Profile ID, if available.
-    },
-    "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
-      "self": True or False, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-      "displayName": "A String", # The organizer's name, if available.
-      "email": "A String", # The organizer's email address, if available.
-      "id": "A String", # The organizer's Profile ID, if available.
-    },
-    "summary": "A String", # Title of the event.
-    "id": "A String", # Identifier of the event.
-    "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
-    "attendees": [ # The attendees of the event.
-      {
-        "comment": "A String", # The attendee's response comment. Optional.
-        "displayName": "A String", # The attendee's name, if available. Optional.
-        "responseStatus": "A String", # The attendee's response status. Possible values are:
-            # - "needsAction" - The attendee has not responded to the invitation.
-            # - "declined" - The attendee has declined the invitation.
-            # - "tentative" - The attendee has tentatively accepted the invitation.
-            # - "accepted" - The attendee has accepted the invitation.
-        "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
-        "id": "A String", # The attendee's Profile ID, if available.
-        "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
-        "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
-        "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
-        "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
-        "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
-      },
-    ],
-    "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
-      "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-      "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-    },
-    "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-    "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-      "A String",
-    ],
-    "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
-      "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
-      "title": "A String", # Title of the source; for example a title of a web page or an email subject.
-    },
-    "etag": "A String", # ETag of the resource.
-    "location": "A String", # Geographic location of the event as free-form text. Optional.
-    "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
-    "gadget": { # A gadget that extends this event.
-      "preferences": { # Preferences.
-        "a_key": "A String", # The preference name and corresponding value.
-      },
-      "title": "A String", # The gadget's title.
-      "height": 42, # The gadget's height in pixels. Optional.
-      "width": 42, # The gadget's width in pixels. Optional.
-      "link": "A String", # The gadget's URL.
-      "type": "A String", # The gadget's type.
-      "display": "A String", # The gadget's display mode. Optional. Possible values are:
-          # - "icon" - The gadget displays next to the event's title in the calendar view.
-          # - "chip" - The gadget displays when the event is clicked.
-      "iconLink": "A String", # The gadget's icon URL.
-    },
-    "status": "A String", # Status of the event. Optional. Possible values are:
-        # - "confirmed" - The event is confirmed. This is the default status.
-        # - "tentative" - The event is tentatively confirmed.
-        # - "cancelled" - The event is cancelled.
-    "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
-    "description": "A String", # Description of the event. Optional.
-    "iCalUID": "A String", # Event ID in the iCalendar format.
-    "extendedProperties": { # Extended properties of the event.
-      "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
-        "a_key": "A String", # The name of the shared property and the corresponding value.
-      },
-      "private": { # Properties that are private to the copy of the event that appears on this calendar.
-        "a_key": "A String", # The name of the private property and the corresponding value.
-      },
-    },
-    "endTimeUnspecified": True or False, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
-    "sequence": 42, # Sequence number as per iCalendar.
-    "visibility": "A String", # Visibility of the event. Optional. Possible values are:
-        # - "default" - Uses the default visibility for events on the calendar. This is the default value.
-        # - "public" - The event is public and event details are visible to all readers of the calendar.
-        # - "private" - The event is private and only event attendees may view event details.
-        # - "confidential" - The event is private. This value is provided for compatibility reasons.
-    "guestsCanModify": True or False, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
-    "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
-      "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-      "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-    },
-    "attendeesOmitted": True or False, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
-    "kind": "calendar#event", # Type of the resource ("calendar#event").
-    "locked": True or False, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
-    "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
-    "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
-    "anyoneCanAddSelf": True or False, # Whether anyone can invite themselves to the event. Optional. The default is False.
-    "reminders": { # Information about the event's reminders for the authenticated user.
-      "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
-        {
-          "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-          "method": "A String", # The method used by this reminder. Possible values are:
-              # - "email" - Reminders are sent via email.
-              # - "sms" - Reminders are sent via SMS.
-              # - "popup" - Reminders are sent via a UI popup.
-        },
-      ],
-      "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
-    },
-    "guestsCanSeeOtherGuests": True or False, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
-    "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
-      "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-      "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-    },
-    "guestsCanInviteOthers": True or False, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
-    "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
-        # - "opaque" - The event blocks time on the calendar. This is the default value.
-        # - "transparent" - The event does not block time on the calendar.
-    "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "creator": { # The creator of the event. Read-only.
-        "self": True or False, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-        "displayName": "A String", # The creator's name, if available.
-        "email": "A String", # The creator's email address, if available.
-        "id": "A String", # The creator's Profile ID, if available.
-      },
-      "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
-        "self": True or False, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-        "displayName": "A String", # The organizer's name, if available.
-        "email": "A String", # The organizer's email address, if available.
-        "id": "A String", # The organizer's Profile ID, if available.
-      },
-      "summary": "A String", # Title of the event.
-      "id": "A String", # Identifier of the event.
-      "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
-      "attendees": [ # The attendees of the event.
-        {
-          "comment": "A String", # The attendee's response comment. Optional.
-          "displayName": "A String", # The attendee's name, if available. Optional.
-          "responseStatus": "A String", # The attendee's response status. Possible values are:
-              # - "needsAction" - The attendee has not responded to the invitation.
-              # - "declined" - The attendee has declined the invitation.
-              # - "tentative" - The attendee has tentatively accepted the invitation.
-              # - "accepted" - The attendee has accepted the invitation.
-          "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
-          "id": "A String", # The attendee's Profile ID, if available.
-          "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
-          "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
-          "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
-          "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
-          "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
-        },
-      ],
-      "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-        "A String",
-      ],
-      "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
-        "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
-        "title": "A String", # Title of the source; for example a title of a web page or an email subject.
-      },
-      "etag": "A String", # ETag of the resource.
-      "location": "A String", # Geographic location of the event as free-form text. Optional.
-      "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
-      "gadget": { # A gadget that extends this event.
-        "preferences": { # Preferences.
-          "a_key": "A String", # The preference name and corresponding value.
-        },
-        "title": "A String", # The gadget's title.
-        "height": 42, # The gadget's height in pixels. Optional.
-        "width": 42, # The gadget's width in pixels. Optional.
-        "link": "A String", # The gadget's URL.
-        "type": "A String", # The gadget's type.
-        "display": "A String", # The gadget's display mode. Optional. Possible values are:
-            # - "icon" - The gadget displays next to the event's title in the calendar view.
-            # - "chip" - The gadget displays when the event is clicked.
-        "iconLink": "A String", # The gadget's icon URL.
-      },
-      "status": "A String", # Status of the event. Optional. Possible values are:
-          # - "confirmed" - The event is confirmed. This is the default status.
-          # - "tentative" - The event is tentatively confirmed.
-          # - "cancelled" - The event is cancelled.
-      "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
-      "description": "A String", # Description of the event. Optional.
-      "iCalUID": "A String", # Event ID in the iCalendar format.
-      "extendedProperties": { # Extended properties of the event.
-        "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
-          "a_key": "A String", # The name of the shared property and the corresponding value.
-        },
-        "private": { # Properties that are private to the copy of the event that appears on this calendar.
-          "a_key": "A String", # The name of the private property and the corresponding value.
-        },
-      },
-      "endTimeUnspecified": True or False, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
-      "sequence": 42, # Sequence number as per iCalendar.
-      "visibility": "A String", # Visibility of the event. Optional. Possible values are:
-          # - "default" - Uses the default visibility for events on the calendar. This is the default value.
-          # - "public" - The event is public and event details are visible to all readers of the calendar.
-          # - "private" - The event is private and only event attendees may view event details.
-          # - "confidential" - The event is private. This value is provided for compatibility reasons.
-      "guestsCanModify": True or False, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
-      "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "attendeesOmitted": True or False, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
-      "kind": "calendar#event", # Type of the resource ("calendar#event").
-      "locked": True or False, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
-      "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
-      "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
-      "anyoneCanAddSelf": True or False, # Whether anyone can invite themselves to the event. Optional. The default is False.
-      "reminders": { # Information about the event's reminders for the authenticated user.
-        "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
-          {
-            "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-            "method": "A String", # The method used by this reminder. Possible values are:
-                # - "email" - Reminders are sent via email.
-                # - "sms" - Reminders are sent via SMS.
-                # - "popup" - Reminders are sent via a UI popup.
-          },
-        ],
-        "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
-      },
-      "guestsCanSeeOtherGuests": True or False, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
-      "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "guestsCanInviteOthers": True or False, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
-      "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
-          # - "opaque" - The event blocks time on the calendar. This is the default value.
-          # - "transparent" - The event does not block time on the calendar.
-      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(calendarId, body, sendNotifications=None, maxAttendees=None)</code>
-  <pre>Creates an event.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "creator": { # The creator of the event. Read-only.
-      "self": True or False, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-      "displayName": "A String", # The creator's name, if available.
-      "email": "A String", # The creator's email address, if available.
-      "id": "A String", # The creator's Profile ID, if available.
-    },
-    "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
-      "self": True or False, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-      "displayName": "A String", # The organizer's name, if available.
-      "email": "A String", # The organizer's email address, if available.
-      "id": "A String", # The organizer's Profile ID, if available.
-    },
-    "summary": "A String", # Title of the event.
-    "id": "A String", # Identifier of the event.
-    "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
-    "attendees": [ # The attendees of the event.
-      {
-        "comment": "A String", # The attendee's response comment. Optional.
-        "displayName": "A String", # The attendee's name, if available. Optional.
-        "responseStatus": "A String", # The attendee's response status. Possible values are:
-            # - "needsAction" - The attendee has not responded to the invitation.
-            # - "declined" - The attendee has declined the invitation.
-            # - "tentative" - The attendee has tentatively accepted the invitation.
-            # - "accepted" - The attendee has accepted the invitation.
-        "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
-        "id": "A String", # The attendee's Profile ID, if available.
-        "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
-        "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
-        "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
-        "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
-        "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
-      },
-    ],
-    "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
-      "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-      "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-    },
-    "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-    "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-      "A String",
-    ],
-    "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
-      "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
-      "title": "A String", # Title of the source; for example a title of a web page or an email subject.
-    },
-    "etag": "A String", # ETag of the resource.
-    "location": "A String", # Geographic location of the event as free-form text. Optional.
-    "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
-    "gadget": { # A gadget that extends this event.
-      "preferences": { # Preferences.
-        "a_key": "A String", # The preference name and corresponding value.
-      },
-      "title": "A String", # The gadget's title.
-      "height": 42, # The gadget's height in pixels. Optional.
-      "width": 42, # The gadget's width in pixels. Optional.
-      "link": "A String", # The gadget's URL.
-      "type": "A String", # The gadget's type.
-      "display": "A String", # The gadget's display mode. Optional. Possible values are:
-          # - "icon" - The gadget displays next to the event's title in the calendar view.
-          # - "chip" - The gadget displays when the event is clicked.
-      "iconLink": "A String", # The gadget's icon URL.
-    },
-    "status": "A String", # Status of the event. Optional. Possible values are:
-        # - "confirmed" - The event is confirmed. This is the default status.
-        # - "tentative" - The event is tentatively confirmed.
-        # - "cancelled" - The event is cancelled.
-    "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
-    "description": "A String", # Description of the event. Optional.
-    "iCalUID": "A String", # Event ID in the iCalendar format.
-    "extendedProperties": { # Extended properties of the event.
-      "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
-        "a_key": "A String", # The name of the shared property and the corresponding value.
-      },
-      "private": { # Properties that are private to the copy of the event that appears on this calendar.
-        "a_key": "A String", # The name of the private property and the corresponding value.
-      },
-    },
-    "endTimeUnspecified": True or False, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
-    "sequence": 42, # Sequence number as per iCalendar.
-    "visibility": "A String", # Visibility of the event. Optional. Possible values are:
-        # - "default" - Uses the default visibility for events on the calendar. This is the default value.
-        # - "public" - The event is public and event details are visible to all readers of the calendar.
-        # - "private" - The event is private and only event attendees may view event details.
-        # - "confidential" - The event is private. This value is provided for compatibility reasons.
-    "guestsCanModify": True or False, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
-    "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
-      "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-      "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-    },
-    "attendeesOmitted": True or False, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
-    "kind": "calendar#event", # Type of the resource ("calendar#event").
-    "locked": True or False, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
-    "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
-    "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
-    "anyoneCanAddSelf": True or False, # Whether anyone can invite themselves to the event. Optional. The default is False.
-    "reminders": { # Information about the event's reminders for the authenticated user.
-      "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
-        {
-          "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-          "method": "A String", # The method used by this reminder. Possible values are:
-              # - "email" - Reminders are sent via email.
-              # - "sms" - Reminders are sent via SMS.
-              # - "popup" - Reminders are sent via a UI popup.
-        },
-      ],
-      "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
-    },
-    "guestsCanSeeOtherGuests": True or False, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
-    "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
-      "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-      "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-    },
-    "guestsCanInviteOthers": True or False, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
-    "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
-        # - "opaque" - The event blocks time on the calendar. This is the default value.
-        # - "transparent" - The event does not block time on the calendar.
-    "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
-  }
-
-  sendNotifications: boolean, Whether to send notifications about the creation of the new event. Optional. The default is False.
-  maxAttendees: integer, The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional.
-
-Returns:
-  An object of the form:
-
-    {
-      "creator": { # The creator of the event. Read-only.
-        "self": True or False, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-        "displayName": "A String", # The creator's name, if available.
-        "email": "A String", # The creator's email address, if available.
-        "id": "A String", # The creator's Profile ID, if available.
-      },
-      "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
-        "self": True or False, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-        "displayName": "A String", # The organizer's name, if available.
-        "email": "A String", # The organizer's email address, if available.
-        "id": "A String", # The organizer's Profile ID, if available.
-      },
-      "summary": "A String", # Title of the event.
-      "id": "A String", # Identifier of the event.
-      "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
-      "attendees": [ # The attendees of the event.
-        {
-          "comment": "A String", # The attendee's response comment. Optional.
-          "displayName": "A String", # The attendee's name, if available. Optional.
-          "responseStatus": "A String", # The attendee's response status. Possible values are:
-              # - "needsAction" - The attendee has not responded to the invitation.
-              # - "declined" - The attendee has declined the invitation.
-              # - "tentative" - The attendee has tentatively accepted the invitation.
-              # - "accepted" - The attendee has accepted the invitation.
-          "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
-          "id": "A String", # The attendee's Profile ID, if available.
-          "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
-          "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
-          "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
-          "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
-          "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
-        },
-      ],
-      "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-        "A String",
-      ],
-      "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
-        "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
-        "title": "A String", # Title of the source; for example a title of a web page or an email subject.
-      },
-      "etag": "A String", # ETag of the resource.
-      "location": "A String", # Geographic location of the event as free-form text. Optional.
-      "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
-      "gadget": { # A gadget that extends this event.
-        "preferences": { # Preferences.
-          "a_key": "A String", # The preference name and corresponding value.
-        },
-        "title": "A String", # The gadget's title.
-        "height": 42, # The gadget's height in pixels. Optional.
-        "width": 42, # The gadget's width in pixels. Optional.
-        "link": "A String", # The gadget's URL.
-        "type": "A String", # The gadget's type.
-        "display": "A String", # The gadget's display mode. Optional. Possible values are:
-            # - "icon" - The gadget displays next to the event's title in the calendar view.
-            # - "chip" - The gadget displays when the event is clicked.
-        "iconLink": "A String", # The gadget's icon URL.
-      },
-      "status": "A String", # Status of the event. Optional. Possible values are:
-          # - "confirmed" - The event is confirmed. This is the default status.
-          # - "tentative" - The event is tentatively confirmed.
-          # - "cancelled" - The event is cancelled.
-      "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
-      "description": "A String", # Description of the event. Optional.
-      "iCalUID": "A String", # Event ID in the iCalendar format.
-      "extendedProperties": { # Extended properties of the event.
-        "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
-          "a_key": "A String", # The name of the shared property and the corresponding value.
-        },
-        "private": { # Properties that are private to the copy of the event that appears on this calendar.
-          "a_key": "A String", # The name of the private property and the corresponding value.
-        },
-      },
-      "endTimeUnspecified": True or False, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
-      "sequence": 42, # Sequence number as per iCalendar.
-      "visibility": "A String", # Visibility of the event. Optional. Possible values are:
-          # - "default" - Uses the default visibility for events on the calendar. This is the default value.
-          # - "public" - The event is public and event details are visible to all readers of the calendar.
-          # - "private" - The event is private and only event attendees may view event details.
-          # - "confidential" - The event is private. This value is provided for compatibility reasons.
-      "guestsCanModify": True or False, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
-      "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "attendeesOmitted": True or False, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
-      "kind": "calendar#event", # Type of the resource ("calendar#event").
-      "locked": True or False, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
-      "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
-      "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
-      "anyoneCanAddSelf": True or False, # Whether anyone can invite themselves to the event. Optional. The default is False.
-      "reminders": { # Information about the event's reminders for the authenticated user.
-        "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
-          {
-            "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-            "method": "A String", # The method used by this reminder. Possible values are:
-                # - "email" - Reminders are sent via email.
-                # - "sms" - Reminders are sent via SMS.
-                # - "popup" - Reminders are sent via a UI popup.
-          },
-        ],
-        "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
-      },
-      "guestsCanSeeOtherGuests": True or False, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
-      "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "guestsCanInviteOthers": True or False, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
-      "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
-          # - "opaque" - The event blocks time on the calendar. This is the default value.
-          # - "transparent" - The event does not block time on the calendar.
-      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="instances">instances(calendarId, eventId, timeMin=None, showDeleted=None, alwaysIncludeEmail=None, pageToken=None, maxAttendees=None, maxResults=None, timeMax=None, timeZone=None, originalStart=None)</code>
-  <pre>Returns instances of the specified recurring event.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  eventId: string, Recurring event identifier. (required)
-  timeMin: string, Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time.
-  showDeleted: boolean, Whether to include deleted events (with 'status' equals 'cancelled') in the result. Cancelled instances of recurring events will still be included if 'singleEvents' is False. Optional. The default is False.
-  alwaysIncludeEmail: boolean, Whether to always include a value in the "email" field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False.
-  pageToken: string, Token specifying which result page to return. Optional.
-  maxAttendees: integer, The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional.
-  maxResults: integer, Maximum number of events returned on one result page. Optional.
-  timeMax: string, Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time.
-  timeZone: string, Time zone used in the response. Optional. The default is the time zone of the calendar.
-  originalStart: string, The original start time of the instance in the result. Optional.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Token used to access the next page of this result. Omitted if no further results are available.
-    "kind": "calendar#events", # Type of the collection ("calendar#events").
-    "defaultReminders": [ # The default reminders on the calendar for the authenticated user. These reminders apply to all events on this calendar that do not explicitly override them (i.e. do not have 'reminders.useDefault' set to 'true').
-      {
-        "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-        "method": "A String", # The method used by this reminder. Possible values are:
-            # - "email" - Reminders are sent via email.
-            # - "sms" - Reminders are sent via SMS.
-            # - "popup" - Reminders are sent via a UI popup.
-      },
-    ],
-    "description": "A String", # Description of the calendar. Read-only.
-    "items": [ # List of events on the calendar.
-      {
-          "creator": { # The creator of the event. Read-only.
-            "self": True or False, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-            "displayName": "A String", # The creator's name, if available.
-            "email": "A String", # The creator's email address, if available.
-            "id": "A String", # The creator's Profile ID, if available.
-          },
-          "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
-            "self": True or False, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-            "displayName": "A String", # The organizer's name, if available.
-            "email": "A String", # The organizer's email address, if available.
-            "id": "A String", # The organizer's Profile ID, if available.
-          },
-          "summary": "A String", # Title of the event.
-          "id": "A String", # Identifier of the event.
-          "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
-          "attendees": [ # The attendees of the event.
-            {
-              "comment": "A String", # The attendee's response comment. Optional.
-              "displayName": "A String", # The attendee's name, if available. Optional.
-              "responseStatus": "A String", # The attendee's response status. Possible values are:
-                  # - "needsAction" - The attendee has not responded to the invitation.
-                  # - "declined" - The attendee has declined the invitation.
-                  # - "tentative" - The attendee has tentatively accepted the invitation.
-                  # - "accepted" - The attendee has accepted the invitation.
-              "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
-              "id": "A String", # The attendee's Profile ID, if available.
-              "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
-              "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
-              "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
-              "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
-              "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
-            },
-          ],
-          "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
-            "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-            "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-            "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-          },
-          "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-          "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-            "A String",
-          ],
-          "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
-            "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
-            "title": "A String", # Title of the source; for example a title of a web page or an email subject.
-          },
-          "etag": "A String", # ETag of the resource.
-          "location": "A String", # Geographic location of the event as free-form text. Optional.
-          "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
-          "gadget": { # A gadget that extends this event.
-            "preferences": { # Preferences.
-              "a_key": "A String", # The preference name and corresponding value.
-            },
-            "title": "A String", # The gadget's title.
-            "height": 42, # The gadget's height in pixels. Optional.
-            "width": 42, # The gadget's width in pixels. Optional.
-            "link": "A String", # The gadget's URL.
-            "type": "A String", # The gadget's type.
-            "display": "A String", # The gadget's display mode. Optional. Possible values are:
-                # - "icon" - The gadget displays next to the event's title in the calendar view.
-                # - "chip" - The gadget displays when the event is clicked.
-            "iconLink": "A String", # The gadget's icon URL.
-          },
-          "status": "A String", # Status of the event. Optional. Possible values are:
-              # - "confirmed" - The event is confirmed. This is the default status.
-              # - "tentative" - The event is tentatively confirmed.
-              # - "cancelled" - The event is cancelled.
-          "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
-          "description": "A String", # Description of the event. Optional.
-          "iCalUID": "A String", # Event ID in the iCalendar format.
-          "extendedProperties": { # Extended properties of the event.
-            "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
-              "a_key": "A String", # The name of the shared property and the corresponding value.
-            },
-            "private": { # Properties that are private to the copy of the event that appears on this calendar.
-              "a_key": "A String", # The name of the private property and the corresponding value.
-            },
-          },
-          "endTimeUnspecified": True or False, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
-          "sequence": 42, # Sequence number as per iCalendar.
-          "visibility": "A String", # Visibility of the event. Optional. Possible values are:
-              # - "default" - Uses the default visibility for events on the calendar. This is the default value.
-              # - "public" - The event is public and event details are visible to all readers of the calendar.
-              # - "private" - The event is private and only event attendees may view event details.
-              # - "confidential" - The event is private. This value is provided for compatibility reasons.
-          "guestsCanModify": True or False, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
-          "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
-            "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-            "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-            "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-          },
-          "attendeesOmitted": True or False, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
-          "kind": "calendar#event", # Type of the resource ("calendar#event").
-          "locked": True or False, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
-          "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
-          "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
-          "anyoneCanAddSelf": True or False, # Whether anyone can invite themselves to the event. Optional. The default is False.
-          "reminders": { # Information about the event's reminders for the authenticated user.
-            "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
-              {
-                "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-                "method": "A String", # The method used by this reminder. Possible values are:
-                    # - "email" - Reminders are sent via email.
-                    # - "sms" - Reminders are sent via SMS.
-                    # - "popup" - Reminders are sent via a UI popup.
-              },
-            ],
-            "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
-          },
-          "guestsCanSeeOtherGuests": True or False, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
-          "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
-            "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-            "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-            "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-          },
-          "guestsCanInviteOthers": True or False, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
-          "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
-              # - "opaque" - The event blocks time on the calendar. This is the default value.
-              # - "transparent" - The event does not block time on the calendar.
-          "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
-        },
-    ],
-    "updated": "A String", # Last modification time of the calendar (as a RFC 3339 timestamp). Read-only.
-    "summary": "A String", # Title of the calendar. Read-only.
-    "etag": "A String", # ETag of the collection.
-    "timeZone": "A String", # The time zone of the calendar. Read-only.
-    "accessRole": "A String", # The user's access role for this calendar. Read-only. Possible values are:
-        # - "none" - The user has no access.
-        # - "freeBusyReader" - The user has read access to free/busy information.
-        # - "reader" - The user has read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
-        # - "writer" - The user has read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
-        # - "owner" - The user has ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="instances_next">instances_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(calendarId, orderBy=None, showHiddenInvitations=None, timeMin=None, pageToken=None, updatedMin=None, singleEvents=None, alwaysIncludeEmail=None, showDeleted=None, maxAttendees=None, iCalUID=None, maxResults=None, timeMax=None, q=None, timeZone=None)</code>
-  <pre>Returns events on the specified calendar.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  orderBy: string, The order of the events returned in the result. Optional. The default is an unspecified, stable order.
-    Allowed values
-      startTime - Order by the start date/time (ascending). This is only available when querying single events (i.e. the parameter "singleEvents" is True)
-      updated - Order by last modification time (ascending).
-  showHiddenInvitations: boolean, Whether to include hidden invitations in the result. Optional. The default is False.
-  timeMin: string, Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time.
-  pageToken: string, Token specifying which result page to return. Optional.
-  updatedMin: string, Lower bound for an event's last modification time (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by last modification time.
-  singleEvents: boolean, Whether to expand recurring events into instances and only return single one-off events and instances of recurring events, but not the underlying recurring events themselves. Optional. The default is False.
-  alwaysIncludeEmail: boolean, Whether to always include a value in the "email" field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False.
-  showDeleted: boolean, Whether to include deleted events (with 'status' equals 'cancelled') in the result. Cancelled instances of recurring events (but not the underlying recurring event) will still be included if 'showDeleted' and 'singleEvents' are both False. If 'showDeleted' and 'singleEvents' are both True, only single instances of deleted events (but not the underlying recurring events) are returned. Optional. The default is False.
-  maxAttendees: integer, The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional.
-  iCalUID: string, Specifies iCalendar UID (iCalUID) of events to be included in the response. Optional.
-  maxResults: integer, Maximum number of events returned on one result page. Optional.
-  timeMax: string, Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time.
-  q: string, Free text search terms to find events that match these terms in any field, except for extended properties. Optional.
-  timeZone: string, Time zone used in the response. Optional. The default is the time zone of the calendar.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Token used to access the next page of this result. Omitted if no further results are available.
-    "kind": "calendar#events", # Type of the collection ("calendar#events").
-    "defaultReminders": [ # The default reminders on the calendar for the authenticated user. These reminders apply to all events on this calendar that do not explicitly override them (i.e. do not have 'reminders.useDefault' set to 'true').
-      {
-        "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-        "method": "A String", # The method used by this reminder. Possible values are:
-            # - "email" - Reminders are sent via email.
-            # - "sms" - Reminders are sent via SMS.
-            # - "popup" - Reminders are sent via a UI popup.
-      },
-    ],
-    "description": "A String", # Description of the calendar. Read-only.
-    "items": [ # List of events on the calendar.
-      {
-          "creator": { # The creator of the event. Read-only.
-            "self": True or False, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-            "displayName": "A String", # The creator's name, if available.
-            "email": "A String", # The creator's email address, if available.
-            "id": "A String", # The creator's Profile ID, if available.
-          },
-          "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
-            "self": True or False, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-            "displayName": "A String", # The organizer's name, if available.
-            "email": "A String", # The organizer's email address, if available.
-            "id": "A String", # The organizer's Profile ID, if available.
-          },
-          "summary": "A String", # Title of the event.
-          "id": "A String", # Identifier of the event.
-          "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
-          "attendees": [ # The attendees of the event.
-            {
-              "comment": "A String", # The attendee's response comment. Optional.
-              "displayName": "A String", # The attendee's name, if available. Optional.
-              "responseStatus": "A String", # The attendee's response status. Possible values are:
-                  # - "needsAction" - The attendee has not responded to the invitation.
-                  # - "declined" - The attendee has declined the invitation.
-                  # - "tentative" - The attendee has tentatively accepted the invitation.
-                  # - "accepted" - The attendee has accepted the invitation.
-              "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
-              "id": "A String", # The attendee's Profile ID, if available.
-              "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
-              "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
-              "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
-              "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
-              "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
-            },
-          ],
-          "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
-            "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-            "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-            "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-          },
-          "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-          "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-            "A String",
-          ],
-          "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
-            "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
-            "title": "A String", # Title of the source; for example a title of a web page or an email subject.
-          },
-          "etag": "A String", # ETag of the resource.
-          "location": "A String", # Geographic location of the event as free-form text. Optional.
-          "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
-          "gadget": { # A gadget that extends this event.
-            "preferences": { # Preferences.
-              "a_key": "A String", # The preference name and corresponding value.
-            },
-            "title": "A String", # The gadget's title.
-            "height": 42, # The gadget's height in pixels. Optional.
-            "width": 42, # The gadget's width in pixels. Optional.
-            "link": "A String", # The gadget's URL.
-            "type": "A String", # The gadget's type.
-            "display": "A String", # The gadget's display mode. Optional. Possible values are:
-                # - "icon" - The gadget displays next to the event's title in the calendar view.
-                # - "chip" - The gadget displays when the event is clicked.
-            "iconLink": "A String", # The gadget's icon URL.
-          },
-          "status": "A String", # Status of the event. Optional. Possible values are:
-              # - "confirmed" - The event is confirmed. This is the default status.
-              # - "tentative" - The event is tentatively confirmed.
-              # - "cancelled" - The event is cancelled.
-          "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
-          "description": "A String", # Description of the event. Optional.
-          "iCalUID": "A String", # Event ID in the iCalendar format.
-          "extendedProperties": { # Extended properties of the event.
-            "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
-              "a_key": "A String", # The name of the shared property and the corresponding value.
-            },
-            "private": { # Properties that are private to the copy of the event that appears on this calendar.
-              "a_key": "A String", # The name of the private property and the corresponding value.
-            },
-          },
-          "endTimeUnspecified": True or False, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
-          "sequence": 42, # Sequence number as per iCalendar.
-          "visibility": "A String", # Visibility of the event. Optional. Possible values are:
-              # - "default" - Uses the default visibility for events on the calendar. This is the default value.
-              # - "public" - The event is public and event details are visible to all readers of the calendar.
-              # - "private" - The event is private and only event attendees may view event details.
-              # - "confidential" - The event is private. This value is provided for compatibility reasons.
-          "guestsCanModify": True or False, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
-          "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
-            "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-            "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-            "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-          },
-          "attendeesOmitted": True or False, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
-          "kind": "calendar#event", # Type of the resource ("calendar#event").
-          "locked": True or False, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
-          "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
-          "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
-          "anyoneCanAddSelf": True or False, # Whether anyone can invite themselves to the event. Optional. The default is False.
-          "reminders": { # Information about the event's reminders for the authenticated user.
-            "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
-              {
-                "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-                "method": "A String", # The method used by this reminder. Possible values are:
-                    # - "email" - Reminders are sent via email.
-                    # - "sms" - Reminders are sent via SMS.
-                    # - "popup" - Reminders are sent via a UI popup.
-              },
-            ],
-            "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
-          },
-          "guestsCanSeeOtherGuests": True or False, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
-          "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
-            "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-            "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-            "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-          },
-          "guestsCanInviteOthers": True or False, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
-          "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
-              # - "opaque" - The event blocks time on the calendar. This is the default value.
-              # - "transparent" - The event does not block time on the calendar.
-          "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
-        },
-    ],
-    "updated": "A String", # Last modification time of the calendar (as a RFC 3339 timestamp). Read-only.
-    "summary": "A String", # Title of the calendar. Read-only.
-    "etag": "A String", # ETag of the collection.
-    "timeZone": "A String", # The time zone of the calendar. Read-only.
-    "accessRole": "A String", # The user's access role for this calendar. Read-only. Possible values are:
-        # - "none" - The user has no access.
-        # - "freeBusyReader" - The user has read access to free/busy information.
-        # - "reader" - The user has read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
-        # - "writer" - The user has read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
-        # - "owner" - The user has ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="move">move(calendarId, eventId, destination, sendNotifications=None)</code>
-  <pre>Moves an event to another calendar, i.e. changes an event's organizer.
-
-Args:
-  calendarId: string, Calendar identifier of the source calendar where the event currently is on. (required)
-  eventId: string, Event identifier. (required)
-  destination: string, Calendar identifier of the target calendar where the event is to be moved to. (required)
-  sendNotifications: boolean, Whether to send notifications about the change of the event's organizer. Optional. The default is False.
-
-Returns:
-  An object of the form:
-
-    {
-      "creator": { # The creator of the event. Read-only.
-        "self": True or False, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-        "displayName": "A String", # The creator's name, if available.
-        "email": "A String", # The creator's email address, if available.
-        "id": "A String", # The creator's Profile ID, if available.
-      },
-      "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
-        "self": True or False, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-        "displayName": "A String", # The organizer's name, if available.
-        "email": "A String", # The organizer's email address, if available.
-        "id": "A String", # The organizer's Profile ID, if available.
-      },
-      "summary": "A String", # Title of the event.
-      "id": "A String", # Identifier of the event.
-      "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
-      "attendees": [ # The attendees of the event.
-        {
-          "comment": "A String", # The attendee's response comment. Optional.
-          "displayName": "A String", # The attendee's name, if available. Optional.
-          "responseStatus": "A String", # The attendee's response status. Possible values are:
-              # - "needsAction" - The attendee has not responded to the invitation.
-              # - "declined" - The attendee has declined the invitation.
-              # - "tentative" - The attendee has tentatively accepted the invitation.
-              # - "accepted" - The attendee has accepted the invitation.
-          "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
-          "id": "A String", # The attendee's Profile ID, if available.
-          "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
-          "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
-          "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
-          "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
-          "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
-        },
-      ],
-      "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-        "A String",
-      ],
-      "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
-        "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
-        "title": "A String", # Title of the source; for example a title of a web page or an email subject.
-      },
-      "etag": "A String", # ETag of the resource.
-      "location": "A String", # Geographic location of the event as free-form text. Optional.
-      "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
-      "gadget": { # A gadget that extends this event.
-        "preferences": { # Preferences.
-          "a_key": "A String", # The preference name and corresponding value.
-        },
-        "title": "A String", # The gadget's title.
-        "height": 42, # The gadget's height in pixels. Optional.
-        "width": 42, # The gadget's width in pixels. Optional.
-        "link": "A String", # The gadget's URL.
-        "type": "A String", # The gadget's type.
-        "display": "A String", # The gadget's display mode. Optional. Possible values are:
-            # - "icon" - The gadget displays next to the event's title in the calendar view.
-            # - "chip" - The gadget displays when the event is clicked.
-        "iconLink": "A String", # The gadget's icon URL.
-      },
-      "status": "A String", # Status of the event. Optional. Possible values are:
-          # - "confirmed" - The event is confirmed. This is the default status.
-          # - "tentative" - The event is tentatively confirmed.
-          # - "cancelled" - The event is cancelled.
-      "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
-      "description": "A String", # Description of the event. Optional.
-      "iCalUID": "A String", # Event ID in the iCalendar format.
-      "extendedProperties": { # Extended properties of the event.
-        "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
-          "a_key": "A String", # The name of the shared property and the corresponding value.
-        },
-        "private": { # Properties that are private to the copy of the event that appears on this calendar.
-          "a_key": "A String", # The name of the private property and the corresponding value.
-        },
-      },
-      "endTimeUnspecified": True or False, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
-      "sequence": 42, # Sequence number as per iCalendar.
-      "visibility": "A String", # Visibility of the event. Optional. Possible values are:
-          # - "default" - Uses the default visibility for events on the calendar. This is the default value.
-          # - "public" - The event is public and event details are visible to all readers of the calendar.
-          # - "private" - The event is private and only event attendees may view event details.
-          # - "confidential" - The event is private. This value is provided for compatibility reasons.
-      "guestsCanModify": True or False, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
-      "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "attendeesOmitted": True or False, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
-      "kind": "calendar#event", # Type of the resource ("calendar#event").
-      "locked": True or False, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
-      "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
-      "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
-      "anyoneCanAddSelf": True or False, # Whether anyone can invite themselves to the event. Optional. The default is False.
-      "reminders": { # Information about the event's reminders for the authenticated user.
-        "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
-          {
-            "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-            "method": "A String", # The method used by this reminder. Possible values are:
-                # - "email" - Reminders are sent via email.
-                # - "sms" - Reminders are sent via SMS.
-                # - "popup" - Reminders are sent via a UI popup.
-          },
-        ],
-        "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
-      },
-      "guestsCanSeeOtherGuests": True or False, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
-      "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "guestsCanInviteOthers": True or False, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
-      "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
-          # - "opaque" - The event blocks time on the calendar. This is the default value.
-          # - "transparent" - The event does not block time on the calendar.
-      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(calendarId, eventId, body, sendNotifications=None, alwaysIncludeEmail=None, maxAttendees=None)</code>
-  <pre>Updates an event. This method supports patch semantics.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  eventId: string, Event identifier. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "creator": { # The creator of the event. Read-only.
-      "self": True or False, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-      "displayName": "A String", # The creator's name, if available.
-      "email": "A String", # The creator's email address, if available.
-      "id": "A String", # The creator's Profile ID, if available.
-    },
-    "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
-      "self": True or False, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-      "displayName": "A String", # The organizer's name, if available.
-      "email": "A String", # The organizer's email address, if available.
-      "id": "A String", # The organizer's Profile ID, if available.
-    },
-    "summary": "A String", # Title of the event.
-    "id": "A String", # Identifier of the event.
-    "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
-    "attendees": [ # The attendees of the event.
-      {
-        "comment": "A String", # The attendee's response comment. Optional.
-        "displayName": "A String", # The attendee's name, if available. Optional.
-        "responseStatus": "A String", # The attendee's response status. Possible values are:
-            # - "needsAction" - The attendee has not responded to the invitation.
-            # - "declined" - The attendee has declined the invitation.
-            # - "tentative" - The attendee has tentatively accepted the invitation.
-            # - "accepted" - The attendee has accepted the invitation.
-        "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
-        "id": "A String", # The attendee's Profile ID, if available.
-        "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
-        "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
-        "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
-        "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
-        "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
-      },
-    ],
-    "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
-      "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-      "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-    },
-    "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-    "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-      "A String",
-    ],
-    "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
-      "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
-      "title": "A String", # Title of the source; for example a title of a web page or an email subject.
-    },
-    "etag": "A String", # ETag of the resource.
-    "location": "A String", # Geographic location of the event as free-form text. Optional.
-    "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
-    "gadget": { # A gadget that extends this event.
-      "preferences": { # Preferences.
-        "a_key": "A String", # The preference name and corresponding value.
-      },
-      "title": "A String", # The gadget's title.
-      "height": 42, # The gadget's height in pixels. Optional.
-      "width": 42, # The gadget's width in pixels. Optional.
-      "link": "A String", # The gadget's URL.
-      "type": "A String", # The gadget's type.
-      "display": "A String", # The gadget's display mode. Optional. Possible values are:
-          # - "icon" - The gadget displays next to the event's title in the calendar view.
-          # - "chip" - The gadget displays when the event is clicked.
-      "iconLink": "A String", # The gadget's icon URL.
-    },
-    "status": "A String", # Status of the event. Optional. Possible values are:
-        # - "confirmed" - The event is confirmed. This is the default status.
-        # - "tentative" - The event is tentatively confirmed.
-        # - "cancelled" - The event is cancelled.
-    "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
-    "description": "A String", # Description of the event. Optional.
-    "iCalUID": "A String", # Event ID in the iCalendar format.
-    "extendedProperties": { # Extended properties of the event.
-      "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
-        "a_key": "A String", # The name of the shared property and the corresponding value.
-      },
-      "private": { # Properties that are private to the copy of the event that appears on this calendar.
-        "a_key": "A String", # The name of the private property and the corresponding value.
-      },
-    },
-    "endTimeUnspecified": True or False, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
-    "sequence": 42, # Sequence number as per iCalendar.
-    "visibility": "A String", # Visibility of the event. Optional. Possible values are:
-        # - "default" - Uses the default visibility for events on the calendar. This is the default value.
-        # - "public" - The event is public and event details are visible to all readers of the calendar.
-        # - "private" - The event is private and only event attendees may view event details.
-        # - "confidential" - The event is private. This value is provided for compatibility reasons.
-    "guestsCanModify": True or False, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
-    "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
-      "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-      "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-    },
-    "attendeesOmitted": True or False, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
-    "kind": "calendar#event", # Type of the resource ("calendar#event").
-    "locked": True or False, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
-    "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
-    "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
-    "anyoneCanAddSelf": True or False, # Whether anyone can invite themselves to the event. Optional. The default is False.
-    "reminders": { # Information about the event's reminders for the authenticated user.
-      "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
-        {
-          "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-          "method": "A String", # The method used by this reminder. Possible values are:
-              # - "email" - Reminders are sent via email.
-              # - "sms" - Reminders are sent via SMS.
-              # - "popup" - Reminders are sent via a UI popup.
-        },
-      ],
-      "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
-    },
-    "guestsCanSeeOtherGuests": True or False, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
-    "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
-      "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-      "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-    },
-    "guestsCanInviteOthers": True or False, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
-    "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
-        # - "opaque" - The event blocks time on the calendar. This is the default value.
-        # - "transparent" - The event does not block time on the calendar.
-    "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
-  }
-
-  sendNotifications: boolean, Whether to send notifications about the event update (e.g. attendee's responses, title changes, etc.). Optional. The default is False.
-  alwaysIncludeEmail: boolean, Whether to always include a value in the "email" field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False.
-  maxAttendees: integer, The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional.
-
-Returns:
-  An object of the form:
-
-    {
-      "creator": { # The creator of the event. Read-only.
-        "self": True or False, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-        "displayName": "A String", # The creator's name, if available.
-        "email": "A String", # The creator's email address, if available.
-        "id": "A String", # The creator's Profile ID, if available.
-      },
-      "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
-        "self": True or False, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-        "displayName": "A String", # The organizer's name, if available.
-        "email": "A String", # The organizer's email address, if available.
-        "id": "A String", # The organizer's Profile ID, if available.
-      },
-      "summary": "A String", # Title of the event.
-      "id": "A String", # Identifier of the event.
-      "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
-      "attendees": [ # The attendees of the event.
-        {
-          "comment": "A String", # The attendee's response comment. Optional.
-          "displayName": "A String", # The attendee's name, if available. Optional.
-          "responseStatus": "A String", # The attendee's response status. Possible values are:
-              # - "needsAction" - The attendee has not responded to the invitation.
-              # - "declined" - The attendee has declined the invitation.
-              # - "tentative" - The attendee has tentatively accepted the invitation.
-              # - "accepted" - The attendee has accepted the invitation.
-          "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
-          "id": "A String", # The attendee's Profile ID, if available.
-          "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
-          "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
-          "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
-          "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
-          "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
-        },
-      ],
-      "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-        "A String",
-      ],
-      "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
-        "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
-        "title": "A String", # Title of the source; for example a title of a web page or an email subject.
-      },
-      "etag": "A String", # ETag of the resource.
-      "location": "A String", # Geographic location of the event as free-form text. Optional.
-      "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
-      "gadget": { # A gadget that extends this event.
-        "preferences": { # Preferences.
-          "a_key": "A String", # The preference name and corresponding value.
-        },
-        "title": "A String", # The gadget's title.
-        "height": 42, # The gadget's height in pixels. Optional.
-        "width": 42, # The gadget's width in pixels. Optional.
-        "link": "A String", # The gadget's URL.
-        "type": "A String", # The gadget's type.
-        "display": "A String", # The gadget's display mode. Optional. Possible values are:
-            # - "icon" - The gadget displays next to the event's title in the calendar view.
-            # - "chip" - The gadget displays when the event is clicked.
-        "iconLink": "A String", # The gadget's icon URL.
-      },
-      "status": "A String", # Status of the event. Optional. Possible values are:
-          # - "confirmed" - The event is confirmed. This is the default status.
-          # - "tentative" - The event is tentatively confirmed.
-          # - "cancelled" - The event is cancelled.
-      "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
-      "description": "A String", # Description of the event. Optional.
-      "iCalUID": "A String", # Event ID in the iCalendar format.
-      "extendedProperties": { # Extended properties of the event.
-        "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
-          "a_key": "A String", # The name of the shared property and the corresponding value.
-        },
-        "private": { # Properties that are private to the copy of the event that appears on this calendar.
-          "a_key": "A String", # The name of the private property and the corresponding value.
-        },
-      },
-      "endTimeUnspecified": True or False, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
-      "sequence": 42, # Sequence number as per iCalendar.
-      "visibility": "A String", # Visibility of the event. Optional. Possible values are:
-          # - "default" - Uses the default visibility for events on the calendar. This is the default value.
-          # - "public" - The event is public and event details are visible to all readers of the calendar.
-          # - "private" - The event is private and only event attendees may view event details.
-          # - "confidential" - The event is private. This value is provided for compatibility reasons.
-      "guestsCanModify": True or False, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
-      "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "attendeesOmitted": True or False, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
-      "kind": "calendar#event", # Type of the resource ("calendar#event").
-      "locked": True or False, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
-      "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
-      "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
-      "anyoneCanAddSelf": True or False, # Whether anyone can invite themselves to the event. Optional. The default is False.
-      "reminders": { # Information about the event's reminders for the authenticated user.
-        "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
-          {
-            "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-            "method": "A String", # The method used by this reminder. Possible values are:
-                # - "email" - Reminders are sent via email.
-                # - "sms" - Reminders are sent via SMS.
-                # - "popup" - Reminders are sent via a UI popup.
-          },
-        ],
-        "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
-      },
-      "guestsCanSeeOtherGuests": True or False, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
-      "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "guestsCanInviteOthers": True or False, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
-      "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
-          # - "opaque" - The event blocks time on the calendar. This is the default value.
-          # - "transparent" - The event does not block time on the calendar.
-      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="quickAdd">quickAdd(calendarId, text, sendNotifications=None)</code>
-  <pre>Creates an event based on a simple text string.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  text: string, The text describing the event to be created. (required)
-  sendNotifications: boolean, Whether to send notifications about the creation of the event. Optional. The default is False.
-
-Returns:
-  An object of the form:
-
-    {
-      "creator": { # The creator of the event. Read-only.
-        "self": True or False, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-        "displayName": "A String", # The creator's name, if available.
-        "email": "A String", # The creator's email address, if available.
-        "id": "A String", # The creator's Profile ID, if available.
-      },
-      "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
-        "self": True or False, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-        "displayName": "A String", # The organizer's name, if available.
-        "email": "A String", # The organizer's email address, if available.
-        "id": "A String", # The organizer's Profile ID, if available.
-      },
-      "summary": "A String", # Title of the event.
-      "id": "A String", # Identifier of the event.
-      "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
-      "attendees": [ # The attendees of the event.
-        {
-          "comment": "A String", # The attendee's response comment. Optional.
-          "displayName": "A String", # The attendee's name, if available. Optional.
-          "responseStatus": "A String", # The attendee's response status. Possible values are:
-              # - "needsAction" - The attendee has not responded to the invitation.
-              # - "declined" - The attendee has declined the invitation.
-              # - "tentative" - The attendee has tentatively accepted the invitation.
-              # - "accepted" - The attendee has accepted the invitation.
-          "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
-          "id": "A String", # The attendee's Profile ID, if available.
-          "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
-          "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
-          "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
-          "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
-          "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
-        },
-      ],
-      "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-        "A String",
-      ],
-      "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
-        "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
-        "title": "A String", # Title of the source; for example a title of a web page or an email subject.
-      },
-      "etag": "A String", # ETag of the resource.
-      "location": "A String", # Geographic location of the event as free-form text. Optional.
-      "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
-      "gadget": { # A gadget that extends this event.
-        "preferences": { # Preferences.
-          "a_key": "A String", # The preference name and corresponding value.
-        },
-        "title": "A String", # The gadget's title.
-        "height": 42, # The gadget's height in pixels. Optional.
-        "width": 42, # The gadget's width in pixels. Optional.
-        "link": "A String", # The gadget's URL.
-        "type": "A String", # The gadget's type.
-        "display": "A String", # The gadget's display mode. Optional. Possible values are:
-            # - "icon" - The gadget displays next to the event's title in the calendar view.
-            # - "chip" - The gadget displays when the event is clicked.
-        "iconLink": "A String", # The gadget's icon URL.
-      },
-      "status": "A String", # Status of the event. Optional. Possible values are:
-          # - "confirmed" - The event is confirmed. This is the default status.
-          # - "tentative" - The event is tentatively confirmed.
-          # - "cancelled" - The event is cancelled.
-      "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
-      "description": "A String", # Description of the event. Optional.
-      "iCalUID": "A String", # Event ID in the iCalendar format.
-      "extendedProperties": { # Extended properties of the event.
-        "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
-          "a_key": "A String", # The name of the shared property and the corresponding value.
-        },
-        "private": { # Properties that are private to the copy of the event that appears on this calendar.
-          "a_key": "A String", # The name of the private property and the corresponding value.
-        },
-      },
-      "endTimeUnspecified": True or False, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
-      "sequence": 42, # Sequence number as per iCalendar.
-      "visibility": "A String", # Visibility of the event. Optional. Possible values are:
-          # - "default" - Uses the default visibility for events on the calendar. This is the default value.
-          # - "public" - The event is public and event details are visible to all readers of the calendar.
-          # - "private" - The event is private and only event attendees may view event details.
-          # - "confidential" - The event is private. This value is provided for compatibility reasons.
-      "guestsCanModify": True or False, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
-      "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "attendeesOmitted": True or False, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
-      "kind": "calendar#event", # Type of the resource ("calendar#event").
-      "locked": True or False, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
-      "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
-      "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
-      "anyoneCanAddSelf": True or False, # Whether anyone can invite themselves to the event. Optional. The default is False.
-      "reminders": { # Information about the event's reminders for the authenticated user.
-        "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
-          {
-            "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-            "method": "A String", # The method used by this reminder. Possible values are:
-                # - "email" - Reminders are sent via email.
-                # - "sms" - Reminders are sent via SMS.
-                # - "popup" - Reminders are sent via a UI popup.
-          },
-        ],
-        "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
-      },
-      "guestsCanSeeOtherGuests": True or False, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
-      "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "guestsCanInviteOthers": True or False, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
-      "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
-          # - "opaque" - The event blocks time on the calendar. This is the default value.
-          # - "transparent" - The event does not block time on the calendar.
-      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(calendarId, eventId, body, sendNotifications=None, alwaysIncludeEmail=None, maxAttendees=None)</code>
-  <pre>Updates an event.
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  eventId: string, Event identifier. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "creator": { # The creator of the event. Read-only.
-      "self": True or False, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-      "displayName": "A String", # The creator's name, if available.
-      "email": "A String", # The creator's email address, if available.
-      "id": "A String", # The creator's Profile ID, if available.
-    },
-    "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
-      "self": True or False, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-      "displayName": "A String", # The organizer's name, if available.
-      "email": "A String", # The organizer's email address, if available.
-      "id": "A String", # The organizer's Profile ID, if available.
-    },
-    "summary": "A String", # Title of the event.
-    "id": "A String", # Identifier of the event.
-    "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
-    "attendees": [ # The attendees of the event.
-      {
-        "comment": "A String", # The attendee's response comment. Optional.
-        "displayName": "A String", # The attendee's name, if available. Optional.
-        "responseStatus": "A String", # The attendee's response status. Possible values are:
-            # - "needsAction" - The attendee has not responded to the invitation.
-            # - "declined" - The attendee has declined the invitation.
-            # - "tentative" - The attendee has tentatively accepted the invitation.
-            # - "accepted" - The attendee has accepted the invitation.
-        "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
-        "id": "A String", # The attendee's Profile ID, if available.
-        "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
-        "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
-        "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
-        "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
-        "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
-      },
-    ],
-    "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
-      "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-      "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-    },
-    "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-    "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-      "A String",
-    ],
-    "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
-      "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
-      "title": "A String", # Title of the source; for example a title of a web page or an email subject.
-    },
-    "etag": "A String", # ETag of the resource.
-    "location": "A String", # Geographic location of the event as free-form text. Optional.
-    "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
-    "gadget": { # A gadget that extends this event.
-      "preferences": { # Preferences.
-        "a_key": "A String", # The preference name and corresponding value.
-      },
-      "title": "A String", # The gadget's title.
-      "height": 42, # The gadget's height in pixels. Optional.
-      "width": 42, # The gadget's width in pixels. Optional.
-      "link": "A String", # The gadget's URL.
-      "type": "A String", # The gadget's type.
-      "display": "A String", # The gadget's display mode. Optional. Possible values are:
-          # - "icon" - The gadget displays next to the event's title in the calendar view.
-          # - "chip" - The gadget displays when the event is clicked.
-      "iconLink": "A String", # The gadget's icon URL.
-    },
-    "status": "A String", # Status of the event. Optional. Possible values are:
-        # - "confirmed" - The event is confirmed. This is the default status.
-        # - "tentative" - The event is tentatively confirmed.
-        # - "cancelled" - The event is cancelled.
-    "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
-    "description": "A String", # Description of the event. Optional.
-    "iCalUID": "A String", # Event ID in the iCalendar format.
-    "extendedProperties": { # Extended properties of the event.
-      "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
-        "a_key": "A String", # The name of the shared property and the corresponding value.
-      },
-      "private": { # Properties that are private to the copy of the event that appears on this calendar.
-        "a_key": "A String", # The name of the private property and the corresponding value.
-      },
-    },
-    "endTimeUnspecified": True or False, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
-    "sequence": 42, # Sequence number as per iCalendar.
-    "visibility": "A String", # Visibility of the event. Optional. Possible values are:
-        # - "default" - Uses the default visibility for events on the calendar. This is the default value.
-        # - "public" - The event is public and event details are visible to all readers of the calendar.
-        # - "private" - The event is private and only event attendees may view event details.
-        # - "confidential" - The event is private. This value is provided for compatibility reasons.
-    "guestsCanModify": True or False, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
-    "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
-      "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-      "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-    },
-    "attendeesOmitted": True or False, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
-    "kind": "calendar#event", # Type of the resource ("calendar#event").
-    "locked": True or False, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
-    "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
-    "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
-    "anyoneCanAddSelf": True or False, # Whether anyone can invite themselves to the event. Optional. The default is False.
-    "reminders": { # Information about the event's reminders for the authenticated user.
-      "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
-        {
-          "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-          "method": "A String", # The method used by this reminder. Possible values are:
-              # - "email" - Reminders are sent via email.
-              # - "sms" - Reminders are sent via SMS.
-              # - "popup" - Reminders are sent via a UI popup.
-        },
-      ],
-      "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
-    },
-    "guestsCanSeeOtherGuests": True or False, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
-    "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
-      "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-      "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-    },
-    "guestsCanInviteOthers": True or False, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
-    "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
-        # - "opaque" - The event blocks time on the calendar. This is the default value.
-        # - "transparent" - The event does not block time on the calendar.
-    "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
-  }
-
-  sendNotifications: boolean, Whether to send notifications about the event update (e.g. attendee's responses, title changes, etc.). Optional. The default is False.
-  alwaysIncludeEmail: boolean, Whether to always include a value in the "email" field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False.
-  maxAttendees: integer, The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional.
-
-Returns:
-  An object of the form:
-
-    {
-      "creator": { # The creator of the event. Read-only.
-        "self": True or False, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-        "displayName": "A String", # The creator's name, if available.
-        "email": "A String", # The creator's email address, if available.
-        "id": "A String", # The creator's Profile ID, if available.
-      },
-      "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
-        "self": True or False, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
-        "displayName": "A String", # The organizer's name, if available.
-        "email": "A String", # The organizer's email address, if available.
-        "id": "A String", # The organizer's Profile ID, if available.
-      },
-      "summary": "A String", # Title of the event.
-      "id": "A String", # Identifier of the event.
-      "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
-      "attendees": [ # The attendees of the event.
-        {
-          "comment": "A String", # The attendee's response comment. Optional.
-          "displayName": "A String", # The attendee's name, if available. Optional.
-          "responseStatus": "A String", # The attendee's response status. Possible values are:
-              # - "needsAction" - The attendee has not responded to the invitation.
-              # - "declined" - The attendee has declined the invitation.
-              # - "tentative" - The attendee has tentatively accepted the invitation.
-              # - "accepted" - The attendee has accepted the invitation.
-          "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
-          "id": "A String", # The attendee's Profile ID, if available.
-          "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
-          "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
-          "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
-          "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
-          "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
-        },
-      ],
-      "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-        "A String",
-      ],
-      "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
-        "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
-        "title": "A String", # Title of the source; for example a title of a web page or an email subject.
-      },
-      "etag": "A String", # ETag of the resource.
-      "location": "A String", # Geographic location of the event as free-form text. Optional.
-      "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
-      "gadget": { # A gadget that extends this event.
-        "preferences": { # Preferences.
-          "a_key": "A String", # The preference name and corresponding value.
-        },
-        "title": "A String", # The gadget's title.
-        "height": 42, # The gadget's height in pixels. Optional.
-        "width": 42, # The gadget's width in pixels. Optional.
-        "link": "A String", # The gadget's URL.
-        "type": "A String", # The gadget's type.
-        "display": "A String", # The gadget's display mode. Optional. Possible values are:
-            # - "icon" - The gadget displays next to the event's title in the calendar view.
-            # - "chip" - The gadget displays when the event is clicked.
-        "iconLink": "A String", # The gadget's icon URL.
-      },
-      "status": "A String", # Status of the event. Optional. Possible values are:
-          # - "confirmed" - The event is confirmed. This is the default status.
-          # - "tentative" - The event is tentatively confirmed.
-          # - "cancelled" - The event is cancelled.
-      "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
-      "description": "A String", # Description of the event. Optional.
-      "iCalUID": "A String", # Event ID in the iCalendar format.
-      "extendedProperties": { # Extended properties of the event.
-        "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
-          "a_key": "A String", # The name of the shared property and the corresponding value.
-        },
-        "private": { # Properties that are private to the copy of the event that appears on this calendar.
-          "a_key": "A String", # The name of the private property and the corresponding value.
-        },
-      },
-      "endTimeUnspecified": True or False, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
-      "sequence": 42, # Sequence number as per iCalendar.
-      "visibility": "A String", # Visibility of the event. Optional. Possible values are:
-          # - "default" - Uses the default visibility for events on the calendar. This is the default value.
-          # - "public" - The event is public and event details are visible to all readers of the calendar.
-          # - "private" - The event is private and only event attendees may view event details.
-          # - "confidential" - The event is private. This value is provided for compatibility reasons.
-      "guestsCanModify": True or False, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
-      "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "attendeesOmitted": True or False, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
-      "kind": "calendar#event", # Type of the resource ("calendar#event").
-      "locked": True or False, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
-      "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
-      "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
-      "anyoneCanAddSelf": True or False, # Whether anyone can invite themselves to the event. Optional. The default is False.
-      "reminders": { # Information about the event's reminders for the authenticated user.
-        "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
-          {
-            "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
-            "method": "A String", # The method used by this reminder. Possible values are:
-                # - "email" - Reminders are sent via email.
-                # - "sms" - Reminders are sent via SMS.
-                # - "popup" - Reminders are sent via a UI popup.
-          },
-        ],
-        "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
-      },
-      "guestsCanSeeOtherGuests": True or False, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
-      "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
-        "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
-        "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
-      },
-      "guestsCanInviteOthers": True or False, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
-      "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
-          # - "opaque" - The event blocks time on the calendar. This is the default value.
-          # - "transparent" - The event does not block time on the calendar.
-      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="watch">watch(calendarId, body, orderBy=None, showHiddenInvitations=None, timeMin=None, pageToken=None, updatedMin=None, singleEvents=None, alwaysIncludeEmail=None, showDeleted=None, maxAttendees=None, iCalUID=None, maxResults=None, timeMax=None, q=None, timeZone=None)</code>
-  <pre>Subscribe to changes in events collection
-
-Args:
-  calendarId: string, Calendar identifier. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "resourceUri": "A String", # The canonicalized ID of the watched resource.
-    "kind": "api#channel", # A channel watching an API resource
-    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
-    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
-    "params": { # Additional parameters controlling delivery channel behavior
-      "a_key": "A String", # Declares a new parameter by name.
-    },
-    "expiration": "A String", # The expiration instant for this channel if it is defined.
-    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
-    "type": "A String", # The type of delivery mechanism used by this channel
-    "id": "A String", # A UUID for the channel
-  }
-
-  orderBy: string, The order of the events returned in the result. Optional. The default is an unspecified, stable order.
-    Allowed values
-      startTime - Order by the start date/time (ascending). This is only available when querying single events (i.e. the parameter "singleEvents" is True)
-      updated - Order by last modification time (ascending).
-  showHiddenInvitations: boolean, Whether to include hidden invitations in the result. Optional. The default is False.
-  timeMin: string, Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time.
-  pageToken: string, Token specifying which result page to return. Optional.
-  updatedMin: string, Lower bound for an event's last modification time (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by last modification time.
-  singleEvents: boolean, Whether to expand recurring events into instances and only return single one-off events and instances of recurring events, but not the underlying recurring events themselves. Optional. The default is False.
-  alwaysIncludeEmail: boolean, Whether to always include a value in the "email" field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False.
-  showDeleted: boolean, Whether to include deleted events (with 'status' equals 'cancelled') in the result. Cancelled instances of recurring events (but not the underlying recurring event) will still be included if 'showDeleted' and 'singleEvents' are both False. If 'showDeleted' and 'singleEvents' are both True, only single instances of deleted events (but not the underlying recurring events) are returned. Optional. The default is False.
-  maxAttendees: integer, The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional.
-  iCalUID: string, Specifies iCalendar UID (iCalUID) of events to be included in the response. Optional.
-  maxResults: integer, Maximum number of events returned on one result page. Optional.
-  timeMax: string, Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time.
-  q: string, Free text search terms to find events that match these terms in any field, except for extended properties. Optional.
-  timeZone: string, Time zone used in the response. Optional. The default is the time zone of the calendar.
-
-Returns:
-  An object of the form:
-
-    {
-      "resourceUri": "A String", # The canonicalized ID of the watched resource.
-      "kind": "api#channel", # A channel watching an API resource
-      "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
-      "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
-      "params": { # Additional parameters controlling delivery channel behavior
-        "a_key": "A String", # Declares a new parameter by name.
-      },
-      "expiration": "A String", # The expiration instant for this channel if it is defined.
-      "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
-      "type": "A String", # The type of delivery mechanism used by this channel
-      "id": "A String", # A UUID for the channel
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/calendar_v3.freebusy.html b/docs/dyn/calendar_v3.freebusy.html
deleted file mode 100644
index fcedb03..0000000
--- a/docs/dyn/calendar_v3.freebusy.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="calendar_v3.html">Calendar API</a> . <a href="calendar_v3.freebusy.html">freebusy</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#query">query(body)</a></code></p>
-<p class="firstline">Returns free/busy information for a set of calendars.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="query">query(body)</code>
-  <pre>Returns free/busy information for a set of calendars.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "calendarExpansionMax": 42, # Maximal number of calendars for which FreeBusy information is to be provided. Optional.
-    "groupExpansionMax": 42, # Maximal number of calendar identifiers to be provided for a single group. Optional. An error will be returned for a group with more members than this value.
-    "timeMax": "A String", # The end of the interval for the query.
-    "items": [ # List of calendars and/or groups to query.
-      {
-        "id": "A String", # The identifier of a calendar or a group.
-      },
-    ],
-    "timeMin": "A String", # The start of the interval for the query.
-    "timeZone": "A String", # Time zone used in the response. Optional. The default is UTC.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "timeMax": "A String", # The end of the interval.
-    "kind": "calendar#freeBusy", # Type of the resource ("calendar#freeBusy").
-    "calendars": { # List of free/busy information for calendars.
-      "a_key": { # Free/busy expansions for a single calendar.
-        "busy": [ # List of time ranges during which this calendar should be regarded as busy.
-          {
-            "start": "A String", # The (inclusive) start of the time period.
-            "end": "A String", # The (exclusive) end of the time period.
-          },
-        ],
-        "errors": [ # Optional error(s) (if computation for the calendar failed).
-          {
-            "domain": "A String", # Domain, or broad category, of the error.
-            "reason": "A String", # Specific reason for the error. Some of the possible values are:
-                # - "groupTooBig" - The group of users requested is too large for a single query.
-                # - "tooManyCalendarsRequested" - The number of calendars requested is too large for a single query.
-                # - "notFound" - The requested resource was not found.
-                # - "internalError" - The API service has encountered an internal error.  Additional error types may be added in the future, so clients should gracefully handle additional error statuses not included in this list.
-          },
-        ],
-      },
-    },
-    "timeMin": "A String", # The start of the interval.
-    "groups": { # Expansion of groups.
-      "a_key": { # List of calendars that are members of this group.
-        "errors": [ # Optional error(s) (if computation for the group failed).
-          {
-            "domain": "A String", # Domain, or broad category, of the error.
-            "reason": "A String", # Specific reason for the error. Some of the possible values are:
-                # - "groupTooBig" - The group of users requested is too large for a single query.
-                # - "tooManyCalendarsRequested" - The number of calendars requested is too large for a single query.
-                # - "notFound" - The requested resource was not found.
-                # - "internalError" - The API service has encountered an internal error.  Additional error types may be added in the future, so clients should gracefully handle additional error statuses not included in this list.
-          },
-        ],
-        "calendars": [ # List of calendars' identifiers within a group.
-          "A String",
-        ],
-      },
-    },
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/calendar_v3.html b/docs/dyn/calendar_v3.html
deleted file mode 100644
index 1681f9d..0000000
--- a/docs/dyn/calendar_v3.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="calendar_v3.html">Calendar API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="calendar_v3.acl.html">acl()</a></code>
-</p>
-<p class="firstline">Returns the acl Resource.</p>
-
-<p class="toc_element">
-  <code><a href="calendar_v3.calendarList.html">calendarList()</a></code>
-</p>
-<p class="firstline">Returns the calendarList Resource.</p>
-
-<p class="toc_element">
-  <code><a href="calendar_v3.calendars.html">calendars()</a></code>
-</p>
-<p class="firstline">Returns the calendars Resource.</p>
-
-<p class="toc_element">
-  <code><a href="calendar_v3.channels.html">channels()</a></code>
-</p>
-<p class="firstline">Returns the channels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="calendar_v3.colors.html">colors()</a></code>
-</p>
-<p class="firstline">Returns the colors Resource.</p>
-
-<p class="toc_element">
-  <code><a href="calendar_v3.events.html">events()</a></code>
-</p>
-<p class="firstline">Returns the events Resource.</p>
-
-<p class="toc_element">
-  <code><a href="calendar_v3.freebusy.html">freebusy()</a></code>
-</p>
-<p class="firstline">Returns the freebusy Resource.</p>
-
-<p class="toc_element">
-  <code><a href="calendar_v3.settings.html">settings()</a></code>
-</p>
-<p class="firstline">Returns the settings Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/calendar_v3.settings.html b/docs/dyn/calendar_v3.settings.html
deleted file mode 100644
index d55b1dd..0000000
--- a/docs/dyn/calendar_v3.settings.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="calendar_v3.html">Calendar API</a> . <a href="calendar_v3.settings.html">settings</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(setting)</a></code></p>
-<p class="firstline">Returns a single user setting.</p>
-<p class="toc_element">
-  <code><a href="#list">list()</a></code></p>
-<p class="firstline">Returns all user settings for the authenticated user.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(setting)</code>
-  <pre>Returns a single user setting.
-
-Args:
-  setting: string, Name of the user setting. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "calendar#setting", # Type of the resource ("calendar#setting").
-    "etag": "A String", # ETag of the resource.
-    "id": "A String", # Name of the user setting.
-    "value": "A String", # Value of the user setting. The format of the value depends on the ID of the setting.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list()</code>
-  <pre>Returns all user settings for the authenticated user.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # List of user settings.
-      {
-        "kind": "calendar#setting", # Type of the resource ("calendar#setting").
-        "etag": "A String", # ETag of the resource.
-        "id": "A String", # Name of the user setting.
-        "value": "A String", # Value of the user setting. The format of the value depends on the ID of the setting.
-      },
-    ],
-    "kind": "calendar#settings", # Type of the collection ("calendar#settings").
-    "etag": "A String", # Etag of the collection.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/civicinfo_us_v1.elections.html b/docs/dyn/civicinfo_us_v1.elections.html
deleted file mode 100644
index af9b880..0000000
--- a/docs/dyn/civicinfo_us_v1.elections.html
+++ /dev/null
@@ -1,294 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="civicinfo_us_v1.html">Google Civic Information API</a> . <a href="civicinfo_us_v1.elections.html">elections</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#electionQuery">electionQuery()</a></code></p>
-<p class="firstline">List of available elections to query.</p>
-<p class="toc_element">
-  <code><a href="#voterInfoQuery">voterInfoQuery(electionId, body, officialOnly=None)</a></code></p>
-<p class="firstline">Looks up information relevant to a voter based on the voter's registered address.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="electionQuery">electionQuery()</code>
-  <pre>List of available elections to query.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    { # The list of elections available for this version of the API.
-    "kind": "civicinfo#electionsQueryResponse", # The kind, fixed to "civicinfo#electionsQueryResponse".
-    "elections": [ # A list of available elections
-      { # Information about the election that was queried.
-        "electionDay": "A String", # Day of the election in YYYY-MM-DD format.
-        "id": "A String", # The unique ID of this election.
-        "name": "A String", # A displayable name for the election.
-      },
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="voterInfoQuery">voterInfoQuery(electionId, body, officialOnly=None)</code>
-  <pre>Looks up information relevant to a voter based on the voter's registered address.
-
-Args:
-  electionId: string, The unique ID of the election to look up. A list of election IDs can be obtained at.https://www.googleapis.com/civicinfo/{version}/elections (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A request for information about a voter.
-    "address": "A String", # The registered address of the voter to look up.
-  }
-
-  officialOnly: boolean, If set to true, only data from official state sources will be returned.
-
-Returns:
-  An object of the form:
-
-    { # The result of a voter info lookup query.
-    "status": "A String", # The result of the request. One of: success, noStreetSegmentFound, addressUnparseable, noAddressParameter, multipleStreetSegmentsFound, electionOver, electionUnknown, internalLookupFailure
-    "earlyVoteSites": [ # Locations where the voter is eligible to vote early, prior to election day
-      { # A location where a voter can vote. This may be an early vote site or an election day voting location.
-        "startDate": "A String", # The first date that this early vote site may be used. This field is not populated for polling locations.
-        "pollingHours": "A String", # A description of when this location is open.
-        "endDate": "A String", # The last date that this early vote site may be used. This field is not populated for polling locations.
-        "name": "A String", # The name of the early vote site. This field is not populated for polling locations.
-        "notes": "A String", # Notes about this location (e.g. accessibility ramp or entrance to use)
-        "voterServices": "A String", # The services provided by this early vote site. This field is not populated for polling locations.
-        "sources": [ # A list of sources for this location. If multiple sources are listed the data has been aggregated from those sources.
-          { # Contains information about the data source for the element containing it.
-            "official": True or False, # Whether this data comes from an official government source.
-            "name": "A String", # The name of the data source.
-          },
-        ],
-        "address": { # A simple representation of an address. # The address of the location
-          "city": "A String", # The city or town for the address.
-          "zip": "A String", # The US Postal Zip Code of the address.
-          "line3": "A String", # The third line of the address, if needed.
-          "line2": "A String", # The second line the address, if needed.
-          "line1": "A String", # The street name and number of this address.
-          "locationName": "A String", # The name of the location.
-          "state": "A String", # The US two letter state abbreviation of the address.
-        },
-        "id": "A String", # An ID for this object. IDs may change in future requests and should not be cached. Access to this field requires special access that can be requested from the Request more link on the Quotas page.
-      },
-    ],
-    "kind": "civicinfo#voterInfoResponse", # The kind, fixed to "civicinfo#voterInfoResponse".
-    "normalizedInput": { # A simple representation of an address. # The normalized version of the requested address
-      "city": "A String", # The city or town for the address.
-      "zip": "A String", # The US Postal Zip Code of the address.
-      "line3": "A String", # The third line of the address, if needed.
-      "line2": "A String", # The second line the address, if needed.
-      "line1": "A String", # The street name and number of this address.
-      "locationName": "A String", # The name of the location.
-      "state": "A String", # The US two letter state abbreviation of the address.
-    },
-    "state": [ # Local Election Information for the state that the voter votes in. For the US, there will only be one element in this array.
-      { # Describes information about a regional election administrative area.
-        "local_jurisdiction": # Object with schema name: AdministrationRegion # The city or county that provides election information for this voter. This object can have the same elements as state.
-        "sources": [ # A list of sources for this area. If multiple sources are listed the data has been aggregated from those sources.
-          { # Contains information about the data source for the element containing it.
-            "official": True or False, # Whether this data comes from an official government source.
-            "name": "A String", # The name of the data source.
-          },
-        ],
-        "electionAdministrationBody": { # Information about an election administrative body (e.g. County Board of Elections). # The election administration body for this area.
-          "absenteeVotingInfoUrl": "A String", # A URL provided by this administrative body for information on absentee voting.
-          "votingLocationFinderUrl": "A String", # A URL provided by this administrative body for looking up where to vote.
-          "name": "A String", # The name of this election administrative body.
-          "electionRegistrationConfirmationUrl": "A String", # A URL provided by this administrative body for confirming that the voter is registered to vote.
-          "correspondenceAddress": { # A simple representation of an address. # The mailing address of this administrative body.
-            "city": "A String", # The city or town for the address.
-            "zip": "A String", # The US Postal Zip Code of the address.
-            "line3": "A String", # The third line of the address, if needed.
-            "line2": "A String", # The second line the address, if needed.
-            "line1": "A String", # The street name and number of this address.
-            "locationName": "A String", # The name of the location.
-            "state": "A String", # The US two letter state abbreviation of the address.
-          },
-          "electionRegistrationUrl": "A String", # A URL provided by this administrative body for looking up how to register to vote.
-          "electionOfficials": [ # The election officials for this election administrative body.
-            { # Information about individual election officials.
-              "title": "A String", # The title of the election official.
-              "emailAddress": "A String", # The email address of the election official.
-              "name": "A String", # The full name of the election official.
-              "officePhoneNumber": "A String", # The office phone number of the election official.
-              "faxNumber": "A String", # The fax number of the election official.
-            },
-          ],
-          "electionInfoUrl": "A String", # A URL provided by this administrative body for looking up general election information.
-          "electionRulesUrl": "A String", # A URL provided by this administrative body describing election rules to the voter.
-          "voter_services": [ # A description of the services this administrative body may provide.
-            "A String",
-          ],
-          "ballotInfoUrl": "A String", # A URL provided by this administrative body to give contest information to the voter.
-          "hoursOfOperation": "A String", # A description of the hours of operation for this administrative body.
-          "physicalAddress": { # A simple representation of an address. # The physical address of this administrative body.
-            "city": "A String", # The city or town for the address.
-            "zip": "A String", # The US Postal Zip Code of the address.
-            "line3": "A String", # The third line of the address, if needed.
-            "line2": "A String", # The second line the address, if needed.
-            "line1": "A String", # The street name and number of this address.
-            "locationName": "A String", # The name of the location.
-            "state": "A String", # The US two letter state abbreviation of the address.
-          },
-        },
-        "name": "A String", # The name of the jurisdiction.
-        "id": "A String", # An ID for this object. IDs may change in future requests and should not be cached. Access to this field requires special access that can be requested from the Request more link on the Quotas page.
-      },
-    ],
-    "election": { # Information about the election that was queried. # The election that was queried.
-      "electionDay": "A String", # Day of the election in YYYY-MM-DD format.
-      "id": "A String", # The unique ID of this election.
-      "name": "A String", # A displayable name for the election.
-    },
-    "pollingLocations": [ # Locations where the voter is eligible to vote on election day. For states with mail-in voting only, these locations will be nearby drop box locations. Drop box locations are free to the voter and may be used instead of placing the ballot in the mail.
-      { # A location where a voter can vote. This may be an early vote site or an election day voting location.
-        "startDate": "A String", # The first date that this early vote site may be used. This field is not populated for polling locations.
-        "pollingHours": "A String", # A description of when this location is open.
-        "endDate": "A String", # The last date that this early vote site may be used. This field is not populated for polling locations.
-        "name": "A String", # The name of the early vote site. This field is not populated for polling locations.
-        "notes": "A String", # Notes about this location (e.g. accessibility ramp or entrance to use)
-        "voterServices": "A String", # The services provided by this early vote site. This field is not populated for polling locations.
-        "sources": [ # A list of sources for this location. If multiple sources are listed the data has been aggregated from those sources.
-          { # Contains information about the data source for the element containing it.
-            "official": True or False, # Whether this data comes from an official government source.
-            "name": "A String", # The name of the data source.
-          },
-        ],
-        "address": { # A simple representation of an address. # The address of the location
-          "city": "A String", # The city or town for the address.
-          "zip": "A String", # The US Postal Zip Code of the address.
-          "line3": "A String", # The third line of the address, if needed.
-          "line2": "A String", # The second line the address, if needed.
-          "line1": "A String", # The street name and number of this address.
-          "locationName": "A String", # The name of the location.
-          "state": "A String", # The US two letter state abbreviation of the address.
-        },
-        "id": "A String", # An ID for this object. IDs may change in future requests and should not be cached. Access to this field requires special access that can be requested from the Request more link on the Quotas page.
-      },
-    ],
-    "contests": [ # Contests that will appear on the voter's ballot
-      { # Information about a contest that appears on a voter's ballot.
-        "numberVotingFor": "A String", # The number of candidates that a voter may vote for in this contest.
-        "office": "A String", # The name of the office for this contest.
-        "district": { # Describes the geographic scope of a contest. # Information about the electoral district that this contest is in.
-          "scope": "A String", # The geographic scope of this district. If unspecified the district's geography is not known. One of: national, statewide, congressional, stateUpper, stateLower, countywide, judicial, schoolBoard, cityWide, township, countyCouncil, cityCouncil, ward, special
-          "id": "A String", # An identifier for this district, relative to its scope. For example, the 34th State Senate district would have id "34" and a scope of stateUpper.
-          "name": "A String", # The name of the district.
-        },
-        "level": "A String", # The level of office for this contest. One of: federal, state, county, city, other
-        "type": "A String", # The type of contest. Usually this will be 'General', 'Primary', or 'Run-off' for contests with candidates. For referenda this will be 'Referendum'.
-        "ballotPlacement": "A String", # A number specifying the position of this contest on the voter's ballot.
-        "sources": [ # A list of sources for this contest. If multiple sources are listed, the data has been aggregated from those sources.
-          { # Contains information about the data source for the element containing it.
-            "official": True or False, # Whether this data comes from an official government source.
-            "name": "A String", # The name of the data source.
-          },
-        ],
-        "referendumSubtitle": "A String", # A brief description of the referendum. This field is only populated for contests of type 'Referendum'.
-        "primaryParty": "A String", # If this is a partisan election, the name of the party it is for.
-        "candidates": [ # The candidate choices for this contest.
-          { # Information about a candidate running for elected office.
-            "name": "A String", # The candidate's name.
-            "photoUrl": "A String", # A URL for a photo of the candidate.
-            "candidateUrl": "A String", # The URL for the candidate's campaign web site.
-            "channels": [ # A list of known (social) media channels for this candidate.
-              { # A social media or web channel for a candidate.
-                "type": "A String", # The type of channel. The following is a list of types of channels, but is not exhaustive. More channel types may be added at a later time. One of: GooglePlus, YouTube, Facebook, Twitter
-                "id": "A String", # The unique public identifier for the candidate's channel.
-              },
-            ],
-            "phone": "A String", # The voice phone number for the candidate's campaign office.
-            "orderOnBallot": "A String", # The order the candidate appears on the ballot for this contest.
-            "party": "A String", # The full name of the party the candidate is a member of.
-            "email": "A String", # The email address for the candidate's campaign.
-          },
-        ],
-        "numberElected": "A String", # The number of candidates that will be elected to office in this contest.
-        "referendumUrl": "A String", # A link to the referendum. This field is only populated for contests of type 'Referendum'.
-        "electorateSpecifications": "A String", # A description of any additional eligibility requirements for voting in this contest.
-        "referendumTitle": "A String", # The title of the referendum (e.g. 'Proposition 42'). This field is only populated for contests of type 'Referendum'.
-        "id": "A String", # An ID for this object. IDs may change in future requests and should not be cached. Access to this field requires special access that can be requested from the Request more link on the Quotas page.
-        "special": "A String", # "Yes" or "No" depending on whether this a contest being held outside the normal election cycle.
-      },
-    ],
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/civicinfo_us_v1.html b/docs/dyn/civicinfo_us_v1.html
deleted file mode 100644
index c970005..0000000
--- a/docs/dyn/civicinfo_us_v1.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="civicinfo_us_v1.html">Google Civic Information API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="civicinfo_us_v1.elections.html">elections()</a></code>
-</p>
-<p class="firstline">Returns the elections Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta12.disks.html b/docs/dyn/compute_v1beta12.disks.html
deleted file mode 100644
index b0d5d5d..0000000
--- a/docs/dyn/compute_v1beta12.disks.html
+++ /dev/null
@@ -1,272 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta12.html">Compute Engine API</a> . <a href="compute_v1beta12.disks.html">disks</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, disk)</a></code></p>
-<p class="firstline">Deletes the specified persistent disk resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, disk)</a></code></p>
-<p class="firstline">Returns the specified persistent disk resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates a persistent disk resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of persistent disk resources contained within the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, disk)</code>
-  <pre>Deletes the specified persistent disk resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  disk: string, Name of the persistent disk resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, disk)</code>
-  <pre>Returns the specified persistent disk resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  disk: string, Name of the persistent disk resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "status": "A String", # The status of disk creation (output only).
-      "sourceSnapshot": "A String", # The source snapshot used to create this disk. Once the source snapshot has been deleted from the system, this field will be cleared, and will not be set even if a snapshot with the same name has been re-created.
-      "kind": "compute#disk", # Type of the resource.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "sizeGb": "A String", # Size of the persistent disk, specified in GB.
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "sourceSnapshotId": "A String", # The 'id' value of the snapshot used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given disk snapshot.
-      "zone": "A String", # URL for the zone where the persistent disk resides; provided by the client when the disk is created. A persistent disk must reside in the same zone as the instance to which it is attached.
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "options": "A String", # Internal use only.
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates a persistent disk resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "status": "A String", # The status of disk creation (output only).
-    "sourceSnapshot": "A String", # The source snapshot used to create this disk. Once the source snapshot has been deleted from the system, this field will be cleared, and will not be set even if a snapshot with the same name has been re-created.
-    "kind": "compute#disk", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sizeGb": "A String", # Size of the persistent disk, specified in GB.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "sourceSnapshotId": "A String", # The 'id' value of the snapshot used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given disk snapshot.
-    "zone": "A String", # URL for the zone where the persistent disk resides; provided by the client when the disk is created. A persistent disk must reside in the same zone as the instance to which it is attached.
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "options": "A String", # Internal use only.
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of persistent disk resources contained within the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The persistent disk resources.
-      {
-          "status": "A String", # The status of disk creation (output only).
-          "sourceSnapshot": "A String", # The source snapshot used to create this disk. Once the source snapshot has been deleted from the system, this field will be cleared, and will not be set even if a snapshot with the same name has been re-created.
-          "kind": "compute#disk", # Type of the resource.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "sizeGb": "A String", # Size of the persistent disk, specified in GB.
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "sourceSnapshotId": "A String", # The 'id' value of the snapshot used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given disk snapshot.
-          "zone": "A String", # URL for the zone where the persistent disk resides; provided by the client when the disk is created. A persistent disk must reside in the same zone as the instance to which it is attached.
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "options": "A String", # Internal use only.
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#diskList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-      </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta12.firewalls.html b/docs/dyn/compute_v1beta12.firewalls.html
deleted file mode 100644
index 7620760..0000000
--- a/docs/dyn/compute_v1beta12.firewalls.html
+++ /dev/null
@@ -1,463 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta12.html">Compute Engine API</a> . <a href="compute_v1beta12.firewalls.html">firewalls</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, firewall)</a></code></p>
-<p class="firstline">Deletes the specified firewall resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, firewall)</a></code></p>
-<p class="firstline">Returns the specified firewall resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates a firewall resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of firewall resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(project, firewall, body)</a></code></p>
-<p class="firstline">Updates the specified firewall resource with the data included in the request. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(project, firewall, body)</a></code></p>
-<p class="firstline">Updates the specified firewall resource with the data included in the request.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, firewall)</code>
-  <pre>Deletes the specified firewall resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  firewall: string, Name of the firewall resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, firewall)</code>
-  <pre>Returns the specified firewall resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  firewall: string, Name of the firewall resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "compute#firewall", # Type of the resource.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-        "A String",
-      ],
-      "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-        "A String",
-      ],
-      "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-      "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-        "A String",
-      ],
-      "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-        {
-          "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-          "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-              # Example inputs include: ["22"], ["80,"443"] and ["12345-12349"].
-            "A String",
-          ],
-        },
-      ],
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates a firewall resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "compute#firewall", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-    "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-      "A String",
-    ],
-    "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-      {
-        "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-        "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-            # Example inputs include: ["22"], ["80,"443"] and ["12345-12349"].
-          "A String",
-        ],
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of firewall resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The firewall resources.
-      {
-          "kind": "compute#firewall", # Type of the resource.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-            "A String",
-          ],
-          "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-            "A String",
-          ],
-          "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-          "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-            "A String",
-          ],
-          "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-            {
-              "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-              "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-                  # Example inputs include: ["22"], ["80,"443"] and ["12345-12349"].
-                "A String",
-              ],
-            },
-          ],
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#firewallList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-      </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(project, firewall, body)</code>
-  <pre>Updates the specified firewall resource with the data included in the request. This method supports patch semantics.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  firewall: string, Name of the firewall resource to update. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "compute#firewall", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-    "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-      "A String",
-    ],
-    "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-      {
-        "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-        "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-            # Example inputs include: ["22"], ["80,"443"] and ["12345-12349"].
-          "A String",
-        ],
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(project, firewall, body)</code>
-  <pre>Updates the specified firewall resource with the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  firewall: string, Name of the firewall resource to update. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "compute#firewall", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-    "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-      "A String",
-    ],
-    "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-      {
-        "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-        "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-            # Example inputs include: ["22"], ["80,"443"] and ["12345-12349"].
-          "A String",
-        ],
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta12.html b/docs/dyn/compute_v1beta12.html
deleted file mode 100644
index 7e6583c..0000000
--- a/docs/dyn/compute_v1beta12.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta12.html">Compute Engine API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="compute_v1beta12.disks.html">disks()</a></code>
-</p>
-<p class="firstline">Returns the disks Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta12.firewalls.html">firewalls()</a></code>
-</p>
-<p class="firstline">Returns the firewalls Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta12.images.html">images()</a></code>
-</p>
-<p class="firstline">Returns the images Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta12.instances.html">instances()</a></code>
-</p>
-<p class="firstline">Returns the instances Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta12.kernels.html">kernels()</a></code>
-</p>
-<p class="firstline">Returns the kernels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta12.machineTypes.html">machineTypes()</a></code>
-</p>
-<p class="firstline">Returns the machineTypes Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta12.networks.html">networks()</a></code>
-</p>
-<p class="firstline">Returns the networks Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta12.operations.html">operations()</a></code>
-</p>
-<p class="firstline">Returns the operations Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta12.projects.html">projects()</a></code>
-</p>
-<p class="firstline">Returns the projects Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta12.snapshots.html">snapshots()</a></code>
-</p>
-<p class="firstline">Returns the snapshots Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta12.zones.html">zones()</a></code>
-</p>
-<p class="firstline">Returns the zones Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta12.images.html b/docs/dyn/compute_v1beta12.images.html
deleted file mode 100644
index 976550c..0000000
--- a/docs/dyn/compute_v1beta12.images.html
+++ /dev/null
@@ -1,284 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta12.html">Compute Engine API</a> . <a href="compute_v1beta12.images.html">images</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, image)</a></code></p>
-<p class="firstline">Deletes the specified image resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, image)</a></code></p>
-<p class="firstline">Returns the specified image resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates an image resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of image resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, image)</code>
-  <pre>Deletes the specified image resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  image: string, Name of the image resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, image)</code>
-  <pre>Returns the specified image resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  image: string, Name of the image resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "compute#image", # Type of the resource.
-      "description": "A String", # Textual description of the resource; provided by the client when the resource is created.
-      "rawDisk": { # The raw disk image parameters.
-        "containerType": "TAR", # The format used to encode and transmit the block device. Should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
-        "source": "A String", # The full Google Cloud Storage URL where the disk image is stored; provided by the client when the disk image is created.
-        "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created.
-      },
-      "preferredKernel": "A String", # An optional URL of the preferred kernel for use with this disk image. If not specified, a server defined default kernel will be used.
-      "diskSnapshot": { # Not yet implemented.
-        "source": "A String", # URL of the disk snapshot.
-      },
-      "sourceType": "RAW", # Must be "RAW"; provided by the client when the disk image is created.
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates an image resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "compute#image", # Type of the resource.
-    "description": "A String", # Textual description of the resource; provided by the client when the resource is created.
-    "rawDisk": { # The raw disk image parameters.
-      "containerType": "TAR", # The format used to encode and transmit the block device. Should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
-      "source": "A String", # The full Google Cloud Storage URL where the disk image is stored; provided by the client when the disk image is created.
-      "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created.
-    },
-    "preferredKernel": "A String", # An optional URL of the preferred kernel for use with this disk image. If not specified, a server defined default kernel will be used.
-    "diskSnapshot": { # Not yet implemented.
-      "source": "A String", # URL of the disk snapshot.
-    },
-    "sourceType": "RAW", # Must be "RAW"; provided by the client when the disk image is created.
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of image resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The disk image resources.
-      {
-          "kind": "compute#image", # Type of the resource.
-          "description": "A String", # Textual description of the resource; provided by the client when the resource is created.
-          "rawDisk": { # The raw disk image parameters.
-            "containerType": "TAR", # The format used to encode and transmit the block device. Should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
-            "source": "A String", # The full Google Cloud Storage URL where the disk image is stored; provided by the client when the disk image is created.
-            "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created.
-          },
-          "preferredKernel": "A String", # An optional URL of the preferred kernel for use with this disk image. If not specified, a server defined default kernel will be used.
-          "diskSnapshot": { # Not yet implemented.
-            "source": "A String", # URL of the disk snapshot.
-          },
-          "sourceType": "RAW", # Must be "RAW"; provided by the client when the disk image is created.
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#imageList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-      </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta12.instances.html b/docs/dyn/compute_v1beta12.instances.html
deleted file mode 100644
index d6ecd92..0000000
--- a/docs/dyn/compute_v1beta12.instances.html
+++ /dev/null
@@ -1,516 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta12.html">Compute Engine API</a> . <a href="compute_v1beta12.instances.html">instances</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#addAccessConfig">addAccessConfig(project, instance, network_interface, body)</a></code></p>
-<p class="firstline">Adds an access config to an instance's network interface.</p>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, instance)</a></code></p>
-<p class="firstline">Deletes the specified instance resource.</p>
-<p class="toc_element">
-  <code><a href="#deleteAccessConfig">deleteAccessConfig(project, instance, access_config, network_interface)</a></code></p>
-<p class="firstline">Deletes an access config from an instance's network interface.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, instance)</a></code></p>
-<p class="firstline">Returns the specified instance resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates an instance resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of instance resources contained within the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="addAccessConfig">addAccessConfig(project, instance, network_interface, body)</code>
-  <pre>Adds an access config to an instance's network interface.
-
-Args:
-  project: string, Project name. (required)
-  instance: string, Instance name. (required)
-  network_interface: string, Network interface name. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-  "kind": "compute#accessConfig", # Type of the resource.
-  "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
-  "name": "A String", # Name of this access configuration.
-  "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If left blank, the external IP will be drawn from a shared ephemeral pool.
-}
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(project, instance)</code>
-  <pre>Deletes the specified instance resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  instance: string, Name of the instance resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="deleteAccessConfig">deleteAccessConfig(project, instance, access_config, network_interface)</code>
-  <pre>Deletes an access config from an instance's network interface.
-
-Args:
-  project: string, Project name. (required)
-  instance: string, Instance name. (required)
-  access_config: string, Access config name. (required)
-  network_interface: string, Network interface name. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, instance)</code>
-  <pre>Returns the specified instance resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  instance: string, Name of the instance resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING" (output only).
-      "kind": "compute#instance", # Type of the resource.
-      "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "zone": "A String", # URL of the zone resource describing where this instance should be hosted; provided by the client when the instance is created.
-      "tags": [ # An optional set of tags applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client when the instance is created. Each tag must be 1-63 characters long, and comply with RFC1035.
-        "A String",
-      ],
-      "image": "A String", # An optional URL of the disk image resource to be to be installed on this instance; provided by the client when the instance is created. If not specified, the server will choose a default image.
-      "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them.
-        {
-          "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
-          "kind": "compute#attachedDisk", # Type of the resource.
-          "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value.
-          "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-          "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
-          "deleteOnTerminate": True or False, # Persistent disk only; If true, delete the disk and all its data when the associated instance is deleted. This property defaults to false if not specified.
-          "type": "A String", # Type of the disk, either "EPHEMERAL" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
-        },
-      ],
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-      "statusMessage": "A String", # An optional, human-readable explanation of the status (output only).
-      "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries.
-        {
-          "scopes": [ # The list of scopes to be made available for this service account.
-            "A String",
-          ],
-          "kind": "compute#serviceAccount", # Type of the resource.
-          "email": "A String", # Email address of the service account.
-        },
-      ],
-      "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-        {
-          "network": "A String", # URL of the network resource attached to this interface.
-          "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-            {
-              "kind": "compute#accessConfig", # Type of the resource.
-              "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
-              "name": "A String", # Name of this access configuration.
-              "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If left blank, the external IP will be drawn from a shared ephemeral pool.
-            },
-          ],
-          "networkIP": "A String", # An optional IPV4 internal network address to assign to this instance. If not specified, one will be assigned from the available range.
-          "kind": "compute#networkInterface", # Type of the resource.
-          "name": "A String", # Name of the resource, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only).
-        },
-      ],
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "metadata": { # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information.
-        "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-          {
-            "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 15000 bytes.
-            "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must be unique.
-          },
-        ],
-        "kind": "compute#metadata", # Type of the resource.
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates an instance resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING" (output only).
-    "kind": "compute#instance", # Type of the resource.
-    "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "zone": "A String", # URL of the zone resource describing where this instance should be hosted; provided by the client when the instance is created.
-    "tags": [ # An optional set of tags applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client when the instance is created. Each tag must be 1-63 characters long, and comply with RFC1035.
-      "A String",
-    ],
-    "image": "A String", # An optional URL of the disk image resource to be to be installed on this instance; provided by the client when the instance is created. If not specified, the server will choose a default image.
-    "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them.
-      {
-        "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
-        "kind": "compute#attachedDisk", # Type of the resource.
-        "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value.
-        "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-        "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
-        "deleteOnTerminate": True or False, # Persistent disk only; If true, delete the disk and all its data when the associated instance is deleted. This property defaults to false if not specified.
-        "type": "A String", # Type of the disk, either "EPHEMERAL" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
-      },
-    ],
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    "statusMessage": "A String", # An optional, human-readable explanation of the status (output only).
-    "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries.
-      {
-        "scopes": [ # The list of scopes to be made available for this service account.
-          "A String",
-        ],
-        "kind": "compute#serviceAccount", # Type of the resource.
-        "email": "A String", # Email address of the service account.
-      },
-    ],
-    "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-      {
-        "network": "A String", # URL of the network resource attached to this interface.
-        "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-          {
-            "kind": "compute#accessConfig", # Type of the resource.
-            "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
-            "name": "A String", # Name of this access configuration.
-            "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If left blank, the external IP will be drawn from a shared ephemeral pool.
-          },
-        ],
-        "networkIP": "A String", # An optional IPV4 internal network address to assign to this instance. If not specified, one will be assigned from the available range.
-        "kind": "compute#networkInterface", # Type of the resource.
-        "name": "A String", # Name of the resource, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only).
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "metadata": { # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information.
-      "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-        {
-          "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 15000 bytes.
-          "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must be unique.
-        },
-      ],
-      "kind": "compute#metadata", # Type of the resource.
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of instance resources contained within the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # A list of instance resources.
-      {
-          "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING" (output only).
-          "kind": "compute#instance", # Type of the resource.
-          "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "zone": "A String", # URL of the zone resource describing where this instance should be hosted; provided by the client when the instance is created.
-          "tags": [ # An optional set of tags applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client when the instance is created. Each tag must be 1-63 characters long, and comply with RFC1035.
-            "A String",
-          ],
-          "image": "A String", # An optional URL of the disk image resource to be to be installed on this instance; provided by the client when the instance is created. If not specified, the server will choose a default image.
-          "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them.
-            {
-              "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
-              "kind": "compute#attachedDisk", # Type of the resource.
-              "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value.
-              "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-              "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
-              "deleteOnTerminate": True or False, # Persistent disk only; If true, delete the disk and all its data when the associated instance is deleted. This property defaults to false if not specified.
-              "type": "A String", # Type of the disk, either "EPHEMERAL" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
-            },
-          ],
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-          "statusMessage": "A String", # An optional, human-readable explanation of the status (output only).
-          "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries.
-            {
-              "scopes": [ # The list of scopes to be made available for this service account.
-                "A String",
-              ],
-              "kind": "compute#serviceAccount", # Type of the resource.
-              "email": "A String", # Email address of the service account.
-            },
-          ],
-          "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-            {
-              "network": "A String", # URL of the network resource attached to this interface.
-              "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-                {
-                  "kind": "compute#accessConfig", # Type of the resource.
-                  "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
-                  "name": "A String", # Name of this access configuration.
-                  "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If left blank, the external IP will be drawn from a shared ephemeral pool.
-                },
-              ],
-              "networkIP": "A String", # An optional IPV4 internal network address to assign to this instance. If not specified, one will be assigned from the available range.
-              "kind": "compute#networkInterface", # Type of the resource.
-              "name": "A String", # Name of the resource, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only).
-            },
-          ],
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "metadata": { # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information.
-            "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-              {
-                "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 15000 bytes.
-                "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must be unique.
-              },
-            ],
-            "kind": "compute#metadata", # Type of the resource.
-          },
-        },
-    ],
-    "kind": "compute#instanceList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-      </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta12.kernels.html b/docs/dyn/compute_v1beta12.kernels.html
deleted file mode 100644
index 882347b..0000000
--- a/docs/dyn/compute_v1beta12.kernels.html
+++ /dev/null
@@ -1,153 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta12.html">Compute Engine API</a> . <a href="compute_v1beta12.kernels.html">kernels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project, kernel)</a></code></p>
-<p class="firstline">Returns the specified kernel resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of kernel resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project, kernel)</code>
-  <pre>Returns the specified kernel resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  kernel: string, Name of the kernel resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "compute#kernel", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource.
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of kernel resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The kernel resources.
-      {
-        "kind": "compute#kernel", # Type of the resource.
-        "description": "A String", # An optional textual description of the resource.
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "name": "A String", # Name of the resource.
-      },
-    ],
-    "kind": "compute#kernelList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-      </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta12.machineTypes.html b/docs/dyn/compute_v1beta12.machineTypes.html
deleted file mode 100644
index 72875ef..0000000
--- a/docs/dyn/compute_v1beta12.machineTypes.html
+++ /dev/null
@@ -1,181 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta12.html">Compute Engine API</a> . <a href="compute_v1beta12.machineTypes.html">machineTypes</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project, machineType)</a></code></p>
-<p class="firstline">Returns the specified machine type resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of machine type resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project, machineType)</code>
-  <pre>Returns the specified machine type resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  machineType: string, Name of the machine type resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "guestCpus": 42, # Count of CPUs exposed to the instance.
-    "imageSpaceGb": 42, # Space allotted for the image, defined in GB.
-    "kind": "compute#machineType", # Type of the resource.
-    "ephemeralDisks": [ # List of extended ephemeral disks assigned to the instance.
-      {
-        "diskGb": 42, # Size of the ephemeral disk, defined in GB.
-      },
-    ],
-    "maximumPersistentDisksSizeGb": "A String", # Maximum total persistent disks size (GB) allowed.
-    "description": "A String", # An optional textual description of the resource.
-    "maximumPersistentDisks": 42, # Maximum persistent disks allowed.
-    "name": "A String", # Name of the resource.
-    "memoryMb": 42, # Physical memory assigned to the instance, defined in MB.
-    "availableZone": [ # The zones that this machine type can run in.
-      "",
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "hostCpus": 42, # Count of physical CPUs reserved on the virtual machine host. Deprecated.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of machine type resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The machine type resources.
-      {
-        "guestCpus": 42, # Count of CPUs exposed to the instance.
-        "imageSpaceGb": 42, # Space allotted for the image, defined in GB.
-        "kind": "compute#machineType", # Type of the resource.
-        "ephemeralDisks": [ # List of extended ephemeral disks assigned to the instance.
-          {
-            "diskGb": 42, # Size of the ephemeral disk, defined in GB.
-          },
-        ],
-        "maximumPersistentDisksSizeGb": "A String", # Maximum total persistent disks size (GB) allowed.
-        "description": "A String", # An optional textual description of the resource.
-        "maximumPersistentDisks": 42, # Maximum persistent disks allowed.
-        "name": "A String", # Name of the resource.
-        "memoryMb": 42, # Physical memory assigned to the instance, defined in MB.
-        "availableZone": [ # The zones that this machine type can run in.
-          "",
-        ],
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "hostCpus": 42, # Count of physical CPUs reserved on the virtual machine host. Deprecated.
-      },
-    ],
-    "kind": "compute#machineTypeList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-      </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta12.networks.html b/docs/dyn/compute_v1beta12.networks.html
deleted file mode 100644
index e53a539..0000000
--- a/docs/dyn/compute_v1beta12.networks.html
+++ /dev/null
@@ -1,260 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta12.html">Compute Engine API</a> . <a href="compute_v1beta12.networks.html">networks</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, network)</a></code></p>
-<p class="firstline">Deletes the specified network resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, network)</a></code></p>
-<p class="firstline">Returns the specified network resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates a network resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of network resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, network)</code>
-  <pre>Deletes the specified network resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  network: string, Name of the network resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, network)</code>
-  <pre>Returns the specified network resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  network: string, Name of the network resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "compute#network", # Type of the resource.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "IPv4Range": "A String", # Required; The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.
-      "gatewayIPv4": "A String", # An optional address that is used for default routing to other networks. This must be within the range specified by IPv4Range, and is typically the first usable address in that range. If not specified, the default value is the first usable address in IPv4Range.
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates a network resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "compute#network", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "IPv4Range": "A String", # Required; The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.
-    "gatewayIPv4": "A String", # An optional address that is used for default routing to other networks. This must be within the range specified by IPv4Range, and is typically the first usable address in that range. If not specified, the default value is the first usable address in IPv4Range.
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of network resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The network resources.
-      {
-          "kind": "compute#network", # Type of the resource.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "IPv4Range": "A String", # Required; The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.
-          "gatewayIPv4": "A String", # An optional address that is used for default routing to other networks. This must be within the range specified by IPv4Range, and is typically the first usable address in that range. If not specified, the default value is the first usable address in IPv4Range.
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#networkList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-      </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta12.operations.html b/docs/dyn/compute_v1beta12.operations.html
deleted file mode 100644
index d1e03c2..0000000
--- a/docs/dyn/compute_v1beta12.operations.html
+++ /dev/null
@@ -1,208 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta12.html">Compute Engine API</a> . <a href="compute_v1beta12.operations.html">operations</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, operation)</a></code></p>
-<p class="firstline">Deletes the specified operation resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, operation)</a></code></p>
-<p class="firstline">Retrieves the specified operation resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of operation resources contained within the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, operation)</code>
-  <pre>Deletes the specified operation resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  operation: string, Name of the operation resource to delete. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, operation)</code>
-  <pre>Retrieves the specified operation resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  operation: string, Name of the operation resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of operation resources contained within the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The operation resources.
-      {
-        "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-        "kind": "compute#operation", # Type of the resource.
-        "name": "A String", # Name of the resource.
-        "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-        "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-        "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-        "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-          "errors": [ # The array of errors encountered while processing this operation.
-            {
-              "message": "A String", # An optional, human-readable error message.
-              "code": "A String", # The error type identifier for this error.
-              "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-            },
-          ],
-        },
-        "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-        "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-        "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-        "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-        "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-        "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-        "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-        "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-      },
-    ],
-    "kind": "compute#operationList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-      </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta12.projects.html b/docs/dyn/compute_v1beta12.projects.html
deleted file mode 100644
index 9ee9619..0000000
--- a/docs/dyn/compute_v1beta12.projects.html
+++ /dev/null
@@ -1,145 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta12.html">Compute Engine API</a> . <a href="compute_v1beta12.projects.html">projects</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project)</a></code></p>
-<p class="firstline">Returns the specified project resource.</p>
-<p class="toc_element">
-  <code><a href="#setCommonInstanceMetadata">setCommonInstanceMetadata(project, body)</a></code></p>
-<p class="firstline">Sets metadata common to all instances within the specified project using the data included in the request.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project)</code>
-  <pre>Returns the specified project resource.
-
-Args:
-  project: string, Name of the project resource to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "compute#project", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource.
-    "commonInstanceMetadata": { # Metadata key/value pairs available to all instances contained in this project.
-      "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-        {
-          "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 15000 bytes.
-          "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must be unique.
-        },
-      ],
-      "kind": "compute#metadata", # Type of the resource.
-    },
-    "externalIpAddresses": [ # Internet available IP addresses available for use in this project.
-      "A String",
-    ],
-    "quotas": [ # Quotas assigned to this project.
-      {
-        "usage": 3.14, # Current usage of this metric.
-        "metric": "A String", # Name of the quota metric.
-        "limit": 3.14, # Quota limit for this metric.
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="setCommonInstanceMetadata">setCommonInstanceMetadata(project, body)</code>
-  <pre>Sets metadata common to all instances within the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-  "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-    {
-      "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 15000 bytes.
-      "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must be unique.
-    },
-  ],
-  "kind": "compute#metadata", # Type of the resource.
-}
-
-</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta12.snapshots.html b/docs/dyn/compute_v1beta12.snapshots.html
deleted file mode 100644
index db3e417..0000000
--- a/docs/dyn/compute_v1beta12.snapshots.html
+++ /dev/null
@@ -1,266 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta12.html">Compute Engine API</a> . <a href="compute_v1beta12.snapshots.html">snapshots</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, snapshot)</a></code></p>
-<p class="firstline">Deletes the specified persistent disk snapshot resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, snapshot)</a></code></p>
-<p class="firstline">Returns the specified persistent disk snapshot resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates a persistent disk snapshot resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of persistent disk snapshot resources contained within the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, snapshot)</code>
-  <pre>Deletes the specified persistent disk snapshot resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  snapshot: string, Name of the persistent disk snapshot resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, snapshot)</code>
-  <pre>Returns the specified persistent disk snapshot resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  snapshot: string, Name of the persistent disk snapshot resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "status": "A String", # The status of the persistent disk snapshot (output only).
-      "kind": "compute#snapshot", # Type of the resource.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "sourceDisk": "A String", # The source disk used to create this snapshot. Once the source disk has been deleted from the system, this field will be cleared, and will not be set even if a disk with the same name has been re-created.
-      "sourceDiskId": "A String", # The 'id' value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name.
-      "diskSizeGb": "A String", # Size of the persistent disk snapshot, specified in GB (output only).
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates a persistent disk snapshot resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "status": "A String", # The status of the persistent disk snapshot (output only).
-    "kind": "compute#snapshot", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sourceDisk": "A String", # The source disk used to create this snapshot. Once the source disk has been deleted from the system, this field will be cleared, and will not be set even if a disk with the same name has been re-created.
-    "sourceDiskId": "A String", # The 'id' value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name.
-    "diskSizeGb": "A String", # Size of the persistent disk snapshot, specified in GB (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of persistent disk snapshot resources contained within the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The persistent snapshot resources.
-      {
-          "status": "A String", # The status of the persistent disk snapshot (output only).
-          "kind": "compute#snapshot", # Type of the resource.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "sourceDisk": "A String", # The source disk used to create this snapshot. Once the source disk has been deleted from the system, this field will be cleared, and will not be set even if a disk with the same name has been re-created.
-          "sourceDiskId": "A String", # The 'id' value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name.
-          "diskSizeGb": "A String", # Size of the persistent disk snapshot, specified in GB (output only).
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#snapshotList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-      </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta12.zones.html b/docs/dyn/compute_v1beta12.zones.html
deleted file mode 100644
index 0e13d05..0000000
--- a/docs/dyn/compute_v1beta12.zones.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta12.html">Compute Engine API</a> . <a href="compute_v1beta12.zones.html">zones</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project, zone)</a></code></p>
-<p class="firstline">Returns the specified zone resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of zone resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project, zone)</code>
-  <pre>Returns the specified zone resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the zone. "UP" or "DOWN".
-    "kind": "compute#zone", # Type of the resource.
-    "availableMachineType": [ # The machine types that can be used in this zone (output only).
-      "",
-    ],
-    "description": "A String", # Textual description of the resource.
-    "maintenanceWindows": [ # Scheduled maintenance windows for the zone. When the zone is in a maintenance window, all resources which reside in the zone will be unavailable.
-      {
-        "endTime": "A String", # End time of the maintenance window, in RFC 3339 format.
-        "beginTime": "A String", # Begin time of the maintenance window, in RFC 3339 format.
-        "name": "A String", # Name of the maintenance window.
-        "description": "A String", # Textual description of the maintenance window.
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of zone resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The zone resources.
-      {
-        "status": "A String", # Status of the zone. "UP" or "DOWN".
-        "kind": "compute#zone", # Type of the resource.
-        "availableMachineType": [ # The machine types that can be used in this zone (output only).
-          "",
-        ],
-        "description": "A String", # Textual description of the resource.
-        "maintenanceWindows": [ # Scheduled maintenance windows for the zone. When the zone is in a maintenance window, all resources which reside in the zone will be unavailable.
-          {
-            "endTime": "A String", # End time of the maintenance window, in RFC 3339 format.
-            "beginTime": "A String", # Begin time of the maintenance window, in RFC 3339 format.
-            "name": "A String", # Name of the maintenance window.
-            "description": "A String", # Textual description of the maintenance window.
-          },
-        ],
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "name": "A String", # Name of the resource.
-      },
-    ],
-    "kind": "compute#zoneList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-      </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta13.disks.html b/docs/dyn/compute_v1beta13.disks.html
deleted file mode 100644
index fe02715..0000000
--- a/docs/dyn/compute_v1beta13.disks.html
+++ /dev/null
@@ -1,272 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta13.html">Compute Engine API</a> . <a href="compute_v1beta13.disks.html">disks</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, disk)</a></code></p>
-<p class="firstline">Deletes the specified persistent disk resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, disk)</a></code></p>
-<p class="firstline">Returns the specified persistent disk resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates a persistent disk resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of persistent disk resources contained within the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, disk)</code>
-  <pre>Deletes the specified persistent disk resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  disk: string, Name of the persistent disk resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, disk)</code>
-  <pre>Returns the specified persistent disk resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  disk: string, Name of the persistent disk resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "status": "A String", # The status of disk creation (output only).
-      "sourceSnapshot": "A String", # The source snapshot used to create this disk. Once the source snapshot has been deleted from the system, this field will be cleared, and will not be set even if a snapshot with the same name has been re-created.
-      "kind": "compute#disk", # Type of the resource.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "sizeGb": "A String", # Size of the persistent disk, specified in GB.
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "sourceSnapshotId": "A String", # The 'id' value of the snapshot used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given disk snapshot.
-      "zone": "A String", # URL for the zone where the persistent disk resides; provided by the client when the disk is created. A persistent disk must reside in the same zone as the instance to which it is attached.
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "options": "A String", # Internal use only.
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates a persistent disk resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "status": "A String", # The status of disk creation (output only).
-    "sourceSnapshot": "A String", # The source snapshot used to create this disk. Once the source snapshot has been deleted from the system, this field will be cleared, and will not be set even if a snapshot with the same name has been re-created.
-    "kind": "compute#disk", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sizeGb": "A String", # Size of the persistent disk, specified in GB.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "sourceSnapshotId": "A String", # The 'id' value of the snapshot used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given disk snapshot.
-    "zone": "A String", # URL for the zone where the persistent disk resides; provided by the client when the disk is created. A persistent disk must reside in the same zone as the instance to which it is attached.
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "options": "A String", # Internal use only.
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of persistent disk resources contained within the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The persistent disk resources.
-      {
-          "status": "A String", # The status of disk creation (output only).
-          "sourceSnapshot": "A String", # The source snapshot used to create this disk. Once the source snapshot has been deleted from the system, this field will be cleared, and will not be set even if a snapshot with the same name has been re-created.
-          "kind": "compute#disk", # Type of the resource.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "sizeGb": "A String", # Size of the persistent disk, specified in GB.
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "sourceSnapshotId": "A String", # The 'id' value of the snapshot used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given disk snapshot.
-          "zone": "A String", # URL for the zone where the persistent disk resides; provided by the client when the disk is created. A persistent disk must reside in the same zone as the instance to which it is attached.
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "options": "A String", # Internal use only.
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#diskList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta13.firewalls.html b/docs/dyn/compute_v1beta13.firewalls.html
deleted file mode 100644
index efc64e9..0000000
--- a/docs/dyn/compute_v1beta13.firewalls.html
+++ /dev/null
@@ -1,463 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta13.html">Compute Engine API</a> . <a href="compute_v1beta13.firewalls.html">firewalls</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, firewall)</a></code></p>
-<p class="firstline">Deletes the specified firewall resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, firewall)</a></code></p>
-<p class="firstline">Returns the specified firewall resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates a firewall resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of firewall resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(project, firewall, body)</a></code></p>
-<p class="firstline">Updates the specified firewall resource with the data included in the request. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(project, firewall, body)</a></code></p>
-<p class="firstline">Updates the specified firewall resource with the data included in the request.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, firewall)</code>
-  <pre>Deletes the specified firewall resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  firewall: string, Name of the firewall resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, firewall)</code>
-  <pre>Returns the specified firewall resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  firewall: string, Name of the firewall resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "compute#firewall", # Type of the resource.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-        "A String",
-      ],
-      "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-        "A String",
-      ],
-      "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-      "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-        "A String",
-      ],
-      "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-        {
-          "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-          "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-              # Example inputs include: ["22"], ["80,"443"] and ["12345-12349"].
-            "A String",
-          ],
-        },
-      ],
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates a firewall resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "compute#firewall", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-    "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-      "A String",
-    ],
-    "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-      {
-        "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-        "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-            # Example inputs include: ["22"], ["80,"443"] and ["12345-12349"].
-          "A String",
-        ],
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of firewall resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The firewall resources.
-      {
-          "kind": "compute#firewall", # Type of the resource.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-            "A String",
-          ],
-          "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-            "A String",
-          ],
-          "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-          "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-            "A String",
-          ],
-          "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-            {
-              "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-              "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-                  # Example inputs include: ["22"], ["80,"443"] and ["12345-12349"].
-                "A String",
-              ],
-            },
-          ],
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#firewallList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(project, firewall, body)</code>
-  <pre>Updates the specified firewall resource with the data included in the request. This method supports patch semantics.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  firewall: string, Name of the firewall resource to update. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "compute#firewall", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-    "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-      "A String",
-    ],
-    "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-      {
-        "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-        "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-            # Example inputs include: ["22"], ["80,"443"] and ["12345-12349"].
-          "A String",
-        ],
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(project, firewall, body)</code>
-  <pre>Updates the specified firewall resource with the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  firewall: string, Name of the firewall resource to update. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "compute#firewall", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-    "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-      "A String",
-    ],
-    "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-      {
-        "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-        "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-            # Example inputs include: ["22"], ["80,"443"] and ["12345-12349"].
-          "A String",
-        ],
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta13.html b/docs/dyn/compute_v1beta13.html
deleted file mode 100644
index 709b17a..0000000
--- a/docs/dyn/compute_v1beta13.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta13.html">Compute Engine API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="compute_v1beta13.disks.html">disks()</a></code>
-</p>
-<p class="firstline">Returns the disks Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta13.firewalls.html">firewalls()</a></code>
-</p>
-<p class="firstline">Returns the firewalls Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta13.images.html">images()</a></code>
-</p>
-<p class="firstline">Returns the images Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta13.instances.html">instances()</a></code>
-</p>
-<p class="firstline">Returns the instances Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta13.kernels.html">kernels()</a></code>
-</p>
-<p class="firstline">Returns the kernels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta13.machineTypes.html">machineTypes()</a></code>
-</p>
-<p class="firstline">Returns the machineTypes Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta13.networks.html">networks()</a></code>
-</p>
-<p class="firstline">Returns the networks Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta13.operations.html">operations()</a></code>
-</p>
-<p class="firstline">Returns the operations Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta13.projects.html">projects()</a></code>
-</p>
-<p class="firstline">Returns the projects Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta13.snapshots.html">snapshots()</a></code>
-</p>
-<p class="firstline">Returns the snapshots Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta13.zones.html">zones()</a></code>
-</p>
-<p class="firstline">Returns the zones Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta13.images.html b/docs/dyn/compute_v1beta13.images.html
deleted file mode 100644
index 938a946..0000000
--- a/docs/dyn/compute_v1beta13.images.html
+++ /dev/null
@@ -1,284 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta13.html">Compute Engine API</a> . <a href="compute_v1beta13.images.html">images</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, image)</a></code></p>
-<p class="firstline">Deletes the specified image resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, image)</a></code></p>
-<p class="firstline">Returns the specified image resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates an image resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of image resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, image)</code>
-  <pre>Deletes the specified image resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  image: string, Name of the image resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, image)</code>
-  <pre>Returns the specified image resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  image: string, Name of the image resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "compute#image", # Type of the resource.
-      "description": "A String", # Textual description of the resource; provided by the client when the resource is created.
-      "rawDisk": { # The raw disk image parameters.
-        "containerType": "TAR", # The format used to encode and transmit the block device. Should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
-        "source": "A String", # The full Google Cloud Storage URL where the disk image is stored; provided by the client when the disk image is created.
-        "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created.
-      },
-      "preferredKernel": "A String", # An optional URL of the preferred kernel for use with this disk image. If not specified, a server defined default kernel will be used.
-      "diskSnapshot": { # Not yet implemented.
-        "source": "A String", # URL of the disk snapshot.
-      },
-      "sourceType": "RAW", # Must be "RAW"; provided by the client when the disk image is created.
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates an image resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "compute#image", # Type of the resource.
-    "description": "A String", # Textual description of the resource; provided by the client when the resource is created.
-    "rawDisk": { # The raw disk image parameters.
-      "containerType": "TAR", # The format used to encode and transmit the block device. Should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
-      "source": "A String", # The full Google Cloud Storage URL where the disk image is stored; provided by the client when the disk image is created.
-      "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created.
-    },
-    "preferredKernel": "A String", # An optional URL of the preferred kernel for use with this disk image. If not specified, a server defined default kernel will be used.
-    "diskSnapshot": { # Not yet implemented.
-      "source": "A String", # URL of the disk snapshot.
-    },
-    "sourceType": "RAW", # Must be "RAW"; provided by the client when the disk image is created.
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of image resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The disk image resources.
-      {
-          "kind": "compute#image", # Type of the resource.
-          "description": "A String", # Textual description of the resource; provided by the client when the resource is created.
-          "rawDisk": { # The raw disk image parameters.
-            "containerType": "TAR", # The format used to encode and transmit the block device. Should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
-            "source": "A String", # The full Google Cloud Storage URL where the disk image is stored; provided by the client when the disk image is created.
-            "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created.
-          },
-          "preferredKernel": "A String", # An optional URL of the preferred kernel for use with this disk image. If not specified, a server defined default kernel will be used.
-          "diskSnapshot": { # Not yet implemented.
-            "source": "A String", # URL of the disk snapshot.
-          },
-          "sourceType": "RAW", # Must be "RAW"; provided by the client when the disk image is created.
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#imageList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta13.instances.html b/docs/dyn/compute_v1beta13.instances.html
deleted file mode 100644
index 69782a2..0000000
--- a/docs/dyn/compute_v1beta13.instances.html
+++ /dev/null
@@ -1,537 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta13.html">Compute Engine API</a> . <a href="compute_v1beta13.instances.html">instances</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#addAccessConfig">addAccessConfig(project, instance, network_interface, body)</a></code></p>
-<p class="firstline">Adds an access config to an instance's network interface.</p>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, instance)</a></code></p>
-<p class="firstline">Deletes the specified instance resource.</p>
-<p class="toc_element">
-  <code><a href="#deleteAccessConfig">deleteAccessConfig(project, instance, access_config, network_interface)</a></code></p>
-<p class="firstline">Deletes an access config from an instance's network interface.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, instance)</a></code></p>
-<p class="firstline">Returns the specified instance resource.</p>
-<p class="toc_element">
-  <code><a href="#getSerialPortOutput">getSerialPortOutput(project, instance)</a></code></p>
-<p class="firstline">Returns the specified instance's serial port output.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates an instance resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of instance resources contained within the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="addAccessConfig">addAccessConfig(project, instance, network_interface, body)</code>
-  <pre>Adds an access config to an instance's network interface.
-
-Args:
-  project: string, Project name. (required)
-  instance: string, Instance name. (required)
-  network_interface: string, Network interface name. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-  "kind": "compute#accessConfig", # Type of the resource.
-  "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
-  "name": "A String", # Name of this access configuration.
-  "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool.
-}
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(project, instance)</code>
-  <pre>Deletes the specified instance resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  instance: string, Name of the instance resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="deleteAccessConfig">deleteAccessConfig(project, instance, access_config, network_interface)</code>
-  <pre>Deletes an access config from an instance's network interface.
-
-Args:
-  project: string, Project name. (required)
-  instance: string, Instance name. (required)
-  access_config: string, Access config name. (required)
-  network_interface: string, Network interface name. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, instance)</code>
-  <pre>Returns the specified instance resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  instance: string, Name of the instance resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING", "STOPPED", "TERMINATED", and "STOPPING" (output only).
-    "kind": "compute#instance", # Type of the resource.
-    "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "zone": "A String", # URL of the zone resource describing where this instance should be hosted; provided by the client when the instance is created.
-    "tags": [ # An optional set of tags applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client when the instance is created. Each tag must be 1-63 characters long, and comply with RFC1035.
-      "A String",
-    ],
-    "image": "A String", # An optional URL of the disk image resource to be to be installed on this instance; provided by the client when the instance is created. If not specified, the server will choose a default image.
-    "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them.
-      {
-        "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
-        "kind": "compute#attachedDisk", # Type of the resource.
-        "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value.
-        "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-        "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
-        "deleteOnTerminate": True or False, # Persistent disk only; If true, delete the disk and all its data when the associated instance is deleted. This property defaults to false if not specified.
-        "type": "A String", # Type of the disk, either "EPHEMERAL" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
-      },
-    ],
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    "statusMessage": "A String", # An optional, human-readable explanation of the status (output only).
-    "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries.
-      {
-        "scopes": [ # The list of scopes to be made available for this service account.
-          "A String",
-        ],
-        "kind": "compute#serviceAccount", # Type of the resource.
-        "email": "A String", # Email address of the service account.
-      },
-    ],
-    "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-      {
-        "network": "A String", # URL of the network resource attached to this interface.
-        "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-          {
-            "kind": "compute#accessConfig", # Type of the resource.
-            "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
-            "name": "A String", # Name of this access configuration.
-            "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool.
-          },
-        ],
-        "networkIP": "A String", # An optional IPV4 internal network address to assign to this instance. If not specified, one will be assigned from the available range.
-        "kind": "compute#networkInterface", # Type of the resource.
-        "name": "A String", # Name of the resource, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only).
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "metadata": { # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information.
-      "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-        {
-          "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
-          "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
-        },
-      ],
-      "kind": "compute#metadata", # Type of the resource.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="getSerialPortOutput">getSerialPortOutput(project, instance)</code>
-  <pre>Returns the specified instance's serial port output.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  instance: string, Name of the instance scoping this request. (required)
-
-Returns:
-  An object of the form:
-
-    { # An instance serial console output.
-    "kind": "compute#serialPortOutput", # Type of the resource.
-    "selfLink": "A String", # Server defined URL for the resource.
-    "contents": "A String", # The contents of the console output.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates an instance resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-  "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING", "STOPPED", "TERMINATED", and "STOPPING" (output only).
-  "kind": "compute#instance", # Type of the resource.
-  "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created.
-  "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-  "zone": "A String", # URL of the zone resource describing where this instance should be hosted; provided by the client when the instance is created.
-  "tags": [ # An optional set of tags applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client when the instance is created. Each tag must be 1-63 characters long, and comply with RFC1035.
-    "A String",
-  ],
-  "image": "A String", # An optional URL of the disk image resource to be to be installed on this instance; provided by the client when the instance is created. If not specified, the server will choose a default image.
-  "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them.
-    {
-      "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
-      "kind": "compute#attachedDisk", # Type of the resource.
-      "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value.
-      "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-      "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
-      "deleteOnTerminate": True or False, # Persistent disk only; If true, delete the disk and all its data when the associated instance is deleted. This property defaults to false if not specified.
-      "type": "A String", # Type of the disk, either "EPHEMERAL" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
-    },
-  ],
-  "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  "statusMessage": "A String", # An optional, human-readable explanation of the status (output only).
-  "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries.
-    {
-      "scopes": [ # The list of scopes to be made available for this service account.
-        "A String",
-      ],
-      "kind": "compute#serviceAccount", # Type of the resource.
-      "email": "A String", # Email address of the service account.
-    },
-  ],
-  "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-    {
-      "network": "A String", # URL of the network resource attached to this interface.
-      "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-        {
-          "kind": "compute#accessConfig", # Type of the resource.
-          "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
-          "name": "A String", # Name of this access configuration.
-          "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool.
-        },
-      ],
-      "networkIP": "A String", # An optional IPV4 internal network address to assign to this instance. If not specified, one will be assigned from the available range.
-      "kind": "compute#networkInterface", # Type of the resource.
-      "name": "A String", # Name of the resource, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only).
-    },
-  ],
-  "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-  "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-  "selfLink": "A String", # Server defined URL for the resource (output only).
-  "metadata": { # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information.
-    "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-      {
-        "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
-        "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
-      },
-    ],
-    "kind": "compute#metadata", # Type of the resource.
-  },
-}
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of instance resources contained within the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # A list of instance resources.
-      {
-        "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING", "STOPPED", "TERMINATED", and "STOPPING" (output only).
-        "kind": "compute#instance", # Type of the resource.
-        "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created.
-        "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-        "zone": "A String", # URL of the zone resource describing where this instance should be hosted; provided by the client when the instance is created.
-        "tags": [ # An optional set of tags applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client when the instance is created. Each tag must be 1-63 characters long, and comply with RFC1035.
-          "A String",
-        ],
-        "image": "A String", # An optional URL of the disk image resource to be to be installed on this instance; provided by the client when the instance is created. If not specified, the server will choose a default image.
-        "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them.
-          {
-            "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
-            "kind": "compute#attachedDisk", # Type of the resource.
-            "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value.
-            "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-            "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
-            "deleteOnTerminate": True or False, # Persistent disk only; If true, delete the disk and all its data when the associated instance is deleted. This property defaults to false if not specified.
-            "type": "A String", # Type of the disk, either "EPHEMERAL" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
-          },
-        ],
-        "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        "statusMessage": "A String", # An optional, human-readable explanation of the status (output only).
-        "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries.
-          {
-            "scopes": [ # The list of scopes to be made available for this service account.
-              "A String",
-            ],
-            "kind": "compute#serviceAccount", # Type of the resource.
-            "email": "A String", # Email address of the service account.
-          },
-        ],
-        "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-          {
-            "network": "A String", # URL of the network resource attached to this interface.
-            "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-              {
-                "kind": "compute#accessConfig", # Type of the resource.
-                "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
-                "name": "A String", # Name of this access configuration.
-                "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool.
-              },
-            ],
-            "networkIP": "A String", # An optional IPV4 internal network address to assign to this instance. If not specified, one will be assigned from the available range.
-            "kind": "compute#networkInterface", # Type of the resource.
-            "name": "A String", # Name of the resource, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only).
-          },
-        ],
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "metadata": { # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information.
-          "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-            {
-              "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
-              "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
-            },
-          ],
-          "kind": "compute#metadata", # Type of the resource.
-        },
-      },
-    ],
-    "kind": "compute#instanceList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta13.kernels.html b/docs/dyn/compute_v1beta13.kernels.html
deleted file mode 100644
index 705c8c2..0000000
--- a/docs/dyn/compute_v1beta13.kernels.html
+++ /dev/null
@@ -1,153 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta13.html">Compute Engine API</a> . <a href="compute_v1beta13.kernels.html">kernels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project, kernel)</a></code></p>
-<p class="firstline">Returns the specified kernel resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of kernel resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project, kernel)</code>
-  <pre>Returns the specified kernel resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  kernel: string, Name of the kernel resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "compute#kernel", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource.
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of kernel resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The kernel resources.
-      {
-        "kind": "compute#kernel", # Type of the resource.
-        "description": "A String", # An optional textual description of the resource.
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "name": "A String", # Name of the resource.
-      },
-    ],
-    "kind": "compute#kernelList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta13.machineTypes.html b/docs/dyn/compute_v1beta13.machineTypes.html
deleted file mode 100644
index 7ca9042..0000000
--- a/docs/dyn/compute_v1beta13.machineTypes.html
+++ /dev/null
@@ -1,179 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta13.html">Compute Engine API</a> . <a href="compute_v1beta13.machineTypes.html">machineTypes</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project, machineType)</a></code></p>
-<p class="firstline">Returns the specified machine type resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of machine type resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project, machineType)</code>
-  <pre>Returns the specified machine type resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  machineType: string, Name of the machine type resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "guestCpus": 42, # Count of CPUs exposed to the instance.
-    "imageSpaceGb": 42, # Space allotted for the image, defined in GB.
-    "kind": "compute#machineType", # Type of the resource.
-    "ephemeralDisks": [ # List of extended ephemeral disks assigned to the instance.
-      {
-        "diskGb": 42, # Size of the ephemeral disk, defined in GB.
-      },
-    ],
-    "maximumPersistentDisksSizeGb": "A String", # Maximum total persistent disks size (GB) allowed.
-    "description": "A String", # An optional textual description of the resource.
-    "maximumPersistentDisks": 42, # Maximum persistent disks allowed.
-    "memoryMb": 42, # Physical memory assigned to the instance, defined in MB.
-    "availableZone": [ # The zones that this machine type can run in.
-      "A String",
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of machine type resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The machine type resources.
-      {
-        "guestCpus": 42, # Count of CPUs exposed to the instance.
-        "imageSpaceGb": 42, # Space allotted for the image, defined in GB.
-        "kind": "compute#machineType", # Type of the resource.
-        "ephemeralDisks": [ # List of extended ephemeral disks assigned to the instance.
-          {
-            "diskGb": 42, # Size of the ephemeral disk, defined in GB.
-          },
-        ],
-        "maximumPersistentDisksSizeGb": "A String", # Maximum total persistent disks size (GB) allowed.
-        "description": "A String", # An optional textual description of the resource.
-        "maximumPersistentDisks": 42, # Maximum persistent disks allowed.
-        "memoryMb": 42, # Physical memory assigned to the instance, defined in MB.
-        "availableZone": [ # The zones that this machine type can run in.
-          "A String",
-        ],
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "name": "A String", # Name of the resource.
-      },
-    ],
-    "kind": "compute#machineTypeList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta13.networks.html b/docs/dyn/compute_v1beta13.networks.html
deleted file mode 100644
index 18ba234..0000000
--- a/docs/dyn/compute_v1beta13.networks.html
+++ /dev/null
@@ -1,260 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta13.html">Compute Engine API</a> . <a href="compute_v1beta13.networks.html">networks</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, network)</a></code></p>
-<p class="firstline">Deletes the specified network resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, network)</a></code></p>
-<p class="firstline">Returns the specified network resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates a network resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of network resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, network)</code>
-  <pre>Deletes the specified network resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  network: string, Name of the network resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, network)</code>
-  <pre>Returns the specified network resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  network: string, Name of the network resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "compute#network", # Type of the resource.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "IPv4Range": "A String", # Required; The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.
-      "gatewayIPv4": "A String", # An optional address that is used for default routing to other networks. This must be within the range specified by IPv4Range, and is typically the first usable address in that range. If not specified, the default value is the first usable address in IPv4Range.
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates a network resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "compute#network", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "IPv4Range": "A String", # Required; The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.
-    "gatewayIPv4": "A String", # An optional address that is used for default routing to other networks. This must be within the range specified by IPv4Range, and is typically the first usable address in that range. If not specified, the default value is the first usable address in IPv4Range.
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of network resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The network resources.
-      {
-          "kind": "compute#network", # Type of the resource.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "IPv4Range": "A String", # Required; The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.
-          "gatewayIPv4": "A String", # An optional address that is used for default routing to other networks. This must be within the range specified by IPv4Range, and is typically the first usable address in that range. If not specified, the default value is the first usable address in IPv4Range.
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#networkList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta13.operations.html b/docs/dyn/compute_v1beta13.operations.html
deleted file mode 100644
index b76e938..0000000
--- a/docs/dyn/compute_v1beta13.operations.html
+++ /dev/null
@@ -1,208 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta13.html">Compute Engine API</a> . <a href="compute_v1beta13.operations.html">operations</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, operation)</a></code></p>
-<p class="firstline">Deletes the specified operation resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, operation)</a></code></p>
-<p class="firstline">Retrieves the specified operation resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of operation resources contained within the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, operation)</code>
-  <pre>Deletes the specified operation resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  operation: string, Name of the operation resource to delete. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, operation)</code>
-  <pre>Retrieves the specified operation resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  operation: string, Name of the operation resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of operation resources contained within the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The operation resources.
-      {
-        "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-        "kind": "compute#operation", # Type of the resource.
-        "name": "A String", # Name of the resource.
-        "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-        "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-        "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-        "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-          "errors": [ # The array of errors encountered while processing this operation.
-            {
-              "message": "A String", # An optional, human-readable error message.
-              "code": "A String", # The error type identifier for this error.
-              "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-            },
-          ],
-        },
-        "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-        "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-        "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-        "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-        "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-        "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-        "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-        "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-      },
-    ],
-    "kind": "compute#operationList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta13.projects.html b/docs/dyn/compute_v1beta13.projects.html
deleted file mode 100644
index 2def9ff..0000000
--- a/docs/dyn/compute_v1beta13.projects.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta13.html">Compute Engine API</a> . <a href="compute_v1beta13.projects.html">projects</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project)</a></code></p>
-<p class="firstline">Returns the specified project resource.</p>
-<p class="toc_element">
-  <code><a href="#setCommonInstanceMetadata">setCommonInstanceMetadata(project, body)</a></code></p>
-<p class="firstline">Sets metadata common to all instances within the specified project using the data included in the request.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project)</code>
-  <pre>Returns the specified project resource.
-
-Args:
-  project: string, Name of the project resource to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "compute#project", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource.
-    "commonInstanceMetadata": { # Metadata key/value pairs available to all instances contained in this project.
-      "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-        {
-          "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
-          "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
-        },
-      ],
-      "kind": "compute#metadata", # Type of the resource.
-    },
-    "externalIpAddresses": [ # Internet available IP addresses available for use in this project.
-      "A String",
-    ],
-    "quotas": [ # Quotas assigned to this project.
-      {
-        "usage": 3.14, # Current usage of this metric.
-        "metric": "A String", # Name of the quota metric.
-        "limit": 3.14, # Quota limit for this metric.
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="setCommonInstanceMetadata">setCommonInstanceMetadata(project, body)</code>
-  <pre>Sets metadata common to all instances within the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-  "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-    {
-      "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
-      "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
-    },
-  ],
-  "kind": "compute#metadata", # Type of the resource.
-}
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta13.snapshots.html b/docs/dyn/compute_v1beta13.snapshots.html
deleted file mode 100644
index 4164b48..0000000
--- a/docs/dyn/compute_v1beta13.snapshots.html
+++ /dev/null
@@ -1,266 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta13.html">Compute Engine API</a> . <a href="compute_v1beta13.snapshots.html">snapshots</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, snapshot)</a></code></p>
-<p class="firstline">Deletes the specified persistent disk snapshot resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, snapshot)</a></code></p>
-<p class="firstline">Returns the specified persistent disk snapshot resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates a persistent disk snapshot resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of persistent disk snapshot resources contained within the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, snapshot)</code>
-  <pre>Deletes the specified persistent disk snapshot resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  snapshot: string, Name of the persistent disk snapshot resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, snapshot)</code>
-  <pre>Returns the specified persistent disk snapshot resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  snapshot: string, Name of the persistent disk snapshot resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "status": "A String", # The status of the persistent disk snapshot (output only).
-      "kind": "compute#snapshot", # Type of the resource.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "sourceDisk": "A String", # The source disk used to create this snapshot. Once the source disk has been deleted from the system, this field will be cleared, and will not be set even if a disk with the same name has been re-created.
-      "sourceDiskId": "A String", # The 'id' value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name.
-      "diskSizeGb": "A String", # Size of the persistent disk snapshot, specified in GB (output only).
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates a persistent disk snapshot resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "status": "A String", # The status of the persistent disk snapshot (output only).
-    "kind": "compute#snapshot", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sourceDisk": "A String", # The source disk used to create this snapshot. Once the source disk has been deleted from the system, this field will be cleared, and will not be set even if a disk with the same name has been re-created.
-    "sourceDiskId": "A String", # The 'id' value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name.
-    "diskSizeGb": "A String", # Size of the persistent disk snapshot, specified in GB (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource.
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of persistent disk snapshot resources contained within the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The persistent snapshot resources.
-      {
-          "status": "A String", # The status of the persistent disk snapshot (output only).
-          "kind": "compute#snapshot", # Type of the resource.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "sourceDisk": "A String", # The source disk used to create this snapshot. Once the source disk has been deleted from the system, this field will be cleared, and will not be set even if a disk with the same name has been re-created.
-          "sourceDiskId": "A String", # The 'id' value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name.
-          "diskSizeGb": "A String", # Size of the persistent disk snapshot, specified in GB (output only).
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#snapshotList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta13.zones.html b/docs/dyn/compute_v1beta13.zones.html
deleted file mode 100644
index 8945826..0000000
--- a/docs/dyn/compute_v1beta13.zones.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta13.html">Compute Engine API</a> . <a href="compute_v1beta13.zones.html">zones</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project, zone)</a></code></p>
-<p class="firstline">Returns the specified zone resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of zone resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project, zone)</code>
-  <pre>Returns the specified zone resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "status": "A String", # Status of the zone. "UP" or "DOWN".
-    "kind": "compute#zone", # Type of the resource.
-    "availableMachineType": [ # The machine types that can be used in this zone (output only).
-      "A String",
-    ],
-    "description": "A String", # Textual description of the resource.
-    "maintenanceWindows": [ # Scheduled maintenance windows for the zone. When the zone is in a maintenance window, all resources which reside in the zone will be unavailable.
-      {
-        "endTime": "A String", # End time of the maintenance window, in RFC 3339 format.
-        "beginTime": "A String", # Begin time of the maintenance window, in RFC 3339 format.
-        "name": "A String", # Name of the maintenance window.
-        "description": "A String", # Textual description of the maintenance window.
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of zone resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The zone resources.
-      {
-        "status": "A String", # Status of the zone. "UP" or "DOWN".
-        "kind": "compute#zone", # Type of the resource.
-        "availableMachineType": [ # The machine types that can be used in this zone (output only).
-          "A String",
-        ],
-        "description": "A String", # Textual description of the resource.
-        "maintenanceWindows": [ # Scheduled maintenance windows for the zone. When the zone is in a maintenance window, all resources which reside in the zone will be unavailable.
-          {
-            "endTime": "A String", # End time of the maintenance window, in RFC 3339 format.
-            "beginTime": "A String", # Begin time of the maintenance window, in RFC 3339 format.
-            "name": "A String", # Name of the maintenance window.
-            "description": "A String", # Textual description of the maintenance window.
-          },
-        ],
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "name": "A String", # Name of the resource.
-      },
-    ],
-    "kind": "compute#zoneList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta14.disks.html b/docs/dyn/compute_v1beta14.disks.html
deleted file mode 100644
index 8481565..0000000
--- a/docs/dyn/compute_v1beta14.disks.html
+++ /dev/null
@@ -1,303 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta14.html">Compute Engine API</a> . <a href="compute_v1beta14.disks.html">disks</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, zone, disk)</a></code></p>
-<p class="firstline">Deletes the specified persistent disk resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, zone, disk)</a></code></p>
-<p class="firstline">Returns the specified persistent disk resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, zone, body, sourceImage=None)</a></code></p>
-<p class="firstline">Creates a persistent disk resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, zone, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of persistent disk resources contained within the specified zone.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, zone, disk)</code>
-  <pre>Deletes the specified persistent disk resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  disk: string, Name of the persistent disk resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, zone, disk)</code>
-  <pre>Returns the specified persistent disk resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  disk: string, Name of the persistent disk resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # A persistent disk resource.
-      "status": "A String", # The status of disk creation (output only).
-      "sourceSnapshot": "A String", # The source snapshot used to create this disk. Once the source snapshot has been deleted from the system, this field will be cleared, and will not be set even if a snapshot with the same name has been re-created.
-      "kind": "compute#disk", # Type of the resource.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "sizeGb": "A String", # Size of the persistent disk, specified in GB. This parameter is optional when creating a disk from a disk image or a snapshot, otherwise it is required.
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "sourceSnapshotId": "A String", # The 'id' value of the snapshot used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given disk snapshot.
-      "zone": "A String", # URL of the zone where the disk resides (output only).
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "options": "A String", # Internal use only.
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, zone, body, sourceImage=None)</code>
-  <pre>Creates a persistent disk resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A persistent disk resource.
-    "status": "A String", # The status of disk creation (output only).
-    "sourceSnapshot": "A String", # The source snapshot used to create this disk. Once the source snapshot has been deleted from the system, this field will be cleared, and will not be set even if a snapshot with the same name has been re-created.
-    "kind": "compute#disk", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sizeGb": "A String", # Size of the persistent disk, specified in GB. This parameter is optional when creating a disk from a disk image or a snapshot, otherwise it is required.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "sourceSnapshotId": "A String", # The 'id' value of the snapshot used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given disk snapshot.
-    "zone": "A String", # URL of the zone where the disk resides (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "options": "A String", # Internal use only.
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-  sourceImage: string, Optional. Source image to restore onto a disk.
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, zone, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of persistent disk resources contained within the specified zone.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of persistent disk resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The persistent disk resources.
-      { # A persistent disk resource.
-          "status": "A String", # The status of disk creation (output only).
-          "sourceSnapshot": "A String", # The source snapshot used to create this disk. Once the source snapshot has been deleted from the system, this field will be cleared, and will not be set even if a snapshot with the same name has been re-created.
-          "kind": "compute#disk", # Type of the resource.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "sizeGb": "A String", # Size of the persistent disk, specified in GB. This parameter is optional when creating a disk from a disk image or a snapshot, otherwise it is required.
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "sourceSnapshotId": "A String", # The 'id' value of the snapshot used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given disk snapshot.
-          "zone": "A String", # URL of the zone where the disk resides (output only).
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "options": "A String", # Internal use only.
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#diskList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta14.firewalls.html b/docs/dyn/compute_v1beta14.firewalls.html
deleted file mode 100644
index cc78cc4..0000000
--- a/docs/dyn/compute_v1beta14.firewalls.html
+++ /dev/null
@@ -1,515 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta14.html">Compute Engine API</a> . <a href="compute_v1beta14.firewalls.html">firewalls</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, firewall)</a></code></p>
-<p class="firstline">Deletes the specified firewall resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, firewall)</a></code></p>
-<p class="firstline">Returns the specified firewall resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates a firewall resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of firewall resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(project, firewall, body)</a></code></p>
-<p class="firstline">Updates the specified firewall resource with the data included in the request. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(project, firewall, body)</a></code></p>
-<p class="firstline">Updates the specified firewall resource with the data included in the request.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, firewall)</code>
-  <pre>Deletes the specified firewall resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  firewall: string, Name of the firewall resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, firewall)</code>
-  <pre>Returns the specified firewall resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  firewall: string, Name of the firewall resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # A firewall resource.
-      "kind": "compute#firewall", # Type of the resource.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-        "A String",
-      ],
-      "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-        "A String",
-      ],
-      "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-      "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-        "A String",
-      ],
-      "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-        {
-          "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-          "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-              # Example inputs include: ["22"], ["80","443"] and ["12345-12349"].
-            "A String",
-          ],
-        },
-      ],
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates a firewall resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A firewall resource.
-    "kind": "compute#firewall", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-    "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-      "A String",
-    ],
-    "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-      {
-        "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-        "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-            # Example inputs include: ["22"], ["80","443"] and ["12345-12349"].
-          "A String",
-        ],
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of firewall resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of firewall resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The firewall resources.
-      { # A firewall resource.
-          "kind": "compute#firewall", # Type of the resource.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-            "A String",
-          ],
-          "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-            "A String",
-          ],
-          "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-          "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-            "A String",
-          ],
-          "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-            {
-              "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-              "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-                  # Example inputs include: ["22"], ["80","443"] and ["12345-12349"].
-                "A String",
-              ],
-            },
-          ],
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#firewallList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(project, firewall, body)</code>
-  <pre>Updates the specified firewall resource with the data included in the request. This method supports patch semantics.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  firewall: string, Name of the firewall resource to update. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A firewall resource.
-    "kind": "compute#firewall", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-    "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-      "A String",
-    ],
-    "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-      {
-        "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-        "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-            # Example inputs include: ["22"], ["80","443"] and ["12345-12349"].
-          "A String",
-        ],
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(project, firewall, body)</code>
-  <pre>Updates the specified firewall resource with the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  firewall: string, Name of the firewall resource to update. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A firewall resource.
-    "kind": "compute#firewall", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-    "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-      "A String",
-    ],
-    "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-      {
-        "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-        "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-            # Example inputs include: ["22"], ["80","443"] and ["12345-12349"].
-          "A String",
-        ],
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta14.globalOperations.html b/docs/dyn/compute_v1beta14.globalOperations.html
deleted file mode 100644
index 25f356c..0000000
--- a/docs/dyn/compute_v1beta14.globalOperations.html
+++ /dev/null
@@ -1,234 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta14.html">Compute Engine API</a> . <a href="compute_v1beta14.globalOperations.html">globalOperations</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, operation)</a></code></p>
-<p class="firstline">Deletes the specified operation resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, operation)</a></code></p>
-<p class="firstline">Retrieves the specified operation resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of operation resources contained within the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, operation)</code>
-  <pre>Deletes the specified operation resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  operation: string, Name of the operation resource to delete. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, operation)</code>
-  <pre>Retrieves the specified operation resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  operation: string, Name of the operation resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of operation resources contained within the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of operation resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The operation resources.
-      { # An operation resource, used to manage asynchronous API requests.
-        "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-        "kind": "compute#operation", # Type of the resource.
-        "name": "A String", # Name of the resource (output only).
-        "zone": "A String", # URL of the zone where the operation resides (output only).
-        "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-          {
-            "message": "A String", # Optional human-readable details for this warning.
-            "code": "A String", # The warning type identifier for this warning.
-            "data": [ # Metadata for this warning in 'key: value' format.
-              {
-                "value": "A String", # A warning data value corresponding to the key.
-                "key": "A String", # A key for the warning data.
-              },
-            ],
-          },
-        ],
-        "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-        "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-        "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-        "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-          "errors": [ # The array of errors encountered while processing this operation.
-            {
-              "message": "A String", # An optional, human-readable error message.
-              "code": "A String", # The error type identifier for this error.
-              "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-            },
-          ],
-        },
-        "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-        "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-        "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-        "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-        "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-        "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-        "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-        "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-      },
-    ],
-    "kind": "compute#operationList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta14.html b/docs/dyn/compute_v1beta14.html
deleted file mode 100644
index 12615b7..0000000
--- a/docs/dyn/compute_v1beta14.html
+++ /dev/null
@@ -1,137 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta14.html">Compute Engine API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="compute_v1beta14.disks.html">disks()</a></code>
-</p>
-<p class="firstline">Returns the disks Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta14.firewalls.html">firewalls()</a></code>
-</p>
-<p class="firstline">Returns the firewalls Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta14.globalOperations.html">globalOperations()</a></code>
-</p>
-<p class="firstline">Returns the globalOperations Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta14.images.html">images()</a></code>
-</p>
-<p class="firstline">Returns the images Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta14.instances.html">instances()</a></code>
-</p>
-<p class="firstline">Returns the instances Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta14.kernels.html">kernels()</a></code>
-</p>
-<p class="firstline">Returns the kernels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta14.machineTypes.html">machineTypes()</a></code>
-</p>
-<p class="firstline">Returns the machineTypes Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta14.networks.html">networks()</a></code>
-</p>
-<p class="firstline">Returns the networks Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta14.projects.html">projects()</a></code>
-</p>
-<p class="firstline">Returns the projects Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta14.snapshots.html">snapshots()</a></code>
-</p>
-<p class="firstline">Returns the snapshots Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta14.zoneOperations.html">zoneOperations()</a></code>
-</p>
-<p class="firstline">Returns the zoneOperations Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta14.zones.html">zones()</a></code>
-</p>
-<p class="firstline">Returns the zones Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta14.images.html b/docs/dyn/compute_v1beta14.images.html
deleted file mode 100644
index a208737..0000000
--- a/docs/dyn/compute_v1beta14.images.html
+++ /dev/null
@@ -1,391 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta14.html">Compute Engine API</a> . <a href="compute_v1beta14.images.html">images</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, image)</a></code></p>
-<p class="firstline">Deletes the specified image resource.</p>
-<p class="toc_element">
-  <code><a href="#deprecate">deprecate(project, image, body)</a></code></p>
-<p class="firstline">Sets the deprecation status of an image. If no message body is given, clears the deprecation status instead.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, image)</a></code></p>
-<p class="firstline">Returns the specified image resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates an image resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of image resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, image)</code>
-  <pre>Deletes the specified image resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  image: string, Name of the image resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="deprecate">deprecate(project, image, body)</code>
-  <pre>Sets the deprecation status of an image. If no message body is given, clears the deprecation status instead.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  image: string, Image name. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Deprecation status for a public resource.
-  "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-  "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-  "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-  "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-  "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, image)</code>
-  <pre>Returns the specified image resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  image: string, Name of the image resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # A disk image resource.
-      "kind": "compute#image", # Type of the resource.
-      "description": "A String", # Textual description of the resource; provided by the client when the resource is created.
-      "rawDisk": { # The raw disk image parameters.
-        "containerType": "TAR", # The format used to encode and transmit the block device. Should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
-        "source": "A String", # The full Google Cloud Storage URL where the disk image is stored; provided by the client when the disk image is created.
-        "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created.
-      },
-      "preferredKernel": "A String", # An optional URL of the preferred kernel for use with this disk image. If not specified, a server defined default kernel will be used.
-      "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this image.
-        "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-        "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-        "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-        "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-        "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-      },
-      "sourceType": "RAW", # Must be "RAW"; provided by the client when the disk image is created.
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates an image resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A disk image resource.
-    "kind": "compute#image", # Type of the resource.
-    "description": "A String", # Textual description of the resource; provided by the client when the resource is created.
-    "rawDisk": { # The raw disk image parameters.
-      "containerType": "TAR", # The format used to encode and transmit the block device. Should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
-      "source": "A String", # The full Google Cloud Storage URL where the disk image is stored; provided by the client when the disk image is created.
-      "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created.
-    },
-    "preferredKernel": "A String", # An optional URL of the preferred kernel for use with this disk image. If not specified, a server defined default kernel will be used.
-    "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this image.
-      "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-      "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-      "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-      "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-      "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-    },
-    "sourceType": "RAW", # Must be "RAW"; provided by the client when the disk image is created.
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of image resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of disk image resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The disk image resources.
-      { # A disk image resource.
-          "kind": "compute#image", # Type of the resource.
-          "description": "A String", # Textual description of the resource; provided by the client when the resource is created.
-          "rawDisk": { # The raw disk image parameters.
-            "containerType": "TAR", # The format used to encode and transmit the block device. Should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
-            "source": "A String", # The full Google Cloud Storage URL where the disk image is stored; provided by the client when the disk image is created.
-            "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created.
-          },
-          "preferredKernel": "A String", # An optional URL of the preferred kernel for use with this disk image. If not specified, a server defined default kernel will be used.
-          "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this image.
-            "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-            "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-            "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-            "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-            "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-          },
-          "sourceType": "RAW", # Must be "RAW"; provided by the client when the disk image is created.
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#imageList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta14.instances.html b/docs/dyn/compute_v1beta14.instances.html
deleted file mode 100644
index 9542441..0000000
--- a/docs/dyn/compute_v1beta14.instances.html
+++ /dev/null
@@ -1,882 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta14.html">Compute Engine API</a> . <a href="compute_v1beta14.instances.html">instances</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#addAccessConfig">addAccessConfig(project, zone, instance, network_interface, body)</a></code></p>
-<p class="firstline">Adds an access config to an instance's network interface.</p>
-<p class="toc_element">
-  <code><a href="#attachDisk">attachDisk(project, zone, instance, body)</a></code></p>
-<p class="firstline">Attaches a disk resource to an instance.</p>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, zone, instance)</a></code></p>
-<p class="firstline">Deletes the specified instance resource.</p>
-<p class="toc_element">
-  <code><a href="#deleteAccessConfig">deleteAccessConfig(project, zone, instance, access_config, network_interface)</a></code></p>
-<p class="firstline">Deletes an access config from an instance's network interface.</p>
-<p class="toc_element">
-  <code><a href="#detachDisk">detachDisk(project, zone, instance, deviceName)</a></code></p>
-<p class="firstline">Detaches a disk from an instance.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, zone, instance)</a></code></p>
-<p class="firstline">Returns the specified instance resource.</p>
-<p class="toc_element">
-  <code><a href="#getSerialPortOutput">getSerialPortOutput(project, zone, instance)</a></code></p>
-<p class="firstline">Returns the specified instance's serial port output.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, zone, body)</a></code></p>
-<p class="firstline">Creates an instance resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, zone, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of instance resources contained within the specified zone.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#setMetadata">setMetadata(project, zone, instance, body)</a></code></p>
-<p class="firstline">Sets metadata for the specified instance to the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#setTags">setTags(project, zone, instance, body)</a></code></p>
-<p class="firstline">Sets tags for the specified instance to the data included in the request.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="addAccessConfig">addAccessConfig(project, zone, instance, network_interface, body)</code>
-  <pre>Adds an access config to an instance's network interface.
-
-Args:
-  project: string, Project name. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Instance name. (required)
-  network_interface: string, Network interface name. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An access configuration attached to an instance's network interface.
-  "kind": "compute#accessConfig", # Type of the resource.
-  "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
-  "name": "A String", # Name of this access configuration.
-  "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="attachDisk">attachDisk(project, zone, instance, body)</code>
-  <pre>Attaches a disk resource to an instance.
-
-Args:
-  project: string, Project name. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Instance name. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An instance-attached disk resource.
-    "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
-    "kind": "compute#attachedDisk", # Type of the resource.
-    "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value.
-    "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
-    "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-    "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
-    "type": "A String", # Type of the disk, either "EPHEMERAL" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(project, zone, instance)</code>
-  <pre>Deletes the specified instance resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Name of the instance resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="deleteAccessConfig">deleteAccessConfig(project, zone, instance, access_config, network_interface)</code>
-  <pre>Deletes an access config from an instance's network interface.
-
-Args:
-  project: string, Project name. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Instance name. (required)
-  access_config: string, Access config name. (required)
-  network_interface: string, Network interface name. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="detachDisk">detachDisk(project, zone, instance, deviceName)</code>
-  <pre>Detaches a disk from an instance.
-
-Args:
-  project: string, Project name. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Instance name. (required)
-  deviceName: string, Disk device name to detach. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, zone, instance)</code>
-  <pre>Returns the specified instance resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Name of the instance resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # An instance resource.
-    "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING", "STOPPING", "STOPPED", "TERMINATED" (output only).
-    "kernel": "A String", # URL of the kernel resource to use when booting. In case of booting from persistent disk, this parameter is required. When booting from a disk image, it is optional, but may be provided to use a different kernel than the one associated with the image.
-    "kind": "compute#instance", # Type of the resource.
-    "canIpForward": True or False, # Reserved for future use.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "zone": "A String", # URL of the zone where the instance resides (output only).
-    "tags": { # A set of instance tags. # A list of tags to be applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client on instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035.
-        "items": [ # An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.
-          "A String",
-        ],
-        "fingerprint": "A String", # Fingerprint of this resource. A hash of the tags stored in this object. This field is used optimistic locking. An up-to-date tags fingerprint must be provided in order to modify tags.
-      },
-    "image": "A String", # An optional URL of the disk image resource to be installed on this instance; provided by the client when the instance is created. Alternatively to passing the image, the client may choose to boot from a persistent disk, by setting boot=true flag on one of the entries in disks[] collection.
-    "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them.
-      { # An instance-attached disk resource.
-          "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
-          "kind": "compute#attachedDisk", # Type of the resource.
-          "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value.
-          "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
-          "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-          "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
-          "type": "A String", # Type of the disk, either "EPHEMERAL" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
-        },
-    ],
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    "statusMessage": "A String", # An optional, human-readable explanation of the status (output only).
-    "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created.
-    "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries.
-      { # A service account.
-        "scopes": [ # The list of scopes to be made available for this service account.
-          "A String",
-        ],
-        "email": "A String", # Email address of the service account.
-      },
-    ],
-    "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-      { # A network interface resource attached to an instance.
-        "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-          { # An access configuration attached to an instance's network interface.
-            "kind": "compute#accessConfig", # Type of the resource.
-            "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
-            "name": "A String", # Name of this access configuration.
-            "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool.
-          },
-        ],
-        "networkIP": "A String", # An optional IPV4 internal network address to assign to the instance for this network interface. If not specified, one will be assigned from the available range.
-        "name": "A String", # Name of the network interface, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only).
-        "network": "A String", # URL of the network resource attached to this interface.
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "metadata": { # A metadata key/value entry. # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information.
-      "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-        {
-          "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
-          "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
-        },
-      ],
-      "kind": "compute#metadata", # Type of the resource.
-      "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="getSerialPortOutput">getSerialPortOutput(project, zone, instance)</code>
-  <pre>Returns the specified instance's serial port output.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Name of the instance scoping this request. (required)
-
-Returns:
-  An object of the form:
-
-    { # An instance serial console output.
-    "kind": "compute#serialPortOutput", # Type of the resource.
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "contents": "A String", # The contents of the console output.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, zone, body)</code>
-  <pre>Creates an instance resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An instance resource.
-  "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING", "STOPPING", "STOPPED", "TERMINATED" (output only).
-  "kernel": "A String", # URL of the kernel resource to use when booting. In case of booting from persistent disk, this parameter is required. When booting from a disk image, it is optional, but may be provided to use a different kernel than the one associated with the image.
-  "kind": "compute#instance", # Type of the resource.
-  "canIpForward": True or False, # Reserved for future use.
-  "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-  "zone": "A String", # URL of the zone where the instance resides (output only).
-  "tags": { # A set of instance tags. # A list of tags to be applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client on instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035.
-      "items": [ # An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.
-        "A String",
-      ],
-      "fingerprint": "A String", # Fingerprint of this resource. A hash of the tags stored in this object. This field is used optimistic locking. An up-to-date tags fingerprint must be provided in order to modify tags.
-    },
-  "image": "A String", # An optional URL of the disk image resource to be installed on this instance; provided by the client when the instance is created. Alternatively to passing the image, the client may choose to boot from a persistent disk, by setting boot=true flag on one of the entries in disks[] collection.
-  "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them.
-    { # An instance-attached disk resource.
-        "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
-        "kind": "compute#attachedDisk", # Type of the resource.
-        "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value.
-        "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
-        "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-        "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
-        "type": "A String", # Type of the disk, either "EPHEMERAL" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
-      },
-  ],
-  "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  "statusMessage": "A String", # An optional, human-readable explanation of the status (output only).
-  "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created.
-  "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries.
-    { # A service account.
-      "scopes": [ # The list of scopes to be made available for this service account.
-        "A String",
-      ],
-      "email": "A String", # Email address of the service account.
-    },
-  ],
-  "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-    { # A network interface resource attached to an instance.
-      "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-        { # An access configuration attached to an instance's network interface.
-          "kind": "compute#accessConfig", # Type of the resource.
-          "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
-          "name": "A String", # Name of this access configuration.
-          "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool.
-        },
-      ],
-      "networkIP": "A String", # An optional IPV4 internal network address to assign to the instance for this network interface. If not specified, one will be assigned from the available range.
-      "name": "A String", # Name of the network interface, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only).
-      "network": "A String", # URL of the network resource attached to this interface.
-    },
-  ],
-  "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-  "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-  "selfLink": "A String", # Server defined URL for the resource (output only).
-  "metadata": { # A metadata key/value entry. # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information.
-    "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-      {
-        "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
-        "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
-      },
-    ],
-    "kind": "compute#metadata", # Type of the resource.
-    "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
-  },
-}
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, zone, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of instance resources contained within the specified zone.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of instance resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # A list of instance resources.
-      { # An instance resource.
-        "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING", "STOPPING", "STOPPED", "TERMINATED" (output only).
-        "kernel": "A String", # URL of the kernel resource to use when booting. In case of booting from persistent disk, this parameter is required. When booting from a disk image, it is optional, but may be provided to use a different kernel than the one associated with the image.
-        "kind": "compute#instance", # Type of the resource.
-        "canIpForward": True or False, # Reserved for future use.
-        "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-        "zone": "A String", # URL of the zone where the instance resides (output only).
-        "tags": { # A set of instance tags. # A list of tags to be applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client on instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035.
-            "items": [ # An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.
-              "A String",
-            ],
-            "fingerprint": "A String", # Fingerprint of this resource. A hash of the tags stored in this object. This field is used optimistic locking. An up-to-date tags fingerprint must be provided in order to modify tags.
-          },
-        "image": "A String", # An optional URL of the disk image resource to be installed on this instance; provided by the client when the instance is created. Alternatively to passing the image, the client may choose to boot from a persistent disk, by setting boot=true flag on one of the entries in disks[] collection.
-        "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them.
-          { # An instance-attached disk resource.
-              "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
-              "kind": "compute#attachedDisk", # Type of the resource.
-              "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value.
-              "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
-              "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-              "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
-              "type": "A String", # Type of the disk, either "EPHEMERAL" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
-            },
-        ],
-        "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        "statusMessage": "A String", # An optional, human-readable explanation of the status (output only).
-        "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created.
-        "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries.
-          { # A service account.
-            "scopes": [ # The list of scopes to be made available for this service account.
-              "A String",
-            ],
-            "email": "A String", # Email address of the service account.
-          },
-        ],
-        "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-          { # A network interface resource attached to an instance.
-            "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-              { # An access configuration attached to an instance's network interface.
-                "kind": "compute#accessConfig", # Type of the resource.
-                "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
-                "name": "A String", # Name of this access configuration.
-                "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool.
-              },
-            ],
-            "networkIP": "A String", # An optional IPV4 internal network address to assign to the instance for this network interface. If not specified, one will be assigned from the available range.
-            "name": "A String", # Name of the network interface, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only).
-            "network": "A String", # URL of the network resource attached to this interface.
-          },
-        ],
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "metadata": { # A metadata key/value entry. # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information.
-          "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-            {
-              "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
-              "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
-            },
-          ],
-          "kind": "compute#metadata", # Type of the resource.
-          "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
-        },
-      },
-    ],
-    "kind": "compute#instanceList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="setMetadata">setMetadata(project, zone, instance, body)</code>
-  <pre>Sets metadata for the specified instance to the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Name of the instance scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A metadata key/value entry.
-  "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-    {
-      "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
-      "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
-    },
-  ],
-  "kind": "compute#metadata", # Type of the resource.
-  "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="setTags">setTags(project, zone, instance, body)</code>
-  <pre>Sets tags for the specified instance to the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Name of the instance scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A set of instance tags.
-    "items": [ # An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.
-      "A String",
-    ],
-    "fingerprint": "A String", # Fingerprint of this resource. A hash of the tags stored in this object. This field is used optimistic locking. An up-to-date tags fingerprint must be provided in order to modify tags.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta14.kernels.html b/docs/dyn/compute_v1beta14.kernels.html
deleted file mode 100644
index b76f817..0000000
--- a/docs/dyn/compute_v1beta14.kernels.html
+++ /dev/null
@@ -1,167 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta14.html">Compute Engine API</a> . <a href="compute_v1beta14.kernels.html">kernels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project, kernel)</a></code></p>
-<p class="firstline">Returns the specified kernel resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of kernel resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project, kernel)</code>
-  <pre>Returns the specified kernel resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  kernel: string, Name of the kernel resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # A kernel resource.
-    "kind": "compute#kernel", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource.
-    "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this kernel.
-      "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-      "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-      "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-      "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-      "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-    },
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of kernel resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of kernel resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The kernel resources.
-      { # A kernel resource.
-        "kind": "compute#kernel", # Type of the resource.
-        "description": "A String", # An optional textual description of the resource.
-        "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this kernel.
-          "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-          "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-          "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-          "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-          "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-        },
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "name": "A String", # Name of the resource.
-      },
-    ],
-    "kind": "compute#kernelList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta14.machineTypes.html b/docs/dyn/compute_v1beta14.machineTypes.html
deleted file mode 100644
index 91c7d6c..0000000
--- a/docs/dyn/compute_v1beta14.machineTypes.html
+++ /dev/null
@@ -1,193 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta14.html">Compute Engine API</a> . <a href="compute_v1beta14.machineTypes.html">machineTypes</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project, machineType)</a></code></p>
-<p class="firstline">Returns the specified machine type resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of machine type resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project, machineType)</code>
-  <pre>Returns the specified machine type resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  machineType: string, Name of the machine type resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # A machine type resource.
-    "guestCpus": 42, # Count of CPUs exposed to the instance.
-    "imageSpaceGb": 42, # Space allotted for the image, defined in GB.
-    "kind": "compute#machineType", # Type of the resource.
-    "ephemeralDisks": [ # List of extended ephemeral disks assigned to the instance.
-      {
-        "diskGb": 42, # Size of the ephemeral disk, defined in GB.
-      },
-    ],
-    "maximumPersistentDisksSizeGb": "A String", # Maximum total persistent disks size (GB) allowed.
-    "description": "A String", # An optional textual description of the resource.
-    "maximumPersistentDisks": 42, # Maximum persistent disks allowed.
-    "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this machine type.
-      "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-      "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-      "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-      "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-      "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-    },
-    "memoryMb": 42, # Physical memory assigned to the instance, defined in MB.
-    "availableZone": [ # The zones that this machine type can run in.
-      "A String",
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of machine type resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of machine type resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The machine type resources.
-      { # A machine type resource.
-        "guestCpus": 42, # Count of CPUs exposed to the instance.
-        "imageSpaceGb": 42, # Space allotted for the image, defined in GB.
-        "kind": "compute#machineType", # Type of the resource.
-        "ephemeralDisks": [ # List of extended ephemeral disks assigned to the instance.
-          {
-            "diskGb": 42, # Size of the ephemeral disk, defined in GB.
-          },
-        ],
-        "maximumPersistentDisksSizeGb": "A String", # Maximum total persistent disks size (GB) allowed.
-        "description": "A String", # An optional textual description of the resource.
-        "maximumPersistentDisks": 42, # Maximum persistent disks allowed.
-        "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this machine type.
-          "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-          "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-          "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-          "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-          "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-        },
-        "memoryMb": 42, # Physical memory assigned to the instance, defined in MB.
-        "availableZone": [ # The zones that this machine type can run in.
-          "A String",
-        ],
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "name": "A String", # Name of the resource.
-      },
-    ],
-    "kind": "compute#machineTypeList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta14.networks.html b/docs/dyn/compute_v1beta14.networks.html
deleted file mode 100644
index 4f652ed..0000000
--- a/docs/dyn/compute_v1beta14.networks.html
+++ /dev/null
@@ -1,286 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta14.html">Compute Engine API</a> . <a href="compute_v1beta14.networks.html">networks</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, network)</a></code></p>
-<p class="firstline">Deletes the specified network resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, network)</a></code></p>
-<p class="firstline">Returns the specified network resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates a network resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of network resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, network)</code>
-  <pre>Deletes the specified network resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  network: string, Name of the network resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, network)</code>
-  <pre>Returns the specified network resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  network: string, Name of the network resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # A network resource.
-      "kind": "compute#network", # Type of the resource.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "IPv4Range": "A String", # Required; The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.
-      "gatewayIPv4": "A String", # An optional address that is used for default routing to other networks. This must be within the range specified by IPv4Range, and is typically the first usable address in that range. If not specified, the default value is the first usable address in IPv4Range.
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates a network resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A network resource.
-    "kind": "compute#network", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "IPv4Range": "A String", # Required; The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.
-    "gatewayIPv4": "A String", # An optional address that is used for default routing to other networks. This must be within the range specified by IPv4Range, and is typically the first usable address in that range. If not specified, the default value is the first usable address in IPv4Range.
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of network resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of network resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The network resources.
-      { # A network resource.
-          "kind": "compute#network", # Type of the resource.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "IPv4Range": "A String", # Required; The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.
-          "gatewayIPv4": "A String", # An optional address that is used for default routing to other networks. This must be within the range specified by IPv4Range, and is typically the first usable address in that range. If not specified, the default value is the first usable address in IPv4Range.
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#networkList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta14.projects.html b/docs/dyn/compute_v1beta14.projects.html
deleted file mode 100644
index 2944cba..0000000
--- a/docs/dyn/compute_v1beta14.projects.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta14.html">Compute Engine API</a> . <a href="compute_v1beta14.projects.html">projects</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project)</a></code></p>
-<p class="firstline">Returns the specified project resource.</p>
-<p class="toc_element">
-  <code><a href="#setCommonInstanceMetadata">setCommonInstanceMetadata(project, body)</a></code></p>
-<p class="firstline">Sets metadata common to all instances within the specified project using the data included in the request.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project)</code>
-  <pre>Returns the specified project resource.
-
-Args:
-  project: string, Name of the project resource to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    { # A project resource. Projects can be created only in the APIs Console. Unless marked otherwise, values can only be modified in the console.
-    "kind": "compute#project", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource.
-    "commonInstanceMetadata": { # A metadata key/value entry. # Metadata key/value pairs available to all instances contained in this project.
-      "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-        {
-          "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
-          "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
-        },
-      ],
-      "kind": "compute#metadata", # Type of the resource.
-      "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
-    },
-    "externalIpAddresses": [ # Internet available IP addresses available for use in this project.
-      "A String",
-    ],
-    "quotas": [ # Quotas assigned to this project.
-      { # A quotas entry.
-        "usage": 3.14, # Current usage of this metric.
-        "metric": "A String", # Name of the quota metric.
-        "limit": 3.14, # Quota limit for this metric.
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="setCommonInstanceMetadata">setCommonInstanceMetadata(project, body)</code>
-  <pre>Sets metadata common to all instances within the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A metadata key/value entry.
-  "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-    {
-      "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
-      "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
-    },
-  ],
-  "kind": "compute#metadata", # Type of the resource.
-  "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta14.snapshots.html b/docs/dyn/compute_v1beta14.snapshots.html
deleted file mode 100644
index e140952..0000000
--- a/docs/dyn/compute_v1beta14.snapshots.html
+++ /dev/null
@@ -1,292 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta14.html">Compute Engine API</a> . <a href="compute_v1beta14.snapshots.html">snapshots</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, snapshot)</a></code></p>
-<p class="firstline">Deletes the specified persistent disk snapshot resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, snapshot)</a></code></p>
-<p class="firstline">Returns the specified persistent disk snapshot resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates a persistent disk snapshot resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of persistent disk snapshot resources contained within the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, snapshot)</code>
-  <pre>Deletes the specified persistent disk snapshot resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  snapshot: string, Name of the persistent disk snapshot resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, snapshot)</code>
-  <pre>Returns the specified persistent disk snapshot resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  snapshot: string, Name of the persistent disk snapshot resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # A persistent disk snapshot resource.
-      "status": "A String", # The status of the persistent disk snapshot (output only).
-      "kind": "compute#snapshot", # Type of the resource.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "sourceDisk": "A String", # The source disk used to create this snapshot. Once the source disk has been deleted from the system, this field will be cleared, and will not be set even if a disk with the same name has been re-created.
-      "sourceDiskId": "A String", # The 'id' value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name.
-      "diskSizeGb": "A String", # Size of the persistent disk snapshot, specified in GB (output only).
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates a persistent disk snapshot resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A persistent disk snapshot resource.
-    "status": "A String", # The status of the persistent disk snapshot (output only).
-    "kind": "compute#snapshot", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sourceDisk": "A String", # The source disk used to create this snapshot. Once the source disk has been deleted from the system, this field will be cleared, and will not be set even if a disk with the same name has been re-created.
-    "sourceDiskId": "A String", # The 'id' value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name.
-    "diskSizeGb": "A String", # Size of the persistent disk snapshot, specified in GB (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of persistent disk snapshot resources contained within the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of persistent disk snapshot resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The persistent snapshot resources.
-      { # A persistent disk snapshot resource.
-          "status": "A String", # The status of the persistent disk snapshot (output only).
-          "kind": "compute#snapshot", # Type of the resource.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "sourceDisk": "A String", # The source disk used to create this snapshot. Once the source disk has been deleted from the system, this field will be cleared, and will not be set even if a disk with the same name has been re-created.
-          "sourceDiskId": "A String", # The 'id' value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name.
-          "diskSizeGb": "A String", # Size of the persistent disk snapshot, specified in GB (output only).
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#snapshotList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta14.zoneOperations.html b/docs/dyn/compute_v1beta14.zoneOperations.html
deleted file mode 100644
index 6609793..0000000
--- a/docs/dyn/compute_v1beta14.zoneOperations.html
+++ /dev/null
@@ -1,237 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta14.html">Compute Engine API</a> . <a href="compute_v1beta14.zoneOperations.html">zoneOperations</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, zone, operation)</a></code></p>
-<p class="firstline">Deletes the specified zone-specific operation resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, zone, operation)</a></code></p>
-<p class="firstline">Retrieves the specified zone-specific operation resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, zone, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of operation resources contained within the specified zone.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, zone, operation)</code>
-  <pre>Deletes the specified zone-specific operation resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  operation: string, Name of the operation resource to delete. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, zone, operation)</code>
-  <pre>Retrieves the specified zone-specific operation resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  operation: string, Name of the operation resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, zone, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of operation resources contained within the specified zone.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of operation resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The operation resources.
-      { # An operation resource, used to manage asynchronous API requests.
-        "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-        "kind": "compute#operation", # Type of the resource.
-        "name": "A String", # Name of the resource (output only).
-        "zone": "A String", # URL of the zone where the operation resides (output only).
-        "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-          {
-            "message": "A String", # Optional human-readable details for this warning.
-            "code": "A String", # The warning type identifier for this warning.
-            "data": [ # Metadata for this warning in 'key: value' format.
-              {
-                "value": "A String", # A warning data value corresponding to the key.
-                "key": "A String", # A key for the warning data.
-              },
-            ],
-          },
-        ],
-        "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-        "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-        "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-        "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-          "errors": [ # The array of errors encountered while processing this operation.
-            {
-              "message": "A String", # An optional, human-readable error message.
-              "code": "A String", # The error type identifier for this error.
-              "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-            },
-          ],
-        },
-        "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-        "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-        "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-        "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-        "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-        "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-        "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-        "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-      },
-    ],
-    "kind": "compute#operationList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta14.zones.html b/docs/dyn/compute_v1beta14.zones.html
deleted file mode 100644
index 7e46c27..0000000
--- a/docs/dyn/compute_v1beta14.zones.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta14.html">Compute Engine API</a> . <a href="compute_v1beta14.zones.html">zones</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project, zone)</a></code></p>
-<p class="firstline">Returns the specified zone resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of zone resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project, zone)</code>
-  <pre>Returns the specified zone resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # A zone resource.
-    "status": "A String", # Status of the zone. "UP" or "DOWN".
-    "kind": "compute#zone", # Type of the resource.
-    "availableMachineType": [ # The machine types that can be used in this zone (output only).
-      "A String",
-    ],
-    "description": "A String", # Textual description of the resource.
-    "maintenanceWindows": [ # Scheduled maintenance windows for the zone. When the zone is in a maintenance window, all resources which reside in the zone will be unavailable.
-      {
-        "endTime": "A String", # End time of the maintenance window, in RFC 3339 format.
-        "beginTime": "A String", # Begin time of the maintenance window, in RFC 3339 format.
-        "name": "A String", # Name of the maintenance window.
-        "description": "A String", # Textual description of the maintenance window.
-      },
-    ],
-    "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this zone.
-      "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-      "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-      "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-      "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-      "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-    },
-    "quotas": [ # Quotas assigned to this zone.
-      { # A quotas entry.
-        "usage": 3.14, # Current usage of this metric.
-        "metric": "A String", # Name of the quota metric.
-        "limit": 3.14, # Quota limit for this metric.
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of zone resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of zone resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The zone resources.
-      { # A zone resource.
-        "status": "A String", # Status of the zone. "UP" or "DOWN".
-        "kind": "compute#zone", # Type of the resource.
-        "availableMachineType": [ # The machine types that can be used in this zone (output only).
-          "A String",
-        ],
-        "description": "A String", # Textual description of the resource.
-        "maintenanceWindows": [ # Scheduled maintenance windows for the zone. When the zone is in a maintenance window, all resources which reside in the zone will be unavailable.
-          {
-            "endTime": "A String", # End time of the maintenance window, in RFC 3339 format.
-            "beginTime": "A String", # Begin time of the maintenance window, in RFC 3339 format.
-            "name": "A String", # Name of the maintenance window.
-            "description": "A String", # Textual description of the maintenance window.
-          },
-        ],
-        "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this zone.
-          "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-          "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-          "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-          "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-          "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-        },
-        "quotas": [ # Quotas assigned to this zone.
-          { # A quotas entry.
-            "usage": 3.14, # Current usage of this metric.
-            "metric": "A String", # Name of the quota metric.
-            "limit": 3.14, # Quota limit for this metric.
-          },
-        ],
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "name": "A String", # Name of the resource.
-      },
-    ],
-    "kind": "compute#zoneList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.addresses.html b/docs/dyn/compute_v1beta15.addresses.html
deleted file mode 100644
index 0eacb0b..0000000
--- a/docs/dyn/compute_v1beta15.addresses.html
+++ /dev/null
@@ -1,367 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.addresses.html">addresses</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of addresses grouped by scope.</p>
-<p class="toc_element">
-  <code><a href="#aggregatedList_next">aggregatedList_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, region, address)</a></code></p>
-<p class="firstline">Deletes the specified address resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, region, address)</a></code></p>
-<p class="firstline">Returns the specified address resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, region, body)</a></code></p>
-<p class="firstline">Creates an address resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, region, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of address resources contained within the specified region.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of addresses grouped by scope.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": { # A map of scoped address lists.
-      "a_key": { # Name of the scope containing this set of addresses.
-        "warning": { # Informational warning which replaces the list of addresses when the list is empty.
-          "message": "A String", # Optional human-readable details for this warning.
-          "code": "A String", # The warning type identifier for this warning.
-          "data": [ # Metadata for this warning in 'key: value' format.
-            {
-              "value": "A String", # A warning data value corresponding to the key.
-              "key": "A String", # A key for the warning data.
-            },
-          ],
-        },
-        "addresses": [ # List of addresses contained in this scope.
-          { # A reserved address resource.
-              "status": "A String", # The status of the address (output only).
-              "kind": "compute#address", # Type of the resource.
-              "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-              "region": "A String", # URL of the region where the address resides (output only).
-              "user": "A String", # URL of the resource currently using this address (output only).
-              "address": "A String", # The IP address represented by this resource.
-              "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-              "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-              "selfLink": "A String", # Server defined URL for the resource (output only).
-              "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-            },
-        ],
-      },
-    },
-    "kind": "compute#addressAggregatedList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="aggregatedList_next">aggregatedList_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(project, region, address)</code>
-  <pre>Deletes the specified address resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  region: string, Name of the region scoping this request. (required)
-  address: string, Name of the address resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, region, address)</code>
-  <pre>Returns the specified address resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  region: string, Name of the region scoping this request. (required)
-  address: string, Name of the address resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # A reserved address resource.
-      "status": "A String", # The status of the address (output only).
-      "kind": "compute#address", # Type of the resource.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "region": "A String", # URL of the region where the address resides (output only).
-      "user": "A String", # URL of the resource currently using this address (output only).
-      "address": "A String", # The IP address represented by this resource.
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, region, body)</code>
-  <pre>Creates an address resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  region: string, Name of the region scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A reserved address resource.
-    "status": "A String", # The status of the address (output only).
-    "kind": "compute#address", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "region": "A String", # URL of the region where the address resides (output only).
-    "user": "A String", # URL of the resource currently using this address (output only).
-    "address": "A String", # The IP address represented by this resource.
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, region, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of address resources contained within the specified region.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  region: string, Name of the region scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of address resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The address resources.
-      { # A reserved address resource.
-          "status": "A String", # The status of the address (output only).
-          "kind": "compute#address", # Type of the resource.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "region": "A String", # URL of the region where the address resides (output only).
-          "user": "A String", # URL of the resource currently using this address (output only).
-          "address": "A String", # The IP address represented by this resource.
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#addressList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.disks.html b/docs/dyn/compute_v1beta15.disks.html
deleted file mode 100644
index 47cb29c..0000000
--- a/docs/dyn/compute_v1beta15.disks.html
+++ /dev/null
@@ -1,452 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.disks.html">disks</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of disks grouped by scope.</p>
-<p class="toc_element">
-  <code><a href="#aggregatedList_next">aggregatedList_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#createSnapshot">createSnapshot(project, zone, disk, body)</a></code></p>
-<p class="firstline">A description of how to use this function</p>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, zone, disk)</a></code></p>
-<p class="firstline">Deletes the specified persistent disk resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, zone, disk)</a></code></p>
-<p class="firstline">Returns the specified persistent disk resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, zone, body, sourceImage=None)</a></code></p>
-<p class="firstline">Creates a persistent disk resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, zone, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of persistent disk resources contained within the specified zone.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of disks grouped by scope.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": { # A map of scoped disk lists.
-      "a_key": { # Name of the scope containing this set of disks.
-        "disks": [ # List of disks contained in this scope.
-          { # A persistent disk resource.
-              "status": "A String", # The status of disk creation (output only).
-              "sourceSnapshot": "A String", # The source snapshot used to create this disk. Once the source snapshot has been deleted from the system, this field will be cleared, and will not be set even if a snapshot with the same name has been re-created.
-              "kind": "compute#disk", # Type of the resource.
-              "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-              "sizeGb": "A String", # Size of the persistent disk, specified in GB. This parameter is optional when creating a disk from a disk image or a snapshot, otherwise it is required.
-              "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-              "sourceSnapshotId": "A String", # The 'id' value of the snapshot used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given disk snapshot.
-              "zone": "A String", # URL of the zone where the disk resides (output only).
-              "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-              "options": "A String", # Internal use only.
-              "selfLink": "A String", # Server defined URL for the resource (output only).
-              "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-            },
-        ],
-        "warning": { # Informational warning which replaces the list of disks when the list is empty.
-          "message": "A String", # Optional human-readable details for this warning.
-          "code": "A String", # The warning type identifier for this warning.
-          "data": [ # Metadata for this warning in 'key: value' format.
-            {
-              "value": "A String", # A warning data value corresponding to the key.
-              "key": "A String", # A key for the warning data.
-            },
-          ],
-        },
-      },
-    },
-    "kind": "compute#diskAggregatedList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="aggregatedList_next">aggregatedList_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="createSnapshot">createSnapshot(project, zone, disk, body)</code>
-  <pre>A description of how to use this function
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  disk: string, Name of the persistent disk resource to delete. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A persistent disk snapshot resource.
-    "status": "A String", # The status of the persistent disk snapshot (output only).
-    "kind": "compute#snapshot", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sourceDisk": "A String", # The source disk used to create this snapshot. Once the source disk has been deleted from the system, this field will be cleared, and will not be set even if a disk with the same name has been re-created (output only).
-    "sourceDiskId": "A String", # The 'id' value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name.
-    "diskSizeGb": "A String", # Size of the persistent disk snapshot, specified in GB (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(project, zone, disk)</code>
-  <pre>Deletes the specified persistent disk resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  disk: string, Name of the persistent disk resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, zone, disk)</code>
-  <pre>Returns the specified persistent disk resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  disk: string, Name of the persistent disk resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # A persistent disk resource.
-      "status": "A String", # The status of disk creation (output only).
-      "sourceSnapshot": "A String", # The source snapshot used to create this disk. Once the source snapshot has been deleted from the system, this field will be cleared, and will not be set even if a snapshot with the same name has been re-created.
-      "kind": "compute#disk", # Type of the resource.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "sizeGb": "A String", # Size of the persistent disk, specified in GB. This parameter is optional when creating a disk from a disk image or a snapshot, otherwise it is required.
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "sourceSnapshotId": "A String", # The 'id' value of the snapshot used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given disk snapshot.
-      "zone": "A String", # URL of the zone where the disk resides (output only).
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "options": "A String", # Internal use only.
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, zone, body, sourceImage=None)</code>
-  <pre>Creates a persistent disk resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A persistent disk resource.
-    "status": "A String", # The status of disk creation (output only).
-    "sourceSnapshot": "A String", # The source snapshot used to create this disk. Once the source snapshot has been deleted from the system, this field will be cleared, and will not be set even if a snapshot with the same name has been re-created.
-    "kind": "compute#disk", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sizeGb": "A String", # Size of the persistent disk, specified in GB. This parameter is optional when creating a disk from a disk image or a snapshot, otherwise it is required.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "sourceSnapshotId": "A String", # The 'id' value of the snapshot used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given disk snapshot.
-    "zone": "A String", # URL of the zone where the disk resides (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "options": "A String", # Internal use only.
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-  sourceImage: string, Optional. Source image to restore onto a disk.
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, zone, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of persistent disk resources contained within the specified zone.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of persistent disk resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The persistent disk resources.
-      { # A persistent disk resource.
-          "status": "A String", # The status of disk creation (output only).
-          "sourceSnapshot": "A String", # The source snapshot used to create this disk. Once the source snapshot has been deleted from the system, this field will be cleared, and will not be set even if a snapshot with the same name has been re-created.
-          "kind": "compute#disk", # Type of the resource.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "sizeGb": "A String", # Size of the persistent disk, specified in GB. This parameter is optional when creating a disk from a disk image or a snapshot, otherwise it is required.
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "sourceSnapshotId": "A String", # The 'id' value of the snapshot used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given disk snapshot.
-          "zone": "A String", # URL of the zone where the disk resides (output only).
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "options": "A String", # Internal use only.
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#diskList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.firewalls.html b/docs/dyn/compute_v1beta15.firewalls.html
deleted file mode 100644
index 678a63f..0000000
--- a/docs/dyn/compute_v1beta15.firewalls.html
+++ /dev/null
@@ -1,524 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.firewalls.html">firewalls</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, firewall)</a></code></p>
-<p class="firstline">Deletes the specified firewall resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, firewall)</a></code></p>
-<p class="firstline">Returns the specified firewall resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates a firewall resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of firewall resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(project, firewall, body)</a></code></p>
-<p class="firstline">Updates the specified firewall resource with the data included in the request. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(project, firewall, body)</a></code></p>
-<p class="firstline">Updates the specified firewall resource with the data included in the request.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, firewall)</code>
-  <pre>Deletes the specified firewall resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  firewall: string, Name of the firewall resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, firewall)</code>
-  <pre>Returns the specified firewall resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  firewall: string, Name of the firewall resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # A firewall resource.
-      "kind": "compute#firewall", # Type of the resource.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-        "A String",
-      ],
-      "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-        "A String",
-      ],
-      "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-      "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-        "A String",
-      ],
-      "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-        {
-          "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-          "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-              #
-              # Example inputs include: ["22"], ["80","443"] and ["12345-12349"].
-            "A String",
-          ],
-        },
-      ],
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates a firewall resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A firewall resource.
-    "kind": "compute#firewall", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-    "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-      "A String",
-    ],
-    "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-      {
-        "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-        "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-            # 
-            # Example inputs include: ["22"], ["80","443"] and ["12345-12349"].
-          "A String",
-        ],
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of firewall resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of firewall resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The firewall resources.
-      { # A firewall resource.
-          "kind": "compute#firewall", # Type of the resource.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-            "A String",
-          ],
-          "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-            "A String",
-          ],
-          "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-          "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-            "A String",
-          ],
-          "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-            {
-              "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-              "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-                  #
-                  # Example inputs include: ["22"], ["80","443"] and ["12345-12349"].
-                "A String",
-              ],
-            },
-          ],
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#firewallList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(project, firewall, body)</code>
-  <pre>Updates the specified firewall resource with the data included in the request. This method supports patch semantics.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  firewall: string, Name of the firewall resource to update. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A firewall resource.
-    "kind": "compute#firewall", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-    "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-      "A String",
-    ],
-    "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-      {
-        "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-        "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-            # 
-            # Example inputs include: ["22"], ["80","443"] and ["12345-12349"].
-          "A String",
-        ],
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(project, firewall, body)</code>
-  <pre>Updates the specified firewall resource with the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  firewall: string, Name of the firewall resource to update. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A firewall resource.
-    "kind": "compute#firewall", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
-      "A String",
-    ],
-    "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
-    "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-      "A String",
-    ],
-    "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-      {
-        "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
-        "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
-            # 
-            # Example inputs include: ["22"], ["80","443"] and ["12345-12349"].
-          "A String",
-        ],
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.globalOperations.html b/docs/dyn/compute_v1beta15.globalOperations.html
deleted file mode 100644
index b647562..0000000
--- a/docs/dyn/compute_v1beta15.globalOperations.html
+++ /dev/null
@@ -1,336 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.globalOperations.html">globalOperations</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of all operations grouped by scope.</p>
-<p class="toc_element">
-  <code><a href="#aggregatedList_next">aggregatedList_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, operation)</a></code></p>
-<p class="firstline">Deletes the specified operation resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, operation)</a></code></p>
-<p class="firstline">Retrieves the specified operation resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of operation resources contained within the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of all operations grouped by scope.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": { # A map of scoped operation lists.
-      "a_key": { # Name of the scope containing this set of operations.
-        "operations": [ # List of operations contained in this scope.
-          { # An operation resource, used to manage asynchronous API requests.
-            "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-            "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-            "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-            "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-            "zone": "A String", # URL of the zone where the operation resides (output only).
-            "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-            "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-            "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-            "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-            "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-            "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-            "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-            "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-              {
-                "message": "A String", # Optional human-readable details for this warning.
-                "code": "A String", # The warning type identifier for this warning.
-                "data": [ # Metadata for this warning in 'key: value' format.
-                  {
-                    "value": "A String", # A warning data value corresponding to the key.
-                    "key": "A String", # A key for the warning data.
-                  },
-                ],
-              },
-            ],
-            "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-            "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-            "kind": "compute#operation", # Type of the resource.
-            "name": "A String", # Name of the resource (output only).
-            "region": "A String", # URL of the region where the operation resides (output only).
-            "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-              "errors": [ # The array of errors encountered while processing this operation.
-                {
-                  "message": "A String", # An optional, human-readable error message.
-                  "code": "A String", # The error type identifier for this error.
-                  "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-                },
-              ],
-            },
-            "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-            "selfLink": "A String", # Server defined URL for the resource (output only).
-            "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-          },
-        ],
-        "warning": { # Informational warning which replaces the list of operations when the list is empty.
-          "message": "A String", # Optional human-readable details for this warning.
-          "code": "A String", # The warning type identifier for this warning.
-          "data": [ # Metadata for this warning in 'key: value' format.
-            {
-              "value": "A String", # A warning data value corresponding to the key.
-              "key": "A String", # A key for the warning data.
-            },
-          ],
-        },
-      },
-    },
-    "kind": "compute#operationAggregatedList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="aggregatedList_next">aggregatedList_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(project, operation)</code>
-  <pre>Deletes the specified operation resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  operation: string, Name of the operation resource to delete. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, operation)</code>
-  <pre>Retrieves the specified operation resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  operation: string, Name of the operation resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of operation resources contained within the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of operation resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The operation resources.
-      { # An operation resource, used to manage asynchronous API requests.
-        "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-        "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "zone": "A String", # URL of the zone where the operation resides (output only).
-        "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-        "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-        "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-        "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-        "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-        "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-        "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-        "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-          {
-            "message": "A String", # Optional human-readable details for this warning.
-            "code": "A String", # The warning type identifier for this warning.
-            "data": [ # Metadata for this warning in 'key: value' format.
-              {
-                "value": "A String", # A warning data value corresponding to the key.
-                "key": "A String", # A key for the warning data.
-              },
-            ],
-          },
-        ],
-        "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-        "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-        "kind": "compute#operation", # Type of the resource.
-        "name": "A String", # Name of the resource (output only).
-        "region": "A String", # URL of the region where the operation resides (output only).
-        "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-          "errors": [ # The array of errors encountered while processing this operation.
-            {
-              "message": "A String", # An optional, human-readable error message.
-              "code": "A String", # The error type identifier for this error.
-              "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-            },
-          ],
-        },
-        "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-      },
-    ],
-    "kind": "compute#operationList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.html b/docs/dyn/compute_v1beta15.html
deleted file mode 100644
index dcf75f8..0000000
--- a/docs/dyn/compute_v1beta15.html
+++ /dev/null
@@ -1,162 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta15.html">Compute Engine API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="compute_v1beta15.addresses.html">addresses()</a></code>
-</p>
-<p class="firstline">Returns the addresses Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta15.disks.html">disks()</a></code>
-</p>
-<p class="firstline">Returns the disks Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta15.firewalls.html">firewalls()</a></code>
-</p>
-<p class="firstline">Returns the firewalls Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta15.globalOperations.html">globalOperations()</a></code>
-</p>
-<p class="firstline">Returns the globalOperations Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta15.httpHealthChecks.html">httpHealthChecks()</a></code>
-</p>
-<p class="firstline">Returns the httpHealthChecks Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta15.images.html">images()</a></code>
-</p>
-<p class="firstline">Returns the images Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta15.instances.html">instances()</a></code>
-</p>
-<p class="firstline">Returns the instances Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta15.kernels.html">kernels()</a></code>
-</p>
-<p class="firstline">Returns the kernels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta15.machineTypes.html">machineTypes()</a></code>
-</p>
-<p class="firstline">Returns the machineTypes Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta15.networks.html">networks()</a></code>
-</p>
-<p class="firstline">Returns the networks Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta15.projects.html">projects()</a></code>
-</p>
-<p class="firstline">Returns the projects Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta15.regionOperations.html">regionOperations()</a></code>
-</p>
-<p class="firstline">Returns the regionOperations Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta15.regions.html">regions()</a></code>
-</p>
-<p class="firstline">Returns the regions Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta15.routes.html">routes()</a></code>
-</p>
-<p class="firstline">Returns the routes Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta15.snapshots.html">snapshots()</a></code>
-</p>
-<p class="firstline">Returns the snapshots Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta15.zoneOperations.html">zoneOperations()</a></code>
-</p>
-<p class="firstline">Returns the zoneOperations Resource.</p>
-
-<p class="toc_element">
-  <code><a href="compute_v1beta15.zones.html">zones()</a></code>
-</p>
-<p class="firstline">Returns the zones Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.httpHealthChecks.html b/docs/dyn/compute_v1beta15.httpHealthChecks.html
deleted file mode 100644
index 951e94f..0000000
--- a/docs/dyn/compute_v1beta15.httpHealthChecks.html
+++ /dev/null
@@ -1,156 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.httpHealthChecks.html">httpHealthChecks</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#patch">patch(project, httpHealthCheck, body)</a></code></p>
-<p class="firstline">Updates a HttpHealthCheck resource in the specified project using the data included in the request. This method supports patch semantics.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="patch">patch(project, httpHealthCheck, body)</code>
-  <pre>Updates a HttpHealthCheck resource in the specified project using the data included in the request. This method supports patch semantics.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  httpHealthCheck: string, Name of the HttpHealthCheck resource to update. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An HttpHealthCheck resource. This resource defines a template for how individual VMs should be checked for health, via HTTP.
-    "kind": "compute#httpHealthCheck", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "timeoutSec": 42, # How long (in seconds) to wait before claiming failure. The default value is 5 seconds.
-    "checkIntervalSec": 42, # How often (in seconds) to send a health check. The default value is 5 seconds.
-    "port": 42, # The TCP port number for the HTTP health check request. The default value is 80.
-    "healthyThreshold": 42, # A so-far unhealthy VM will be marked healthy after this many consecutive successes. The default value is 2.
-    "host": "A String", # The value of the host header in the HTTP health check request. If left empty (default value), the public IP on behalf of which this health check is performed will be used.
-    "requestPath": "A String", # The request path of the HTTP health check request. The default value is "/".
-    "unhealthyThreshold": 42, # A so-far healthy VM will be marked unhealthy after this many consecutive failures. The default value is 2.
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.images.html b/docs/dyn/compute_v1beta15.images.html
deleted file mode 100644
index 13555d5..0000000
--- a/docs/dyn/compute_v1beta15.images.html
+++ /dev/null
@@ -1,397 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.images.html">images</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, image)</a></code></p>
-<p class="firstline">Deletes the specified image resource.</p>
-<p class="toc_element">
-  <code><a href="#deprecate">deprecate(project, image, body)</a></code></p>
-<p class="firstline">Sets the deprecation status of an image. If no message body is given, clears the deprecation status instead.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, image)</a></code></p>
-<p class="firstline">Returns the specified image resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates an image resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of image resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, image)</code>
-  <pre>Deletes the specified image resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  image: string, Name of the image resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="deprecate">deprecate(project, image, body)</code>
-  <pre>Sets the deprecation status of an image. If no message body is given, clears the deprecation status instead.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  image: string, Image name. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Deprecation status for a public resource.
-  "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-  "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-  "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-  "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-  "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, image)</code>
-  <pre>Returns the specified image resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  image: string, Name of the image resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # A disk image resource.
-      "status": "A String", # Status of the image (output only). It will be one of the following READY - after image has been successfully created and is ready for use FAILED - if creating the image fails for some reason PENDING - the image creation is in progress An image can be used to create other resources suck as instances only after the image has been successfully created and the status is set to READY.
-      "kind": "compute#image", # Type of the resource.
-      "description": "A String", # Textual description of the resource; provided by the client when the resource is created.
-      "rawDisk": { # The raw disk image parameters.
-        "containerType": "TAR", # The format used to encode and transmit the block device. Should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
-        "source": "A String", # The full Google Cloud Storage URL where the disk image is stored; provided by the client when the disk image is created.
-        "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created.
-      },
-      "preferredKernel": "A String", # An optional URL of the preferred kernel for use with this disk image. If not specified, a server defined default kernel will be used.
-      "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this image.
-        "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-        "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-        "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-        "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-        "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-      },
-      "sourceType": "RAW", # Must be "RAW"; provided by the client when the disk image is created.
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates an image resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A disk image resource.
-    "status": "A String", # Status of the image (output only). It will be one of the following READY - after image has been successfully created and is ready for use FAILED - if creating the image fails for some reason PENDING - the image creation is in progress An image can be used to create other resources suck as instances only after the image has been successfully created and the status is set to READY.
-    "kind": "compute#image", # Type of the resource.
-    "description": "A String", # Textual description of the resource; provided by the client when the resource is created.
-    "rawDisk": { # The raw disk image parameters.
-      "containerType": "TAR", # The format used to encode and transmit the block device. Should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
-      "source": "A String", # The full Google Cloud Storage URL where the disk image is stored; provided by the client when the disk image is created.
-      "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created.
-    },
-    "preferredKernel": "A String", # An optional URL of the preferred kernel for use with this disk image. If not specified, a server defined default kernel will be used.
-    "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this image.
-      "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-      "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-      "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-      "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-      "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-    },
-    "sourceType": "RAW", # Must be "RAW"; provided by the client when the disk image is created.
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of image resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of disk image resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The disk image resources.
-      { # A disk image resource.
-          "status": "A String", # Status of the image (output only). It will be one of the following READY - after image has been successfully created and is ready for use FAILED - if creating the image fails for some reason PENDING - the image creation is in progress An image can be used to create other resources suck as instances only after the image has been successfully created and the status is set to READY.
-          "kind": "compute#image", # Type of the resource.
-          "description": "A String", # Textual description of the resource; provided by the client when the resource is created.
-          "rawDisk": { # The raw disk image parameters.
-            "containerType": "TAR", # The format used to encode and transmit the block device. Should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
-            "source": "A String", # The full Google Cloud Storage URL where the disk image is stored; provided by the client when the disk image is created.
-            "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created.
-          },
-          "preferredKernel": "A String", # An optional URL of the preferred kernel for use with this disk image. If not specified, a server defined default kernel will be used.
-          "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this image.
-            "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-            "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-            "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-            "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-            "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-          },
-          "sourceType": "RAW", # Must be "RAW"; provided by the client when the disk image is created.
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#imageList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.instances.html b/docs/dyn/compute_v1beta15.instances.html
deleted file mode 100644
index 4a6f91d..0000000
--- a/docs/dyn/compute_v1beta15.instances.html
+++ /dev/null
@@ -1,1072 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.instances.html">instances</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#addAccessConfig">addAccessConfig(project, zone, instance, networkInterface, body)</a></code></p>
-<p class="firstline">Adds an access config to an instance's network interface.</p>
-<p class="toc_element">
-  <code><a href="#aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">A description of how to use this function</p>
-<p class="toc_element">
-  <code><a href="#aggregatedList_next">aggregatedList_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#attachDisk">attachDisk(project, zone, instance, body)</a></code></p>
-<p class="firstline">Attaches a disk resource to an instance.</p>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, zone, instance)</a></code></p>
-<p class="firstline">Deletes the specified instance resource.</p>
-<p class="toc_element">
-  <code><a href="#deleteAccessConfig">deleteAccessConfig(project, zone, instance, accessConfig, networkInterface)</a></code></p>
-<p class="firstline">Deletes an access config from an instance's network interface.</p>
-<p class="toc_element">
-  <code><a href="#detachDisk">detachDisk(project, zone, instance, deviceName)</a></code></p>
-<p class="firstline">Detaches a disk from an instance.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, zone, instance)</a></code></p>
-<p class="firstline">Returns the specified instance resource.</p>
-<p class="toc_element">
-  <code><a href="#getSerialPortOutput">getSerialPortOutput(project, zone, instance)</a></code></p>
-<p class="firstline">Returns the specified instance's serial port output.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, zone, body)</a></code></p>
-<p class="firstline">Creates an instance resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, zone, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of instance resources contained within the specified zone.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#reset">reset(project, zone, instance)</a></code></p>
-<p class="firstline">Performs a hard reset on the instance.</p>
-<p class="toc_element">
-  <code><a href="#setMetadata">setMetadata(project, zone, instance, body)</a></code></p>
-<p class="firstline">Sets metadata for the specified instance to the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#setTags">setTags(project, zone, instance, body)</a></code></p>
-<p class="firstline">Sets tags for the specified instance to the data included in the request.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="addAccessConfig">addAccessConfig(project, zone, instance, networkInterface, body)</code>
-  <pre>Adds an access config to an instance's network interface.
-
-Args:
-  project: string, Project name. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Instance name. (required)
-  networkInterface: string, Network interface name. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An access configuration attached to an instance's network interface.
-  "kind": "compute#accessConfig", # Type of the resource.
-  "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
-  "name": "A String", # Name of this access configuration.
-  "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>A description of how to use this function
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": { # A map of scoped instance lists.
-      "a_key": { # Name of the scope containing this set of instances.
-        "instances": [ # List of instances contained in this scope.
-          { # An instance resource.
-            "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING", "STOPPING", "STOPPED", "TERMINATED" (output only).
-            "kernel": "A String", # URL of the kernel resource to use when booting. In case of booting from persistent disk, this parameter is required. When booting from a disk image, it is optional, but may be provided to use a different kernel than the one associated with the image.
-            "kind": "compute#instance", # Type of the resource.
-            "canIpForward": True or False, # Allows this instance to send packets with source IP addresses other than its own and receive packets with destination IP addresses other than its own. If this instance will be used as an IP gateway or it will be set as the next-hop in a Route resource, say true. If unsure, leave this set to false.
-            "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-            "zone": "A String", # URL of the zone where the instance resides (output only).
-            "tags": { # A set of instance tags. # A list of tags to be applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client on instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035.
-                "items": [ # An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.
-                  "A String",
-                ],
-                "fingerprint": "A String", # Fingerprint of this resource. A hash of the tags stored in this object. This field is used optimistic locking. An up-to-date tags fingerprint must be provided in order to modify tags.
-              },
-            "image": "A String", # An optional URL of the disk image resource to be installed on this instance; provided by the client when the instance is created. Alternatively to passing the image, the client may choose to boot from a persistent disk, by setting boot=true flag on one of the entries in disks[] collection.
-            "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them.
-              { # An instance-attached disk resource.
-                  "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
-                  "kind": "compute#attachedDisk", # Type of the resource.
-                  "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).
-                  "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
-                  "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-                  "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
-                  "type": "A String", # Type of the disk, either "SCRATCH" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
-                },
-            ],
-            "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-            "statusMessage": "A String", # An optional, human-readable explanation of the status (output only).
-            "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created.
-            "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries.
-              { # A service account.
-                "scopes": [ # The list of scopes to be made available for this service account.
-                  "A String",
-                ],
-                "email": "A String", # Email address of the service account.
-              },
-            ],
-            "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-              { # A network interface resource attached to an instance.
-                "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-                  { # An access configuration attached to an instance's network interface.
-                    "kind": "compute#accessConfig", # Type of the resource.
-                    "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
-                    "name": "A String", # Name of this access configuration.
-                    "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool.
-                  },
-                ],
-                "networkIP": "A String", # An optional IPV4 internal network address assigned to the instance for this network interface (output only).
-                "name": "A String", # Name of the network interface, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only).
-                "network": "A String", # URL of the network resource attached to this interface.
-              },
-            ],
-            "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-            "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-            "selfLink": "A String", # Server defined URL for this resource (output only).
-            "metadata": { # A metadata key/value entry. # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information.
-              "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-                {
-                  "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
-                  "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
-                },
-              ],
-              "kind": "compute#metadata", # Type of the resource.
-              "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
-            },
-          },
-        ],
-        "warning": { # Informational warning which replaces the list of instances when the list is empty.
-          "message": "A String", # Optional human-readable details for this warning.
-          "code": "A String", # The warning type identifier for this warning.
-          "data": [ # Metadata for this warning in 'key: value' format.
-            {
-              "value": "A String", # A warning data value corresponding to the key.
-              "key": "A String", # A key for the warning data.
-            },
-          ],
-        },
-      },
-    },
-    "kind": "compute#instanceAggregatedList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="aggregatedList_next">aggregatedList_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="attachDisk">attachDisk(project, zone, instance, body)</code>
-  <pre>Attaches a disk resource to an instance.
-
-Args:
-  project: string, Project name. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Instance name. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An instance-attached disk resource.
-    "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
-    "kind": "compute#attachedDisk", # Type of the resource.
-    "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).
-    "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
-    "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-    "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
-    "type": "A String", # Type of the disk, either "SCRATCH" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(project, zone, instance)</code>
-  <pre>Deletes the specified instance resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Name of the instance resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="deleteAccessConfig">deleteAccessConfig(project, zone, instance, accessConfig, networkInterface)</code>
-  <pre>Deletes an access config from an instance's network interface.
-
-Args:
-  project: string, Project name. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Instance name. (required)
-  accessConfig: string, Access config name. (required)
-  networkInterface: string, Network interface name. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="detachDisk">detachDisk(project, zone, instance, deviceName)</code>
-  <pre>Detaches a disk from an instance.
-
-Args:
-  project: string, Project name. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Instance name. (required)
-  deviceName: string, Disk device name to detach. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, zone, instance)</code>
-  <pre>Returns the specified instance resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Name of the instance resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # An instance resource.
-    "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING", "STOPPING", "STOPPED", "TERMINATED" (output only).
-    "kernel": "A String", # URL of the kernel resource to use when booting. In case of booting from persistent disk, this parameter is required. When booting from a disk image, it is optional, but may be provided to use a different kernel than the one associated with the image.
-    "kind": "compute#instance", # Type of the resource.
-    "canIpForward": True or False, # Allows this instance to send packets with source IP addresses other than its own and receive packets with destination IP addresses other than its own. If this instance will be used as an IP gateway or it will be set as the next-hop in a Route resource, say true. If unsure, leave this set to false.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "zone": "A String", # URL of the zone where the instance resides (output only).
-    "tags": { # A set of instance tags. # A list of tags to be applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client on instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035.
-        "items": [ # An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.
-          "A String",
-        ],
-        "fingerprint": "A String", # Fingerprint of this resource. A hash of the tags stored in this object. This field is used optimistic locking. An up-to-date tags fingerprint must be provided in order to modify tags.
-      },
-    "image": "A String", # An optional URL of the disk image resource to be installed on this instance; provided by the client when the instance is created. Alternatively to passing the image, the client may choose to boot from a persistent disk, by setting boot=true flag on one of the entries in disks[] collection.
-    "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them.
-      { # An instance-attached disk resource.
-          "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
-          "kind": "compute#attachedDisk", # Type of the resource.
-          "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).
-          "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
-          "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-          "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
-          "type": "A String", # Type of the disk, either "SCRATCH" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
-        },
-    ],
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    "statusMessage": "A String", # An optional, human-readable explanation of the status (output only).
-    "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created.
-    "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries.
-      { # A service account.
-        "scopes": [ # The list of scopes to be made available for this service account.
-          "A String",
-        ],
-        "email": "A String", # Email address of the service account.
-      },
-    ],
-    "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-      { # A network interface resource attached to an instance.
-        "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-          { # An access configuration attached to an instance's network interface.
-            "kind": "compute#accessConfig", # Type of the resource.
-            "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
-            "name": "A String", # Name of this access configuration.
-            "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool.
-          },
-        ],
-        "networkIP": "A String", # An optional IPV4 internal network address assigned to the instance for this network interface (output only).
-        "name": "A String", # Name of the network interface, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only).
-        "network": "A String", # URL of the network resource attached to this interface.
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-    "metadata": { # A metadata key/value entry. # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information.
-      "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-        {
-          "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
-          "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
-        },
-      ],
-      "kind": "compute#metadata", # Type of the resource.
-      "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="getSerialPortOutput">getSerialPortOutput(project, zone, instance)</code>
-  <pre>Returns the specified instance's serial port output.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Name of the instance scoping this request. (required)
-
-Returns:
-  An object of the form:
-
-    { # An instance serial console output.
-    "kind": "compute#serialPortOutput", # Type of the resource.
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "contents": "A String", # The contents of the console output.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, zone, body)</code>
-  <pre>Creates an instance resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An instance resource.
-  "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING", "STOPPING", "STOPPED", "TERMINATED" (output only).
-  "kernel": "A String", # URL of the kernel resource to use when booting. In case of booting from persistent disk, this parameter is required. When booting from a disk image, it is optional, but may be provided to use a different kernel than the one associated with the image.
-  "kind": "compute#instance", # Type of the resource.
-  "canIpForward": True or False, # Allows this instance to send packets with source IP addresses other than its own and receive packets with destination IP addresses other than its own. If this instance will be used as an IP gateway or it will be set as the next-hop in a Route resource, say true. If unsure, leave this set to false.
-  "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-  "zone": "A String", # URL of the zone where the instance resides (output only).
-  "tags": { # A set of instance tags. # A list of tags to be applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client on instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035.
-      "items": [ # An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.
-        "A String",
-      ],
-      "fingerprint": "A String", # Fingerprint of this resource. A hash of the tags stored in this object. This field is used optimistic locking. An up-to-date tags fingerprint must be provided in order to modify tags.
-    },
-  "image": "A String", # An optional URL of the disk image resource to be installed on this instance; provided by the client when the instance is created. Alternatively to passing the image, the client may choose to boot from a persistent disk, by setting boot=true flag on one of the entries in disks[] collection.
-  "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them.
-    { # An instance-attached disk resource.
-        "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
-        "kind": "compute#attachedDisk", # Type of the resource.
-        "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).
-        "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
-        "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-        "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
-        "type": "A String", # Type of the disk, either "SCRATCH" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
-      },
-  ],
-  "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  "statusMessage": "A String", # An optional, human-readable explanation of the status (output only).
-  "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created.
-  "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries.
-    { # A service account.
-      "scopes": [ # The list of scopes to be made available for this service account.
-        "A String",
-      ],
-      "email": "A String", # Email address of the service account.
-    },
-  ],
-  "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-    { # A network interface resource attached to an instance.
-      "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-        { # An access configuration attached to an instance's network interface.
-          "kind": "compute#accessConfig", # Type of the resource.
-          "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
-          "name": "A String", # Name of this access configuration.
-          "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool.
-        },
-      ],
-      "networkIP": "A String", # An optional IPV4 internal network address assigned to the instance for this network interface (output only).
-      "name": "A String", # Name of the network interface, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only).
-      "network": "A String", # URL of the network resource attached to this interface.
-    },
-  ],
-  "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-  "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-  "selfLink": "A String", # Server defined URL for this resource (output only).
-  "metadata": { # A metadata key/value entry. # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information.
-    "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-      {
-        "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
-        "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
-      },
-    ],
-    "kind": "compute#metadata", # Type of the resource.
-    "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
-  },
-}
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, zone, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of instance resources contained within the specified zone.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of instance resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # A list of instance resources.
-      { # An instance resource.
-        "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING", "STOPPING", "STOPPED", "TERMINATED" (output only).
-        "kernel": "A String", # URL of the kernel resource to use when booting. In case of booting from persistent disk, this parameter is required. When booting from a disk image, it is optional, but may be provided to use a different kernel than the one associated with the image.
-        "kind": "compute#instance", # Type of the resource.
-        "canIpForward": True or False, # Allows this instance to send packets with source IP addresses other than its own and receive packets with destination IP addresses other than its own. If this instance will be used as an IP gateway or it will be set as the next-hop in a Route resource, say true. If unsure, leave this set to false.
-        "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-        "zone": "A String", # URL of the zone where the instance resides (output only).
-        "tags": { # A set of instance tags. # A list of tags to be applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client on instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035.
-            "items": [ # An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.
-              "A String",
-            ],
-            "fingerprint": "A String", # Fingerprint of this resource. A hash of the tags stored in this object. This field is used optimistic locking. An up-to-date tags fingerprint must be provided in order to modify tags.
-          },
-        "image": "A String", # An optional URL of the disk image resource to be installed on this instance; provided by the client when the instance is created. Alternatively to passing the image, the client may choose to boot from a persistent disk, by setting boot=true flag on one of the entries in disks[] collection.
-        "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them.
-          { # An instance-attached disk resource.
-              "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
-              "kind": "compute#attachedDisk", # Type of the resource.
-              "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).
-              "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
-              "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-              "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
-              "type": "A String", # Type of the disk, either "SCRATCH" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
-            },
-        ],
-        "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        "statusMessage": "A String", # An optional, human-readable explanation of the status (output only).
-        "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created.
-        "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries.
-          { # A service account.
-            "scopes": [ # The list of scopes to be made available for this service account.
-              "A String",
-            ],
-            "email": "A String", # Email address of the service account.
-          },
-        ],
-        "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-          { # A network interface resource attached to an instance.
-            "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
-              { # An access configuration attached to an instance's network interface.
-                "kind": "compute#accessConfig", # Type of the resource.
-                "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
-                "name": "A String", # Name of this access configuration.
-                "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool.
-              },
-            ],
-            "networkIP": "A String", # An optional IPV4 internal network address assigned to the instance for this network interface (output only).
-            "name": "A String", # Name of the network interface, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only).
-            "network": "A String", # URL of the network resource attached to this interface.
-          },
-        ],
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for this resource (output only).
-        "metadata": { # A metadata key/value entry. # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information.
-          "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-            {
-              "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
-              "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
-            },
-          ],
-          "kind": "compute#metadata", # Type of the resource.
-          "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
-        },
-      },
-    ],
-    "kind": "compute#instanceList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="reset">reset(project, zone, instance)</code>
-  <pre>Performs a hard reset on the instance.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Name of the instance scoping this request. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="setMetadata">setMetadata(project, zone, instance, body)</code>
-  <pre>Sets metadata for the specified instance to the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Name of the instance scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A metadata key/value entry.
-  "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-    {
-      "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
-      "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
-    },
-  ],
-  "kind": "compute#metadata", # Type of the resource.
-  "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="setTags">setTags(project, zone, instance, body)</code>
-  <pre>Sets tags for the specified instance to the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  instance: string, Name of the instance scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A set of instance tags.
-    "items": [ # An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.
-      "A String",
-    ],
-    "fingerprint": "A String", # Fingerprint of this resource. A hash of the tags stored in this object. This field is used optimistic locking. An up-to-date tags fingerprint must be provided in order to modify tags.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.kernels.html b/docs/dyn/compute_v1beta15.kernels.html
deleted file mode 100644
index 561f447..0000000
--- a/docs/dyn/compute_v1beta15.kernels.html
+++ /dev/null
@@ -1,167 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.kernels.html">kernels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project, kernel)</a></code></p>
-<p class="firstline">Returns the specified kernel resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of kernel resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project, kernel)</code>
-  <pre>Returns the specified kernel resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  kernel: string, Name of the kernel resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # A kernel resource.
-    "kind": "compute#kernel", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource.
-    "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this kernel.
-      "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-      "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-      "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-      "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-      "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-    },
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of kernel resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of kernel resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The kernel resources.
-      { # A kernel resource.
-        "kind": "compute#kernel", # Type of the resource.
-        "description": "A String", # An optional textual description of the resource.
-        "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this kernel.
-          "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-          "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-          "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-          "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-          "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-        },
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "name": "A String", # Name of the resource.
-      },
-    ],
-    "kind": "compute#kernelList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.machineTypes.html b/docs/dyn/compute_v1beta15.machineTypes.html
deleted file mode 100644
index 3e89462..0000000
--- a/docs/dyn/compute_v1beta15.machineTypes.html
+++ /dev/null
@@ -1,274 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.machineTypes.html">machineTypes</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of machine type resources grouped by scope.</p>
-<p class="toc_element">
-  <code><a href="#aggregatedList_next">aggregatedList_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, zone, machineType)</a></code></p>
-<p class="firstline">Returns the specified machine type resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, zone, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of machine type resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of machine type resources grouped by scope.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": { # A map of scoped machine type lists.
-      "a_key": { # Name of the scope containing this set of machine types.
-        "machineTypes": [ # List of machine types contained in this scope.
-          { # A machine type resource.
-            "guestCpus": 42, # Count of CPUs exposed to the instance.
-            "imageSpaceGb": 42, # Space allotted for the image, defined in GB.
-            "kind": "compute#machineType", # Type of the resource.
-            "maximumPersistentDisksSizeGb": "A String", # Maximum total persistent disks size (GB) allowed.
-            "description": "A String", # An optional textual description of the resource.
-            "zone": "A String", # Url of the zone where the machine type resides (output only).
-            "maximumPersistentDisks": 42, # Maximum persistent disks allowed.
-            "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this machine type.
-              "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-              "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-              "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-              "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-              "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-            },
-            "memoryMb": 42, # Physical memory assigned to the instance, defined in MB.
-            "scratchDisks": [ # List of extended scratch disks assigned to the instance.
-              {
-                "diskGb": 42, # Size of the scratch disk, defined in GB.
-              },
-            ],
-            "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-            "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-            "selfLink": "A String", # Server defined URL for the resource (output only).
-            "name": "A String", # Name of the resource.
-          },
-        ],
-        "warning": { # Informational warning which replaces the list of machine types when the list is empty.
-          "message": "A String", # Optional human-readable details for this warning.
-          "code": "A String", # The warning type identifier for this warning.
-          "data": [ # Metadata for this warning in 'key: value' format.
-            {
-              "value": "A String", # A warning data value corresponding to the key.
-              "key": "A String", # A key for the warning data.
-            },
-          ],
-        },
-      },
-    },
-    "kind": "compute#machineTypeAggregatedList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="aggregatedList_next">aggregatedList_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, zone, machineType)</code>
-  <pre>Returns the specified machine type resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  machineType: string, Name of the machine type resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # A machine type resource.
-    "guestCpus": 42, # Count of CPUs exposed to the instance.
-    "imageSpaceGb": 42, # Space allotted for the image, defined in GB.
-    "kind": "compute#machineType", # Type of the resource.
-    "maximumPersistentDisksSizeGb": "A String", # Maximum total persistent disks size (GB) allowed.
-    "description": "A String", # An optional textual description of the resource.
-    "zone": "A String", # Url of the zone where the machine type resides (output only).
-    "maximumPersistentDisks": 42, # Maximum persistent disks allowed.
-    "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this machine type.
-      "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-      "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-      "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-      "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-      "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-    },
-    "memoryMb": 42, # Physical memory assigned to the instance, defined in MB.
-    "scratchDisks": [ # List of extended scratch disks assigned to the instance.
-      {
-        "diskGb": 42, # Size of the scratch disk, defined in GB.
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, zone, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of machine type resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of machine type resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The machine type resources.
-      { # A machine type resource.
-        "guestCpus": 42, # Count of CPUs exposed to the instance.
-        "imageSpaceGb": 42, # Space allotted for the image, defined in GB.
-        "kind": "compute#machineType", # Type of the resource.
-        "maximumPersistentDisksSizeGb": "A String", # Maximum total persistent disks size (GB) allowed.
-        "description": "A String", # An optional textual description of the resource.
-        "zone": "A String", # Url of the zone where the machine type resides (output only).
-        "maximumPersistentDisks": 42, # Maximum persistent disks allowed.
-        "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this machine type.
-          "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-          "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-          "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-          "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-          "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-        },
-        "memoryMb": 42, # Physical memory assigned to the instance, defined in MB.
-        "scratchDisks": [ # List of extended scratch disks assigned to the instance.
-          {
-            "diskGb": 42, # Size of the scratch disk, defined in GB.
-          },
-        ],
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "name": "A String", # Name of the resource.
-      },
-    ],
-    "kind": "compute#machineTypeList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.networks.html b/docs/dyn/compute_v1beta15.networks.html
deleted file mode 100644
index 997837a..0000000
--- a/docs/dyn/compute_v1beta15.networks.html
+++ /dev/null
@@ -1,288 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.networks.html">networks</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, network)</a></code></p>
-<p class="firstline">Deletes the specified network resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, network)</a></code></p>
-<p class="firstline">Returns the specified network resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates a network resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of network resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, network)</code>
-  <pre>Deletes the specified network resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  network: string, Name of the network resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, network)</code>
-  <pre>Returns the specified network resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  network: string, Name of the network resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # A network resource.
-      "kind": "compute#network", # Type of the resource.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "IPv4Range": "A String", # Required; The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.
-      "gatewayIPv4": "A String", # An optional address that is used for default routing to other networks. This must be within the range specified by IPv4Range, and is typically the first usable address in that range. If not specified, the default value is the first usable address in IPv4Range.
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates a network resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A network resource.
-    "kind": "compute#network", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "IPv4Range": "A String", # Required; The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.
-    "gatewayIPv4": "A String", # An optional address that is used for default routing to other networks. This must be within the range specified by IPv4Range, and is typically the first usable address in that range. If not specified, the default value is the first usable address in IPv4Range.
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of network resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of network resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The network resources.
-      { # A network resource.
-          "kind": "compute#network", # Type of the resource.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "IPv4Range": "A String", # Required; The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.
-          "gatewayIPv4": "A String", # An optional address that is used for default routing to other networks. This must be within the range specified by IPv4Range, and is typically the first usable address in that range. If not specified, the default value is the first usable address in IPv4Range.
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#networkList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.projects.html b/docs/dyn/compute_v1beta15.projects.html
deleted file mode 100644
index 9881429..0000000
--- a/docs/dyn/compute_v1beta15.projects.html
+++ /dev/null
@@ -1,190 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.projects.html">projects</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project)</a></code></p>
-<p class="firstline">Returns the specified project resource.</p>
-<p class="toc_element">
-  <code><a href="#setCommonInstanceMetadata">setCommonInstanceMetadata(project, body)</a></code></p>
-<p class="firstline">Sets metadata common to all instances within the specified project using the data included in the request.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project)</code>
-  <pre>Returns the specified project resource.
-
-Args:
-  project: string, Name of the project resource to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    { # A project resource. Projects can be created only in the APIs Console. Unless marked otherwise, values can only be modified in the console.
-    "kind": "compute#project", # Type of the resource.
-    "description": "A String", # An optional textual description of the resource.
-    "commonInstanceMetadata": { # A metadata key/value entry. # Metadata key/value pairs available to all instances contained in this project.
-      "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-        {
-          "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
-          "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
-        },
-      ],
-      "kind": "compute#metadata", # Type of the resource.
-      "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
-    },
-    "quotas": [ # Quotas assigned to this project.
-      { # A quotas entry.
-        "usage": 3.14, # Current usage of this metric.
-        "metric": "A String", # Name of the quota metric.
-        "limit": 3.14, # Quota limit for this metric.
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="setCommonInstanceMetadata">setCommonInstanceMetadata(project, body)</code>
-  <pre>Sets metadata common to all instances within the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A metadata key/value entry.
-  "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
-    {
-      "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
-      "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
-    },
-  ],
-  "kind": "compute#metadata", # Type of the resource.
-  "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.regionOperations.html b/docs/dyn/compute_v1beta15.regionOperations.html
deleted file mode 100644
index 5d637ff..0000000
--- a/docs/dyn/compute_v1beta15.regionOperations.html
+++ /dev/null
@@ -1,239 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.regionOperations.html">regionOperations</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, region, operation)</a></code></p>
-<p class="firstline">Deletes the specified region-specific operation resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, region, operation)</a></code></p>
-<p class="firstline">Retrieves the specified region-specific operation resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, region, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of operation resources contained within the specified region.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, region, operation)</code>
-  <pre>Deletes the specified region-specific operation resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  region: string, Name of the region scoping this request. (required)
-  operation: string, Name of the operation resource to delete. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, region, operation)</code>
-  <pre>Retrieves the specified region-specific operation resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  region: string, Name of the zone scoping this request. (required)
-  operation: string, Name of the operation resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, region, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of operation resources contained within the specified region.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  region: string, Name of the region scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of operation resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The operation resources.
-      { # An operation resource, used to manage asynchronous API requests.
-        "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-        "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "zone": "A String", # URL of the zone where the operation resides (output only).
-        "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-        "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-        "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-        "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-        "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-        "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-        "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-        "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-          {
-            "message": "A String", # Optional human-readable details for this warning.
-            "code": "A String", # The warning type identifier for this warning.
-            "data": [ # Metadata for this warning in 'key: value' format.
-              {
-                "value": "A String", # A warning data value corresponding to the key.
-                "key": "A String", # A key for the warning data.
-              },
-            ],
-          },
-        ],
-        "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-        "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-        "kind": "compute#operation", # Type of the resource.
-        "name": "A String", # Name of the resource (output only).
-        "region": "A String", # URL of the region where the operation resides (output only).
-        "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-          "errors": [ # The array of errors encountered while processing this operation.
-            {
-              "message": "A String", # An optional, human-readable error message.
-              "code": "A String", # The error type identifier for this error.
-              "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-            },
-          ],
-        },
-        "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-      },
-    ],
-    "kind": "compute#operationList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.regions.html b/docs/dyn/compute_v1beta15.regions.html
deleted file mode 100644
index ecf4adc..0000000
--- a/docs/dyn/compute_v1beta15.regions.html
+++ /dev/null
@@ -1,189 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.regions.html">regions</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project, region)</a></code></p>
-<p class="firstline">Returns the specified region resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of region resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project, region)</code>
-  <pre>Returns the specified region resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  region: string, Name of the region resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # Region resource.
-    "status": "A String", # Status of the region, "UP" or "DOWN".
-    "kind": "compute#region", # Type of the resource.
-    "description": "A String", # Textual description of the resource.
-    "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this region.
-      "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-      "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-      "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-      "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-      "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-    },
-    "quotas": [ # Quotas assigned to this region.
-      { # A quotas entry.
-        "usage": 3.14, # Current usage of this metric.
-        "metric": "A String", # Name of the quota metric.
-        "limit": 3.14, # Quota limit for this metric.
-      },
-    ],
-    "zones": [ # A list of zones homed in this region, in the form of resource URLs.
-      "A String",
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of region resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of region resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The region resources.
-      { # Region resource.
-        "status": "A String", # Status of the region, "UP" or "DOWN".
-        "kind": "compute#region", # Type of the resource.
-        "description": "A String", # Textual description of the resource.
-        "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this region.
-          "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-          "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-          "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-          "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-          "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-        },
-        "quotas": [ # Quotas assigned to this region.
-          { # A quotas entry.
-            "usage": 3.14, # Current usage of this metric.
-            "metric": "A String", # Name of the quota metric.
-            "limit": 3.14, # Quota limit for this metric.
-          },
-        ],
-        "zones": [ # A list of zones homed in this region, in the form of resource URLs.
-          "A String",
-        ],
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "name": "A String", # Name of the resource.
-      },
-    ],
-    "kind": "compute#regionList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.routes.html b/docs/dyn/compute_v1beta15.routes.html
deleted file mode 100644
index 298d541..0000000
--- a/docs/dyn/compute_v1beta15.routes.html
+++ /dev/null
@@ -1,348 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.routes.html">routes</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, route)</a></code></p>
-<p class="firstline">Deletes the specified route resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, route)</a></code></p>
-<p class="firstline">Returns the specified route resource.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates a route resource in the specified project using the data included in the request.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of route resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, route)</code>
-  <pre>Deletes the specified route resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  route: string, Name of the route resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, route)</code>
-  <pre>Returns the specified route resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  route: string, Name of the route resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # The route resource. A Route is a rule that specifies how certain packets should be handled by the virtual network. Routes are associated with VMs by tag and the set of Routes for a particular VM is called its routing table. For each packet leaving a VM, the system searches that VM's routing table for a single best matching Route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the Route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching Routes. The packet is then forwarded as specified by the next_hop field of the winning Route -- either to another VM destination, a VM gateway or a GCE operated gateway. Packets that do not match any Route in the sending VM's routing table will be dropped.
-      "nextHopGateway": "A String", # The URL to a gateway that should handle matching packets.
-      "priority": 42, # Breaks ties between Routes of equal specificity. Routes with smaller values win when tied with routes with larger values.
-      "kind": "compute#route", # Type of the resource.
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-      "tags": [ # A list of instance tags to which this route applies.
-        "A String",
-      ],
-      "nextHopInstance": "A String", # The URL to an instance that should handle matching packets.
-      "warnings": [ # If potential misconfigurations are detected for this route, this field will be populated with warning messages.
-        {
-          "message": "A String", # Optional human-readable details for this warning.
-          "code": "A String", # The warning type identifier for this warning.
-          "data": [ # Metadata for this warning in 'key: value' format.
-            {
-              "value": "A String", # A warning data value corresponding to the key.
-              "key": "A String", # A key for the warning data.
-            },
-          ],
-        },
-      ],
-      "nextHopNetwork": "A String", # The URL of the local network if it should handle matching packets.
-      "network": "A String", # URL of the network to which this route is applied; provided by the client when the route is created.
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "destRange": "A String", # Which packets does this route apply to?
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "nextHopIp": "A String", # The network IP address of an instance that should handle matching packets.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates a route resource in the specified project using the data included in the request.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # The route resource. A Route is a rule that specifies how certain packets should be handled by the virtual network. Routes are associated with VMs by tag and the set of Routes for a particular VM is called its routing table. For each packet leaving a VM, the system searches that VM's routing table for a single best matching Route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the Route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching Routes. The packet is then forwarded as specified by the next_hop field of the winning Route -- either to another VM destination, a VM gateway or a GCE operated gateway. Packets that do not match any Route in the sending VM's routing table will be dropped.
-    "nextHopGateway": "A String", # The URL to a gateway that should handle matching packets.
-    "priority": 42, # Breaks ties between Routes of equal specificity. Routes with smaller values win when tied with routes with larger values.
-    "kind": "compute#route", # Type of the resource.
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    "tags": [ # A list of instance tags to which this route applies.
-      "A String",
-    ],
-    "nextHopInstance": "A String", # The URL to an instance that should handle matching packets.
-    "warnings": [ # If potential misconfigurations are detected for this route, this field will be populated with warning messages.
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "nextHopNetwork": "A String", # The URL of the local network if it should handle matching packets.
-    "network": "A String", # URL of the network to which this route is applied; provided by the client when the route is created.
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "destRange": "A String", # Which packets does this route apply to?
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "nextHopIp": "A String", # The network IP address of an instance that should handle matching packets.
-    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of route resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of route resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The route resources.
-      { # The route resource. A Route is a rule that specifies how certain packets should be handled by the virtual network. Routes are associated with VMs by tag and the set of Routes for a particular VM is called its routing table. For each packet leaving a VM, the system searches that VM's routing table for a single best matching Route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the Route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching Routes. The packet is then forwarded as specified by the next_hop field of the winning Route -- either to another VM destination, a VM gateway or a GCE operated gateway. Packets that do not match any Route in the sending VM's routing table will be dropped.
-          "nextHopGateway": "A String", # The URL to a gateway that should handle matching packets.
-          "priority": 42, # Breaks ties between Routes of equal specificity. Routes with smaller values win when tied with routes with larger values.
-          "kind": "compute#route", # Type of the resource.
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-          "tags": [ # A list of instance tags to which this route applies.
-            "A String",
-          ],
-          "nextHopInstance": "A String", # The URL to an instance that should handle matching packets.
-          "warnings": [ # If potential misconfigurations are detected for this route, this field will be populated with warning messages.
-            {
-              "message": "A String", # Optional human-readable details for this warning.
-              "code": "A String", # The warning type identifier for this warning.
-              "data": [ # Metadata for this warning in 'key: value' format.
-                {
-                  "value": "A String", # A warning data value corresponding to the key.
-                  "key": "A String", # A key for the warning data.
-                },
-              ],
-            },
-          ],
-          "nextHopNetwork": "A String", # The URL of the local network if it should handle matching packets.
-          "network": "A String", # URL of the network to which this route is applied; provided by the client when the route is created.
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "destRange": "A String", # Which packets does this route apply to?
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "nextHopIp": "A String", # The network IP address of an instance that should handle matching packets.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-        },
-    ],
-    "kind": "compute#routeList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.snapshots.html b/docs/dyn/compute_v1beta15.snapshots.html
deleted file mode 100644
index 54bfd27..0000000
--- a/docs/dyn/compute_v1beta15.snapshots.html
+++ /dev/null
@@ -1,220 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.snapshots.html">snapshots</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, snapshot)</a></code></p>
-<p class="firstline">Deletes the specified persistent disk snapshot resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, snapshot)</a></code></p>
-<p class="firstline">Returns the specified persistent disk snapshot resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of persistent disk snapshot resources contained within the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, snapshot)</code>
-  <pre>Deletes the specified persistent disk snapshot resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  snapshot: string, Name of the persistent disk snapshot resource to delete. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, snapshot)</code>
-  <pre>Returns the specified persistent disk snapshot resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  snapshot: string, Name of the persistent disk snapshot resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # A persistent disk snapshot resource.
-      "status": "A String", # The status of the persistent disk snapshot (output only).
-      "kind": "compute#snapshot", # Type of the resource.
-      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "sourceDisk": "A String", # The source disk used to create this snapshot. Once the source disk has been deleted from the system, this field will be cleared, and will not be set even if a disk with the same name has been re-created (output only).
-      "sourceDiskId": "A String", # The 'id' value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name.
-      "diskSizeGb": "A String", # Size of the persistent disk snapshot, specified in GB (output only).
-      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-      "selfLink": "A String", # Server defined URL for the resource (output only).
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of persistent disk snapshot resources contained within the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of persistent disk snapshot resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The persistent snapshot resources.
-      { # A persistent disk snapshot resource.
-          "status": "A String", # The status of the persistent disk snapshot (output only).
-          "kind": "compute#snapshot", # Type of the resource.
-          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "sourceDisk": "A String", # The source disk used to create this snapshot. Once the source disk has been deleted from the system, this field will be cleared, and will not be set even if a disk with the same name has been re-created (output only).
-          "sourceDiskId": "A String", # The 'id' value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name.
-          "diskSizeGb": "A String", # Size of the persistent disk snapshot, specified in GB (output only).
-          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-          "selfLink": "A String", # Server defined URL for the resource (output only).
-          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
-        },
-    ],
-    "kind": "compute#snapshotList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.zoneOperations.html b/docs/dyn/compute_v1beta15.zoneOperations.html
deleted file mode 100644
index 7eeed52..0000000
--- a/docs/dyn/compute_v1beta15.zoneOperations.html
+++ /dev/null
@@ -1,239 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.zoneOperations.html">zoneOperations</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, zone, operation)</a></code></p>
-<p class="firstline">Deletes the specified zone-specific operation resource.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, zone, operation)</a></code></p>
-<p class="firstline">Retrieves the specified zone-specific operation resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, zone, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of operation resources contained within the specified zone.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, zone, operation)</code>
-  <pre>Deletes the specified zone-specific operation resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  operation: string, Name of the operation resource to delete. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, zone, operation)</code>
-  <pre>Retrieves the specified zone-specific operation resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  operation: string, Name of the operation resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-      {
-        "message": "A String", # Optional human-readable details for this warning.
-        "code": "A String", # The warning type identifier for this warning.
-        "data": [ # Metadata for this warning in 'key: value' format.
-          {
-            "value": "A String", # A warning data value corresponding to the key.
-            "key": "A String", # A key for the warning data.
-          },
-        ],
-      },
-    ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
-        {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-        },
-      ],
-    },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, zone, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of operation resources contained within the specified zone.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of operation resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The operation resources.
-      { # An operation resource, used to manage asynchronous API requests.
-        "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-        "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "zone": "A String", # URL of the zone where the operation resides (output only).
-        "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-        "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-        "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-        "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-        "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-        "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-        "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-        "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
-          {
-            "message": "A String", # Optional human-readable details for this warning.
-            "code": "A String", # The warning type identifier for this warning.
-            "data": [ # Metadata for this warning in 'key: value' format.
-              {
-                "value": "A String", # A warning data value corresponding to the key.
-                "key": "A String", # A key for the warning data.
-              },
-            ],
-          },
-        ],
-        "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-        "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-        "kind": "compute#operation", # Type of the resource.
-        "name": "A String", # Name of the resource (output only).
-        "region": "A String", # URL of the region where the operation resides (output only).
-        "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-          "errors": [ # The array of errors encountered while processing this operation.
-            {
-              "message": "A String", # An optional, human-readable error message.
-              "code": "A String", # The error type identifier for this error.
-              "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
-            },
-          ],
-        },
-        "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "targetLink": "A String", # URL of the resource the operation is mutating (output only).
-      },
-    ],
-    "kind": "compute#operationList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.zones.html b/docs/dyn/compute_v1beta15.zones.html
deleted file mode 100644
index d94f06f..0000000
--- a/docs/dyn/compute_v1beta15.zones.html
+++ /dev/null
@@ -1,201 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.zones.html">zones</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project, zone)</a></code></p>
-<p class="firstline">Returns the specified zone resource.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
-<p class="firstline">Retrieves the list of zone resources available to the specified project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project, zone)</code>
-  <pre>Returns the specified zone resource.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  zone: string, Name of the zone resource to return. (required)
-
-Returns:
-  An object of the form:
-
-    { # A zone resource.
-    "status": "A String", # Status of the zone. "UP" or "DOWN".
-    "kind": "compute#zone", # Type of the resource.
-    "description": "A String", # Textual description of the resource.
-    "maintenanceWindows": [ # Scheduled maintenance windows for the zone. When the zone is in a maintenance window, all resources which reside in the zone will be unavailable.
-      {
-        "endTime": "A String", # End time of the maintenance window, in RFC 3339 format.
-        "beginTime": "A String", # Begin time of the maintenance window, in RFC 3339 format.
-        "name": "A String", # Name of the maintenance window.
-        "description": "A String", # Textual description of the maintenance window.
-      },
-    ],
-    "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this zone.
-      "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-      "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-      "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-      "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-      "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-    },
-    "region": "A String", # Full URL reference to the region which hosts the zone (output only).
-    "quotas": [ # Quotas assigned to this zone.
-      { # A quotas entry.
-        "usage": 3.14, # Current usage of this metric.
-        "metric": "A String", # Name of the quota metric.
-        "limit": 3.14, # Quota limit for this metric.
-      },
-    ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "name": "A String", # Name of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
-  <pre>Retrieves the list of zone resources available to the specified project.
-
-Args:
-  project: string, Name of the project scoping this request. (required)
-  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
-  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
-  filter: string, Optional. Filter expression for filtering listed resources.
-
-Returns:
-  An object of the form:
-
-    { # Contains a list of zone resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The zone resources.
-      { # A zone resource.
-        "status": "A String", # Status of the zone. "UP" or "DOWN".
-        "kind": "compute#zone", # Type of the resource.
-        "description": "A String", # Textual description of the resource.
-        "maintenanceWindows": [ # Scheduled maintenance windows for the zone. When the zone is in a maintenance window, all resources which reside in the zone will be unavailable.
-          {
-            "endTime": "A String", # End time of the maintenance window, in RFC 3339 format.
-            "beginTime": "A String", # Begin time of the maintenance window, in RFC 3339 format.
-            "name": "A String", # Name of the maintenance window.
-            "description": "A String", # Textual description of the maintenance window.
-          },
-        ],
-        "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this zone.
-          "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
-          "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
-          "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
-          "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
-          "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
-        },
-        "region": "A String", # Full URL reference to the region which hosts the zone (output only).
-        "quotas": [ # Quotas assigned to this zone.
-          { # A quotas entry.
-            "usage": 3.14, # Current usage of this metric.
-            "metric": "A String", # Name of the quota metric.
-            "limit": 3.14, # Quota limit for this metric.
-          },
-        ],
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "name": "A String", # Name of the resource.
-      },
-    ],
-    "kind": "compute#zoneList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/coordinate_v1.customFieldDef.html b/docs/dyn/coordinate_v1.customFieldDef.html
deleted file mode 100644
index 24dac73..0000000
--- a/docs/dyn/coordinate_v1.customFieldDef.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="coordinate_v1.html">Google Maps Coordinate API</a> . <a href="coordinate_v1.customFieldDef.html">customFieldDef</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(teamId)</a></code></p>
-<p class="firstline">Retrieves a list of custom field definitions for a team.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(teamId)</code>
-  <pre>Retrieves a list of custom field definitions for a team.
-
-Args:
-  teamId: string, Team ID (required)
-
-Returns:
-  An object of the form:
-
-    { # Collection of custom field definitions for a team.
-    "items": [ # Collection of custom field definitions in a team.
-      { # Custom field definition.
-        "kind": "coordinate#customFieldDef", # Identifies this object as a custom field definition.
-        "name": "A String", # Custom field name.
-        "enabled": True or False, # Whether the field is enabled.
-        "requiredForCheckout": True or False, # Whether the field is required for checkout.
-        "type": "A String", # Custom field type.
-        "id": "A String", # Custom field id.
-      },
-    ],
-    "kind": "coordinate#customFieldDefList", # Identifies this object as a collection of custom field definitions in a team.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/coordinate_v1.html b/docs/dyn/coordinate_v1.html
deleted file mode 100644
index 1db6a5e..0000000
--- a/docs/dyn/coordinate_v1.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="coordinate_v1.html">Google Maps Coordinate API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="coordinate_v1.customFieldDef.html">customFieldDef()</a></code>
-</p>
-<p class="firstline">Returns the customFieldDef Resource.</p>
-
-<p class="toc_element">
-  <code><a href="coordinate_v1.jobs.html">jobs()</a></code>
-</p>
-<p class="firstline">Returns the jobs Resource.</p>
-
-<p class="toc_element">
-  <code><a href="coordinate_v1.location.html">location()</a></code>
-</p>
-<p class="firstline">Returns the location Resource.</p>
-
-<p class="toc_element">
-  <code><a href="coordinate_v1.schedule.html">schedule()</a></code>
-</p>
-<p class="firstline">Returns the schedule Resource.</p>
-
-<p class="toc_element">
-  <code><a href="coordinate_v1.worker.html">worker()</a></code>
-</p>
-<p class="firstline">Returns the worker Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/coordinate_v1.jobs.html b/docs/dyn/coordinate_v1.jobs.html
deleted file mode 100644
index 96ffda4..0000000
--- a/docs/dyn/coordinate_v1.jobs.html
+++ /dev/null
@@ -1,779 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="coordinate_v1.html">Google Maps Coordinate API</a> . <a href="coordinate_v1.jobs.html">jobs</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(teamId, jobId)</a></code></p>
-<p class="firstline">Retrieves a job, including all the changes made to the job.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(teamId, address, lat, lng, title, body, customerName=None, assignee=None, customerPhoneNumber=None, note=None, customField=None)</a></code></p>
-<p class="firstline">Inserts a new job. Only the state field of the job should be set.</p>
-<p class="toc_element">
-  <code><a href="#list">list(teamId, pageToken=None, minModifiedTimestampMs=None, maxResults=None)</a></code></p>
-<p class="firstline">Retrieves jobs created or modified since the given timestamp.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(teamId, jobId, body, customerName=None, assignee=None, customerPhoneNumber=None, lng=None, note=None, title=None, progress=None, address=None, lat=None, customField=None)</a></code></p>
-<p class="firstline">Updates a job. Fields that are set in the job state will be updated. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(teamId, jobId, body, customerName=None, assignee=None, customerPhoneNumber=None, lng=None, note=None, title=None, progress=None, address=None, lat=None, customField=None)</a></code></p>
-<p class="firstline">Updates a job. Fields that are set in the job state will be updated.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(teamId, jobId)</code>
-  <pre>Retrieves a job, including all the changes made to the job.
-
-Args:
-  teamId: string, Team ID (required)
-  jobId: string, Job number (required)
-
-Returns:
-  An object of the form:
-
-    { # A job.
-      "kind": "coordinate#job", # Identifies this object as a job.
-      "jobChange": [ # List of job changes since it was created. The first change corresponds to the state of the job when it was created.
-        { # Change to a job. For example assigning the job to a different worker.
-          "timestamp": "A String", # Time at which this change was applied.
-          "kind": "coordinate#jobChange", # Identifies this object as a job change.
-          "state": { # Current state of a job. # Change applied to the job. Only the fields that were changed are set.
-            "kind": "coordinate#jobState", # Identifies this object as a job state.
-            "customerName": "A String", # Customer name.
-            "title": "A String", # Job title.
-            "note": [ # Note added to the job.
-              "A String",
-            ],
-            "assignee": "A String", # Email address of the assignee.
-            "customerPhoneNumber": "A String", # Customer phone number.
-            "location": { # Location of a job. # Job location.
-              "lat": 3.14, # Latitude.
-              "kind": "coordinate#location", # Identifies this object as a location.
-              "addressLine": [ # Address.
-                "A String",
-              ],
-              "lng": 3.14, # Longitude.
-            },
-            "progress": "A String", # Job progress.
-            "customFields": { # Collection of custom fields. # Custom fields.
-              "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
-              "customField": [ # Collection of custom fields.
-                { # Custom field.
-                  "kind": "coordinate#customField", # Identifies this object as a custom field.
-                  "customFieldId": "A String", # Custom field id.
-                  "value": "A String", # Custom field value.
-                },
-              ],
-            },
-          },
-        },
-      ],
-      "id": "A String", # Job id.
-      "state": { # Current state of a job. # Current job state.
-        "kind": "coordinate#jobState", # Identifies this object as a job state.
-        "customerName": "A String", # Customer name.
-        "title": "A String", # Job title.
-        "note": [ # Note added to the job.
-          "A String",
-        ],
-        "assignee": "A String", # Email address of the assignee.
-        "customerPhoneNumber": "A String", # Customer phone number.
-        "location": { # Location of a job. # Job location.
-          "lat": 3.14, # Latitude.
-          "kind": "coordinate#location", # Identifies this object as a location.
-          "addressLine": [ # Address.
-            "A String",
-          ],
-          "lng": 3.14, # Longitude.
-        },
-        "progress": "A String", # Job progress.
-        "customFields": { # Collection of custom fields. # Custom fields.
-          "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
-          "customField": [ # Collection of custom fields.
-            { # Custom field.
-              "kind": "coordinate#customField", # Identifies this object as a custom field.
-              "customFieldId": "A String", # Custom field id.
-              "value": "A String", # Custom field value.
-            },
-          ],
-        },
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(teamId, address, lat, lng, title, body, customerName=None, assignee=None, customerPhoneNumber=None, note=None, customField=None)</code>
-  <pre>Inserts a new job. Only the state field of the job should be set.
-
-Args:
-  teamId: string, Team ID (required)
-  address: string, Job address as newline (Unix) separated string (required)
-  lat: number, The latitude coordinate of this job's location. (required)
-  lng: number, The longitude coordinate of this job's location. (required)
-  title: string, Job title (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A job.
-    "kind": "coordinate#job", # Identifies this object as a job.
-    "jobChange": [ # List of job changes since it was created. The first change corresponds to the state of the job when it was created.
-      { # Change to a job. For example assigning the job to a different worker.
-        "timestamp": "A String", # Time at which this change was applied.
-        "kind": "coordinate#jobChange", # Identifies this object as a job change.
-        "state": { # Current state of a job. # Change applied to the job. Only the fields that were changed are set.
-          "kind": "coordinate#jobState", # Identifies this object as a job state.
-          "customerName": "A String", # Customer name.
-          "title": "A String", # Job title.
-          "note": [ # Note added to the job.
-            "A String",
-          ],
-          "assignee": "A String", # Email address of the assignee.
-          "customerPhoneNumber": "A String", # Customer phone number.
-          "location": { # Location of a job. # Job location.
-            "lat": 3.14, # Latitude.
-            "kind": "coordinate#location", # Identifies this object as a location.
-            "addressLine": [ # Address.
-              "A String",
-            ],
-            "lng": 3.14, # Longitude.
-          },
-          "progress": "A String", # Job progress.
-          "customFields": { # Collection of custom fields. # Custom fields.
-            "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
-            "customField": [ # Collection of custom fields.
-              { # Custom field.
-                "kind": "coordinate#customField", # Identifies this object as a custom field.
-                "customFieldId": "A String", # Custom field id.
-                "value": "A String", # Custom field value.
-              },
-            ],
-          },
-        },
-      },
-    ],
-    "id": "A String", # Job id.
-    "state": { # Current state of a job. # Current job state.
-      "kind": "coordinate#jobState", # Identifies this object as a job state.
-      "customerName": "A String", # Customer name.
-      "title": "A String", # Job title.
-      "note": [ # Note added to the job.
-        "A String",
-      ],
-      "assignee": "A String", # Email address of the assignee.
-      "customerPhoneNumber": "A String", # Customer phone number.
-      "location": { # Location of a job. # Job location.
-        "lat": 3.14, # Latitude.
-        "kind": "coordinate#location", # Identifies this object as a location.
-        "addressLine": [ # Address.
-          "A String",
-        ],
-        "lng": 3.14, # Longitude.
-      },
-      "progress": "A String", # Job progress.
-      "customFields": { # Collection of custom fields. # Custom fields.
-        "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
-        "customField": [ # Collection of custom fields.
-          { # Custom field.
-            "kind": "coordinate#customField", # Identifies this object as a custom field.
-            "customFieldId": "A String", # Custom field id.
-            "value": "A String", # Custom field value.
-          },
-        ],
-      },
-    },
-  }
-
-  customerName: string, Customer name
-  assignee: string, Assignee email address, or empty string to unassign.
-  customerPhoneNumber: string, Customer phone number
-  note: string, Job note as newline (Unix) separated string
-  customField: string, Map from custom field id (from /team//custom_fields) to the field value. For example '123=Alice' (repeated)
-
-Returns:
-  An object of the form:
-
-    { # A job.
-      "kind": "coordinate#job", # Identifies this object as a job.
-      "jobChange": [ # List of job changes since it was created. The first change corresponds to the state of the job when it was created.
-        { # Change to a job. For example assigning the job to a different worker.
-          "timestamp": "A String", # Time at which this change was applied.
-          "kind": "coordinate#jobChange", # Identifies this object as a job change.
-          "state": { # Current state of a job. # Change applied to the job. Only the fields that were changed are set.
-            "kind": "coordinate#jobState", # Identifies this object as a job state.
-            "customerName": "A String", # Customer name.
-            "title": "A String", # Job title.
-            "note": [ # Note added to the job.
-              "A String",
-            ],
-            "assignee": "A String", # Email address of the assignee.
-            "customerPhoneNumber": "A String", # Customer phone number.
-            "location": { # Location of a job. # Job location.
-              "lat": 3.14, # Latitude.
-              "kind": "coordinate#location", # Identifies this object as a location.
-              "addressLine": [ # Address.
-                "A String",
-              ],
-              "lng": 3.14, # Longitude.
-            },
-            "progress": "A String", # Job progress.
-            "customFields": { # Collection of custom fields. # Custom fields.
-              "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
-              "customField": [ # Collection of custom fields.
-                { # Custom field.
-                  "kind": "coordinate#customField", # Identifies this object as a custom field.
-                  "customFieldId": "A String", # Custom field id.
-                  "value": "A String", # Custom field value.
-                },
-              ],
-            },
-          },
-        },
-      ],
-      "id": "A String", # Job id.
-      "state": { # Current state of a job. # Current job state.
-        "kind": "coordinate#jobState", # Identifies this object as a job state.
-        "customerName": "A String", # Customer name.
-        "title": "A String", # Job title.
-        "note": [ # Note added to the job.
-          "A String",
-        ],
-        "assignee": "A String", # Email address of the assignee.
-        "customerPhoneNumber": "A String", # Customer phone number.
-        "location": { # Location of a job. # Job location.
-          "lat": 3.14, # Latitude.
-          "kind": "coordinate#location", # Identifies this object as a location.
-          "addressLine": [ # Address.
-            "A String",
-          ],
-          "lng": 3.14, # Longitude.
-        },
-        "progress": "A String", # Job progress.
-        "customFields": { # Collection of custom fields. # Custom fields.
-          "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
-          "customField": [ # Collection of custom fields.
-            { # Custom field.
-              "kind": "coordinate#customField", # Identifies this object as a custom field.
-              "customFieldId": "A String", # Custom field id.
-              "value": "A String", # Custom field value.
-            },
-          ],
-        },
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(teamId, pageToken=None, minModifiedTimestampMs=None, maxResults=None)</code>
-  <pre>Retrieves jobs created or modified since the given timestamp.
-
-Args:
-  teamId: string, Team ID (required)
-  pageToken: string, Continuation token
-  minModifiedTimestampMs: string, Minimum time a job was modified in milliseconds since epoch.
-  maxResults: integer, Maximum number of results to return in one page.
-
-Returns:
-  An object of the form:
-
-    { # Response from a List Jobs request.
-    "nextPageToken": "A String", # A token to provide to get the next page of results.
-    "items": [ # Jobs in the collection.
-      { # A job.
-          "kind": "coordinate#job", # Identifies this object as a job.
-          "jobChange": [ # List of job changes since it was created. The first change corresponds to the state of the job when it was created.
-            { # Change to a job. For example assigning the job to a different worker.
-              "timestamp": "A String", # Time at which this change was applied.
-              "kind": "coordinate#jobChange", # Identifies this object as a job change.
-              "state": { # Current state of a job. # Change applied to the job. Only the fields that were changed are set.
-                "kind": "coordinate#jobState", # Identifies this object as a job state.
-                "customerName": "A String", # Customer name.
-                "title": "A String", # Job title.
-                "note": [ # Note added to the job.
-                  "A String",
-                ],
-                "assignee": "A String", # Email address of the assignee.
-                "customerPhoneNumber": "A String", # Customer phone number.
-                "location": { # Location of a job. # Job location.
-                  "lat": 3.14, # Latitude.
-                  "kind": "coordinate#location", # Identifies this object as a location.
-                  "addressLine": [ # Address.
-                    "A String",
-                  ],
-                  "lng": 3.14, # Longitude.
-                },
-                "progress": "A String", # Job progress.
-                "customFields": { # Collection of custom fields. # Custom fields.
-                  "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
-                  "customField": [ # Collection of custom fields.
-                    { # Custom field.
-                      "kind": "coordinate#customField", # Identifies this object as a custom field.
-                      "customFieldId": "A String", # Custom field id.
-                      "value": "A String", # Custom field value.
-                    },
-                  ],
-                },
-              },
-            },
-          ],
-          "id": "A String", # Job id.
-          "state": { # Current state of a job. # Current job state.
-            "kind": "coordinate#jobState", # Identifies this object as a job state.
-            "customerName": "A String", # Customer name.
-            "title": "A String", # Job title.
-            "note": [ # Note added to the job.
-              "A String",
-            ],
-            "assignee": "A String", # Email address of the assignee.
-            "customerPhoneNumber": "A String", # Customer phone number.
-            "location": { # Location of a job. # Job location.
-              "lat": 3.14, # Latitude.
-              "kind": "coordinate#location", # Identifies this object as a location.
-              "addressLine": [ # Address.
-                "A String",
-              ],
-              "lng": 3.14, # Longitude.
-            },
-            "progress": "A String", # Job progress.
-            "customFields": { # Collection of custom fields. # Custom fields.
-              "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
-              "customField": [ # Collection of custom fields.
-                { # Custom field.
-                  "kind": "coordinate#customField", # Identifies this object as a custom field.
-                  "customFieldId": "A String", # Custom field id.
-                  "value": "A String", # Custom field value.
-                },
-              ],
-            },
-          },
-        },
-    ],
-    "kind": "coordinate#jobList", # Identifies this object as a list of jobs.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(teamId, jobId, body, customerName=None, assignee=None, customerPhoneNumber=None, lng=None, note=None, title=None, progress=None, address=None, lat=None, customField=None)</code>
-  <pre>Updates a job. Fields that are set in the job state will be updated. This method supports patch semantics.
-
-Args:
-  teamId: string, Team ID (required)
-  jobId: string, Job number (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A job.
-    "kind": "coordinate#job", # Identifies this object as a job.
-    "jobChange": [ # List of job changes since it was created. The first change corresponds to the state of the job when it was created.
-      { # Change to a job. For example assigning the job to a different worker.
-        "timestamp": "A String", # Time at which this change was applied.
-        "kind": "coordinate#jobChange", # Identifies this object as a job change.
-        "state": { # Current state of a job. # Change applied to the job. Only the fields that were changed are set.
-          "kind": "coordinate#jobState", # Identifies this object as a job state.
-          "customerName": "A String", # Customer name.
-          "title": "A String", # Job title.
-          "note": [ # Note added to the job.
-            "A String",
-          ],
-          "assignee": "A String", # Email address of the assignee.
-          "customerPhoneNumber": "A String", # Customer phone number.
-          "location": { # Location of a job. # Job location.
-            "lat": 3.14, # Latitude.
-            "kind": "coordinate#location", # Identifies this object as a location.
-            "addressLine": [ # Address.
-              "A String",
-            ],
-            "lng": 3.14, # Longitude.
-          },
-          "progress": "A String", # Job progress.
-          "customFields": { # Collection of custom fields. # Custom fields.
-            "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
-            "customField": [ # Collection of custom fields.
-              { # Custom field.
-                "kind": "coordinate#customField", # Identifies this object as a custom field.
-                "customFieldId": "A String", # Custom field id.
-                "value": "A String", # Custom field value.
-              },
-            ],
-          },
-        },
-      },
-    ],
-    "id": "A String", # Job id.
-    "state": { # Current state of a job. # Current job state.
-      "kind": "coordinate#jobState", # Identifies this object as a job state.
-      "customerName": "A String", # Customer name.
-      "title": "A String", # Job title.
-      "note": [ # Note added to the job.
-        "A String",
-      ],
-      "assignee": "A String", # Email address of the assignee.
-      "customerPhoneNumber": "A String", # Customer phone number.
-      "location": { # Location of a job. # Job location.
-        "lat": 3.14, # Latitude.
-        "kind": "coordinate#location", # Identifies this object as a location.
-        "addressLine": [ # Address.
-          "A String",
-        ],
-        "lng": 3.14, # Longitude.
-      },
-      "progress": "A String", # Job progress.
-      "customFields": { # Collection of custom fields. # Custom fields.
-        "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
-        "customField": [ # Collection of custom fields.
-          { # Custom field.
-            "kind": "coordinate#customField", # Identifies this object as a custom field.
-            "customFieldId": "A String", # Custom field id.
-            "value": "A String", # Custom field value.
-          },
-        ],
-      },
-    },
-  }
-
-  customerName: string, Customer name
-  assignee: string, Assignee email address, or empty string to unassign.
-  customerPhoneNumber: string, Customer phone number
-  lng: number, The longitude coordinate of this job's location.
-  note: string, Job note as newline (Unix) separated string
-  title: string, Job title
-  progress: string, Job progress
-    Allowed values
-      COMPLETED - Completed
-      IN_PROGRESS - In progress
-      NOT_ACCEPTED - Not accepted
-      NOT_STARTED - Not started
-      OBSOLETE - Obsolete
-  address: string, Job address as newline (Unix) separated string
-  lat: number, The latitude coordinate of this job's location.
-  customField: string, Map from custom field id (from /team//custom_fields) to the field value. For example '123=Alice' (repeated)
-
-Returns:
-  An object of the form:
-
-    { # A job.
-      "kind": "coordinate#job", # Identifies this object as a job.
-      "jobChange": [ # List of job changes since it was created. The first change corresponds to the state of the job when it was created.
-        { # Change to a job. For example assigning the job to a different worker.
-          "timestamp": "A String", # Time at which this change was applied.
-          "kind": "coordinate#jobChange", # Identifies this object as a job change.
-          "state": { # Current state of a job. # Change applied to the job. Only the fields that were changed are set.
-            "kind": "coordinate#jobState", # Identifies this object as a job state.
-            "customerName": "A String", # Customer name.
-            "title": "A String", # Job title.
-            "note": [ # Note added to the job.
-              "A String",
-            ],
-            "assignee": "A String", # Email address of the assignee.
-            "customerPhoneNumber": "A String", # Customer phone number.
-            "location": { # Location of a job. # Job location.
-              "lat": 3.14, # Latitude.
-              "kind": "coordinate#location", # Identifies this object as a location.
-              "addressLine": [ # Address.
-                "A String",
-              ],
-              "lng": 3.14, # Longitude.
-            },
-            "progress": "A String", # Job progress.
-            "customFields": { # Collection of custom fields. # Custom fields.
-              "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
-              "customField": [ # Collection of custom fields.
-                { # Custom field.
-                  "kind": "coordinate#customField", # Identifies this object as a custom field.
-                  "customFieldId": "A String", # Custom field id.
-                  "value": "A String", # Custom field value.
-                },
-              ],
-            },
-          },
-        },
-      ],
-      "id": "A String", # Job id.
-      "state": { # Current state of a job. # Current job state.
-        "kind": "coordinate#jobState", # Identifies this object as a job state.
-        "customerName": "A String", # Customer name.
-        "title": "A String", # Job title.
-        "note": [ # Note added to the job.
-          "A String",
-        ],
-        "assignee": "A String", # Email address of the assignee.
-        "customerPhoneNumber": "A String", # Customer phone number.
-        "location": { # Location of a job. # Job location.
-          "lat": 3.14, # Latitude.
-          "kind": "coordinate#location", # Identifies this object as a location.
-          "addressLine": [ # Address.
-            "A String",
-          ],
-          "lng": 3.14, # Longitude.
-        },
-        "progress": "A String", # Job progress.
-        "customFields": { # Collection of custom fields. # Custom fields.
-          "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
-          "customField": [ # Collection of custom fields.
-            { # Custom field.
-              "kind": "coordinate#customField", # Identifies this object as a custom field.
-              "customFieldId": "A String", # Custom field id.
-              "value": "A String", # Custom field value.
-            },
-          ],
-        },
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(teamId, jobId, body, customerName=None, assignee=None, customerPhoneNumber=None, lng=None, note=None, title=None, progress=None, address=None, lat=None, customField=None)</code>
-  <pre>Updates a job. Fields that are set in the job state will be updated.
-
-Args:
-  teamId: string, Team ID (required)
-  jobId: string, Job number (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A job.
-    "kind": "coordinate#job", # Identifies this object as a job.
-    "jobChange": [ # List of job changes since it was created. The first change corresponds to the state of the job when it was created.
-      { # Change to a job. For example assigning the job to a different worker.
-        "timestamp": "A String", # Time at which this change was applied.
-        "kind": "coordinate#jobChange", # Identifies this object as a job change.
-        "state": { # Current state of a job. # Change applied to the job. Only the fields that were changed are set.
-          "kind": "coordinate#jobState", # Identifies this object as a job state.
-          "customerName": "A String", # Customer name.
-          "title": "A String", # Job title.
-          "note": [ # Note added to the job.
-            "A String",
-          ],
-          "assignee": "A String", # Email address of the assignee.
-          "customerPhoneNumber": "A String", # Customer phone number.
-          "location": { # Location of a job. # Job location.
-            "lat": 3.14, # Latitude.
-            "kind": "coordinate#location", # Identifies this object as a location.
-            "addressLine": [ # Address.
-              "A String",
-            ],
-            "lng": 3.14, # Longitude.
-          },
-          "progress": "A String", # Job progress.
-          "customFields": { # Collection of custom fields. # Custom fields.
-            "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
-            "customField": [ # Collection of custom fields.
-              { # Custom field.
-                "kind": "coordinate#customField", # Identifies this object as a custom field.
-                "customFieldId": "A String", # Custom field id.
-                "value": "A String", # Custom field value.
-              },
-            ],
-          },
-        },
-      },
-    ],
-    "id": "A String", # Job id.
-    "state": { # Current state of a job. # Current job state.
-      "kind": "coordinate#jobState", # Identifies this object as a job state.
-      "customerName": "A String", # Customer name.
-      "title": "A String", # Job title.
-      "note": [ # Note added to the job.
-        "A String",
-      ],
-      "assignee": "A String", # Email address of the assignee.
-      "customerPhoneNumber": "A String", # Customer phone number.
-      "location": { # Location of a job. # Job location.
-        "lat": 3.14, # Latitude.
-        "kind": "coordinate#location", # Identifies this object as a location.
-        "addressLine": [ # Address.
-          "A String",
-        ],
-        "lng": 3.14, # Longitude.
-      },
-      "progress": "A String", # Job progress.
-      "customFields": { # Collection of custom fields. # Custom fields.
-        "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
-        "customField": [ # Collection of custom fields.
-          { # Custom field.
-            "kind": "coordinate#customField", # Identifies this object as a custom field.
-            "customFieldId": "A String", # Custom field id.
-            "value": "A String", # Custom field value.
-          },
-        ],
-      },
-    },
-  }
-
-  customerName: string, Customer name
-  assignee: string, Assignee email address, or empty string to unassign.
-  customerPhoneNumber: string, Customer phone number
-  lng: number, The longitude coordinate of this job's location.
-  note: string, Job note as newline (Unix) separated string
-  title: string, Job title
-  progress: string, Job progress
-    Allowed values
-      COMPLETED - Completed
-      IN_PROGRESS - In progress
-      NOT_ACCEPTED - Not accepted
-      NOT_STARTED - Not started
-      OBSOLETE - Obsolete
-  address: string, Job address as newline (Unix) separated string
-  lat: number, The latitude coordinate of this job's location.
-  customField: string, Map from custom field id (from /team//custom_fields) to the field value. For example '123=Alice' (repeated)
-
-Returns:
-  An object of the form:
-
-    { # A job.
-      "kind": "coordinate#job", # Identifies this object as a job.
-      "jobChange": [ # List of job changes since it was created. The first change corresponds to the state of the job when it was created.
-        { # Change to a job. For example assigning the job to a different worker.
-          "timestamp": "A String", # Time at which this change was applied.
-          "kind": "coordinate#jobChange", # Identifies this object as a job change.
-          "state": { # Current state of a job. # Change applied to the job. Only the fields that were changed are set.
-            "kind": "coordinate#jobState", # Identifies this object as a job state.
-            "customerName": "A String", # Customer name.
-            "title": "A String", # Job title.
-            "note": [ # Note added to the job.
-              "A String",
-            ],
-            "assignee": "A String", # Email address of the assignee.
-            "customerPhoneNumber": "A String", # Customer phone number.
-            "location": { # Location of a job. # Job location.
-              "lat": 3.14, # Latitude.
-              "kind": "coordinate#location", # Identifies this object as a location.
-              "addressLine": [ # Address.
-                "A String",
-              ],
-              "lng": 3.14, # Longitude.
-            },
-            "progress": "A String", # Job progress.
-            "customFields": { # Collection of custom fields. # Custom fields.
-              "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
-              "customField": [ # Collection of custom fields.
-                { # Custom field.
-                  "kind": "coordinate#customField", # Identifies this object as a custom field.
-                  "customFieldId": "A String", # Custom field id.
-                  "value": "A String", # Custom field value.
-                },
-              ],
-            },
-          },
-        },
-      ],
-      "id": "A String", # Job id.
-      "state": { # Current state of a job. # Current job state.
-        "kind": "coordinate#jobState", # Identifies this object as a job state.
-        "customerName": "A String", # Customer name.
-        "title": "A String", # Job title.
-        "note": [ # Note added to the job.
-          "A String",
-        ],
-        "assignee": "A String", # Email address of the assignee.
-        "customerPhoneNumber": "A String", # Customer phone number.
-        "location": { # Location of a job. # Job location.
-          "lat": 3.14, # Latitude.
-          "kind": "coordinate#location", # Identifies this object as a location.
-          "addressLine": [ # Address.
-            "A String",
-          ],
-          "lng": 3.14, # Longitude.
-        },
-        "progress": "A String", # Job progress.
-        "customFields": { # Collection of custom fields. # Custom fields.
-          "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
-          "customField": [ # Collection of custom fields.
-            { # Custom field.
-              "kind": "coordinate#customField", # Identifies this object as a custom field.
-              "customFieldId": "A String", # Custom field id.
-              "value": "A String", # Custom field value.
-            },
-          ],
-        },
-      },
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/coordinate_v1.location.html b/docs/dyn/coordinate_v1.location.html
deleted file mode 100644
index 131ec9d..0000000
--- a/docs/dyn/coordinate_v1.location.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="coordinate_v1.html">Google Maps Coordinate API</a> . <a href="coordinate_v1.location.html">location</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(teamId, workerEmail, startTimestampMs, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Retrieves a list of locations for a worker.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(teamId, workerEmail, startTimestampMs, pageToken=None, maxResults=None)</code>
-  <pre>Retrieves a list of locations for a worker.
-
-Args:
-  teamId: string, Team ID (required)
-  workerEmail: string, Worker email address. (required)
-  startTimestampMs: string, Start timestamp in milliseconds since the epoch. (required)
-  pageToken: string, Continuation token
-  maxResults: integer, Maximum number of results to return in one page.
-
-Returns:
-  An object of the form:
-
-    { # Response from a List Locations request.
-    "nextPageToken": "A String", # A token to provide to get the next page of results.
-    "items": [ # Locations in the collection.
-      { # Recorded location of a worker.
-        "latitude": 3.14, # Latitude.
-        "collectionTime": "A String", # The collection time in milliseconds since the epoch.
-        "confidenceRadius": 3.14, # The location accuracy in meters. This is the radius of a 95% confidence interval around the location measurement.
-        "kind": "coordinate#locationRecord", # Identifies this object as a location.
-        "longitude": 3.14, # Longitude.
-      },
-    ],
-    "kind": "coordinate#locationList", # Identifies this object as a list of locations.
-    "tokenPagination": { # Pagination information. # Pagination information for token pagination.
-      "nextPageToken": "A String", # A token to provide to get the next page of results.
-      "previousPageToken": "A String", # A token to provide to get the previous page of results.
-      "kind": "coordinate#tokenPagination", # Identifies this object as pagination information.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/coordinate_v1.schedule.html b/docs/dyn/coordinate_v1.schedule.html
deleted file mode 100644
index 7a68369..0000000
--- a/docs/dyn/coordinate_v1.schedule.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="coordinate_v1.html">Google Maps Coordinate API</a> . <a href="coordinate_v1.schedule.html">schedule</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(teamId, jobId)</a></code></p>
-<p class="firstline">Retrieves the schedule for a job.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(teamId, jobId, body, allDay=None, startTime=None, duration=None, endTime=None)</a></code></p>
-<p class="firstline">Replaces the schedule of a job with the provided schedule. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(teamId, jobId, body, allDay=None, startTime=None, duration=None, endTime=None)</a></code></p>
-<p class="firstline">Replaces the schedule of a job with the provided schedule.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(teamId, jobId)</code>
-  <pre>Retrieves the schedule for a job.
-
-Args:
-  teamId: string, Team ID (required)
-  jobId: string, Job number (required)
-
-Returns:
-  An object of the form:
-
-    { # Job schedule.
-      "duration": "A String", # Job duration in milliseconds.
-      "kind": "coordinate#schedule", # Identifies this object as a job schedule.
-      "allDay": True or False, # Whether the job is scheduled for the whole day. Time of day in start/end times is ignored if this is true.
-      "startTime": "A String", # Scheduled start time in milliseconds since epoch.
-      "endTime": "A String", # Scheduled end time in milliseconds since epoch.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(teamId, jobId, body, allDay=None, startTime=None, duration=None, endTime=None)</code>
-  <pre>Replaces the schedule of a job with the provided schedule. This method supports patch semantics.
-
-Args:
-  teamId: string, Team ID (required)
-  jobId: string, Job number (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Job schedule.
-    "duration": "A String", # Job duration in milliseconds.
-    "kind": "coordinate#schedule", # Identifies this object as a job schedule.
-    "allDay": True or False, # Whether the job is scheduled for the whole day. Time of day in start/end times is ignored if this is true.
-    "startTime": "A String", # Scheduled start time in milliseconds since epoch.
-    "endTime": "A String", # Scheduled end time in milliseconds since epoch.
-  }
-
-  allDay: boolean, Whether the job is scheduled for the whole day. Time of day in start/end times is ignored if this is true.
-  startTime: string, Scheduled start time in milliseconds since epoch.
-  duration: string, Job duration in milliseconds.
-  endTime: string, Scheduled end time in milliseconds since epoch.
-
-Returns:
-  An object of the form:
-
-    { # Job schedule.
-      "duration": "A String", # Job duration in milliseconds.
-      "kind": "coordinate#schedule", # Identifies this object as a job schedule.
-      "allDay": True or False, # Whether the job is scheduled for the whole day. Time of day in start/end times is ignored if this is true.
-      "startTime": "A String", # Scheduled start time in milliseconds since epoch.
-      "endTime": "A String", # Scheduled end time in milliseconds since epoch.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(teamId, jobId, body, allDay=None, startTime=None, duration=None, endTime=None)</code>
-  <pre>Replaces the schedule of a job with the provided schedule.
-
-Args:
-  teamId: string, Team ID (required)
-  jobId: string, Job number (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Job schedule.
-    "duration": "A String", # Job duration in milliseconds.
-    "kind": "coordinate#schedule", # Identifies this object as a job schedule.
-    "allDay": True or False, # Whether the job is scheduled for the whole day. Time of day in start/end times is ignored if this is true.
-    "startTime": "A String", # Scheduled start time in milliseconds since epoch.
-    "endTime": "A String", # Scheduled end time in milliseconds since epoch.
-  }
-
-  allDay: boolean, Whether the job is scheduled for the whole day. Time of day in start/end times is ignored if this is true.
-  startTime: string, Scheduled start time in milliseconds since epoch.
-  duration: string, Job duration in milliseconds.
-  endTime: string, Scheduled end time in milliseconds since epoch.
-
-Returns:
-  An object of the form:
-
-    { # Job schedule.
-      "duration": "A String", # Job duration in milliseconds.
-      "kind": "coordinate#schedule", # Identifies this object as a job schedule.
-      "allDay": True or False, # Whether the job is scheduled for the whole day. Time of day in start/end times is ignored if this is true.
-      "startTime": "A String", # Scheduled start time in milliseconds since epoch.
-      "endTime": "A String", # Scheduled end time in milliseconds since epoch.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/coordinate_v1.worker.html b/docs/dyn/coordinate_v1.worker.html
deleted file mode 100644
index 0e3da77..0000000
--- a/docs/dyn/coordinate_v1.worker.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="coordinate_v1.html">Google Maps Coordinate API</a> . <a href="coordinate_v1.worker.html">worker</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(teamId)</a></code></p>
-<p class="firstline">Retrieves a list of workers in a team.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(teamId)</code>
-  <pre>Retrieves a list of workers in a team.
-
-Args:
-  teamId: string, Team ID (required)
-
-Returns:
-  An object of the form:
-
-    { # Response from a List Workers request.
-    "items": [ # Workers in the collection.
-      { # A worker in a Coordinate team.
-        "kind": "coordinate#worker", # Identifies this object as a worker.
-        "id": "A String", # Worker email address.
-      },
-    ],
-    "kind": "coordinate#workerList", # Identifies this object as a list of workers.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/customsearch_v1.cse.html b/docs/dyn/customsearch_v1.cse.html
deleted file mode 100644
index 20fd034..0000000
--- a/docs/dyn/customsearch_v1.cse.html
+++ /dev/null
@@ -1,331 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="customsearch_v1.html">CustomSearch API</a> . <a href="customsearch_v1.cse.html">cse</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(q, dateRestrict=None, hl=None, orTerms=None, highRange=None, num=None, cr=None, imgType=None, relatedSite=None, filter=None, gl=None, searchType=None, fileType=None, start=None, imgDominantColor=None, lr=None, siteSearch=None, cref=None, sort=None, hq=None, c2coff=None, googlehost=None, safe=None, exactTerms=None, lowRange=None, imgSize=None, imgColorType=None, rights=None, excludeTerms=None, linkSite=None, cx=None, siteSearchFilter=None)</a></code></p>
-<p class="firstline">Returns metadata about the search performed, metadata about the custom search engine used for the search, and the search results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(q, dateRestrict=None, hl=None, orTerms=None, highRange=None, num=None, cr=None, imgType=None, relatedSite=None, filter=None, gl=None, searchType=None, fileType=None, start=None, imgDominantColor=None, lr=None, siteSearch=None, cref=None, sort=None, hq=None, c2coff=None, googlehost=None, safe=None, exactTerms=None, lowRange=None, imgSize=None, imgColorType=None, rights=None, excludeTerms=None, linkSite=None, cx=None, siteSearchFilter=None)</code>
-  <pre>Returns metadata about the search performed, metadata about the custom search engine used for the search, and the search results.
-
-Args:
-  q: string, Query (required)
-  dateRestrict: string, Specifies all search results are from a time period
-  hl: string, Sets the user interface language.
-  orTerms: string, Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms
-  highRange: string, Creates a range in form as_nlo value..as_nhi value and attempts to append it to query
-  num: integer, Number of search results to return
-  cr: string, Country restrict(s).
-  imgType: string, Returns images of a type, which can be one of: clipart, face, lineart, news, and photo.
-    Allowed values
-      clipart - clipart
-      face - face
-      lineart - lineart
-      news - news
-      photo - photo
-  relatedSite: string, Specifies that all search results should be pages that are related to the specified URL
-  filter: string, Controls turning on or off the duplicate content filter.
-    Allowed values
-      0 - Turns off duplicate content filter.
-      1 - Turns on duplicate content filter.
-  gl: string, Geolocation of end user.
-  searchType: string, Specifies the search type: image.
-    Allowed values
-      image - custom image search
-  fileType: string, Returns images of a specified type. Some of the allowed values are: bmp, gif, png, jpg, svg, pdf, ...
-  start: integer, The index of the first result to return
-  imgDominantColor: string, Returns images of a specific dominant color: yellow, green, teal, blue, purple, pink, white, gray, black and brown.
-    Allowed values
-      black - black
-      blue - blue
-      brown - brown
-      gray - gray
-      green - green
-      pink - pink
-      purple - purple
-      teal - teal
-      white - white
-      yellow - yellow
-  lr: string, The language restriction for the search results
-    Allowed values
-      lang_ar - Arabic
-      lang_bg - Bulgarian
-      lang_ca - Catalan
-      lang_cs - Czech
-      lang_da - Danish
-      lang_de - German
-      lang_el - Greek
-      lang_en - English
-      lang_es - Spanish
-      lang_et - Estonian
-      lang_fi - Finnish
-      lang_fr - French
-      lang_hr - Croatian
-      lang_hu - Hungarian
-      lang_id - Indonesian
-      lang_is - Icelandic
-      lang_it - Italian
-      lang_iw - Hebrew
-      lang_ja - Japanese
-      lang_ko - Korean
-      lang_lt - Lithuanian
-      lang_lv - Latvian
-      lang_nl - Dutch
-      lang_no - Norwegian
-      lang_pl - Polish
-      lang_pt - Portuguese
-      lang_ro - Romanian
-      lang_ru - Russian
-      lang_sk - Slovak
-      lang_sl - Slovenian
-      lang_sr - Serbian
-      lang_sv - Swedish
-      lang_tr - Turkish
-      lang_zh-CN - Chinese (Simplified)
-      lang_zh-TW - Chinese (Traditional)
-  siteSearch: string, Specifies all search results should be pages from a given site
-  cref: string, The URL of a linked custom search engine
-  sort: string, The sort expression to apply to the results
-  hq: string, Appends the extra query terms to the query.
-  c2coff: string, Turns off the translation between zh-CN and zh-TW.
-  googlehost: string, The local Google domain to use to perform the search.
-  safe: string, Search safety level
-    Allowed values
-      high - Enables highest level of safe search filtering.
-      medium - Enables moderate safe search filtering.
-      off - Disables safe search filtering.
-  exactTerms: string, Identifies a phrase that all documents in the search results must contain
-  lowRange: string, Creates a range in form as_nlo value..as_nhi value and attempts to append it to query
-  imgSize: string, Returns images of a specified size, where size can be one of: icon, small, medium, large, xlarge, xxlarge, and huge.
-    Allowed values
-      huge - huge
-      icon - icon
-      large - large
-      medium - medium
-      small - small
-      xlarge - xlarge
-      xxlarge - xxlarge
-  imgColorType: string, Returns black and white, grayscale, or color images: mono, gray, and color.
-    Allowed values
-      color - color
-      gray - gray
-      mono - mono
-  rights: string, Filters based on licensing. Supported values include: cc_publicdomain, cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived and combinations of these.
-  excludeTerms: string, Identifies a word or phrase that should not appear in any documents in the search results
-  linkSite: string, Specifies that all search results should contain a link to a particular URL
-  cx: string, The custom search engine ID to scope this search query
-  siteSearchFilter: string, Controls whether to include or exclude results from the site named in the as_sitesearch parameter
-    Allowed values
-      e - exclude
-      i - include
-
-Returns:
-  An object of the form:
-
-    {
-    "promotions": [
-      {
-        "title": "A String",
-        "displayLink": "A String",
-        "htmlTitle": "A String",
-        "link": "A String",
-        "bodyLines": [
-          {
-            "url": "A String",
-            "htmlTitle": "A String",
-            "link": "A String",
-            "title": "A String",
-          },
-        ],
-        "image": {
-          "source": "A String",
-          "width": 42,
-          "height": 42,
-        },
-      },
-    ],
-    "kind": "customsearch#search",
-    "url": {
-      "type": "application/json",
-      "template": "https://www.googleapis.com/customsearch/v1?q={searchTerms}&num={count?}&start={startIndex?}&lr={language?}&safe={safe?}&cx={cx?}&cref={cref?}&sort={sort?}&filter={filter?}&gl={gl?}&cr={cr?}&googlehost={googleHost?}&c2coff={disableCnTwTranslation?}&hq={hq?}&hl={hl?}&siteSearch={siteSearch?}&siteSearchFilter={siteSearchFilter?}&exactTerms={exactTerms?}&excludeTerms={excludeTerms?}&linkSite={linkSite?}&orTerms={orTerms?}&relatedSite={relatedSite?}&dateRestrict={dateRestrict?}&lowRange={lowRange?}&highRange={highRange?}&searchType={searchType}&fileType={fileType?}&rights={rights?}&imgSize={imgSize?}&imgType={imgType?}&imgColorType={imgColorType?}&imgDominantColor={imgDominantColor?}&alt=json",
-    },
-    "items": [
-      {
-        "snippet": "A String",
-        "kind": "customsearch#result",
-        "labels": [
-          {
-            "displayName": "A String",
-            "name": "A String",
-          },
-        ],
-        "title": "A String",
-        "displayLink": "A String",
-        "cacheId": "A String",
-        "formattedUrl": "A String",
-        "htmlFormattedUrl": "A String",
-        "pagemap": {
-          "a_key": [
-            {
-              "a_key": "",
-            },
-          ],
-        },
-        "htmlTitle": "A String",
-        "htmlSnippet": "A String",
-        "link": "A String",
-        "image": {
-          "thumbnailWidth": 42,
-          "byteSize": 42,
-          "height": 42,
-          "width": 42,
-          "contextLink": "A String",
-          "thumbnailLink": "A String",
-          "thumbnailHeight": 42,
-        },
-        "mime": "A String",
-        "fileFormat": "A String",
-      },
-    ],
-    "context": {
-      "facets": [
-        [
-          {
-            "anchor": "A String",
-            "label": "A String",
-          },
-        ],
-      ],
-      "title": "A String",
-    },
-    "queries": {
-      "a_key": [
-        {
-          "sort": "A String",
-          "hl": "A String",
-          "orTerms": "A String",
-          "highRange": "A String",
-          "cx": "A String",
-          "startPage": 42,
-          "disableCnTwTranslation": "A String",
-          "cr": "A String",
-          "imgType": "A String",
-          "gl": "A String",
-          "relatedSite": "A String",
-          "searchType": "A String",
-          "title": "A String",
-          "googleHost": "A String",
-          "fileType": "A String",
-          "imgDominantColor": "A String",
-          "siteSearch": "A String",
-          "cref": "A String",
-          "dateRestrict": "A String",
-          "safe": "A String",
-          "outputEncoding": "A String",
-          "hq": "A String",
-          "searchTerms": "A String",
-          "exactTerms": "A String",
-          "language": "A String",
-          "inputEncoding": "A String",
-          "totalResults": "A String",
-          "lowRange": "A String",
-          "count": 42,
-          "imgSize": "A String",
-          "imgColorType": "A String",
-          "rights": "A String",
-          "startIndex": 42,
-          "excludeTerms": "A String",
-          "filter": "A String",
-          "linkSite": "A String",
-          "siteSearchFilter": "A String",
-        },
-      ],
-    },
-    "spelling": {
-      "correctedQuery": "A String",
-      "htmlCorrectedQuery": "A String",
-    },
-    "searchInformation": {
-      "formattedSearchTime": "A String",
-      "formattedTotalResults": "A String",
-      "totalResults": "A String",
-      "searchTime": 3.14,
-    },
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/customsearch_v1.html b/docs/dyn/customsearch_v1.html
deleted file mode 100644
index 803bdc1..0000000
--- a/docs/dyn/customsearch_v1.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="customsearch_v1.html">CustomSearch API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="customsearch_v1.cse.html">cse()</a></code>
-</p>
-<p class="firstline">Returns the cse Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/datastore_v1beta1.datasets.html b/docs/dyn/datastore_v1beta1.datasets.html
deleted file mode 100644
index 24e7972..0000000
--- a/docs/dyn/datastore_v1beta1.datasets.html
+++ /dev/null
@@ -1,1212 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="datastore_v1beta1.html">Google Cloud Datastore API</a> . <a href="datastore_v1beta1.datasets.html">datasets</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#allocateIds">allocateIds(datasetId, body)</a></code></p>
-<p class="firstline">Allocate IDs for incomplete keys (useful for referencing an entity before it is inserted).</p>
-<p class="toc_element">
-  <code><a href="#beginTransaction">beginTransaction(datasetId, body)</a></code></p>
-<p class="firstline">Begin a new transaction.</p>
-<p class="toc_element">
-  <code><a href="#blindWrite">blindWrite(datasetId, body)</a></code></p>
-<p class="firstline">Create, delete or modify some entities outside a transaction.</p>
-<p class="toc_element">
-  <code><a href="#commit">commit(datasetId, body)</a></code></p>
-<p class="firstline">Commit a transaction, optionally creating, deleting or modifying some entities.</p>
-<p class="toc_element">
-  <code><a href="#lookup">lookup(datasetId, body)</a></code></p>
-<p class="firstline">Look up some entities by key.</p>
-<p class="toc_element">
-  <code><a href="#rollback">rollback(datasetId, body)</a></code></p>
-<p class="firstline">Roll back a transaction.</p>
-<p class="toc_element">
-  <code><a href="#runQuery">runQuery(datasetId, body)</a></code></p>
-<p class="firstline">Query for entities.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="allocateIds">allocateIds(datasetId, body)</code>
-  <pre>Allocate IDs for incomplete keys (useful for referencing an entity before it is inserted).
-
-Args:
-  datasetId: string, Identifies the dataset. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "keys": [ # A list of keys with incomplete key paths to allocate IDs for. No key may be reserved/read-only.
-      {
-        "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-          { # A (kind, ID/name) pair used to construct a key path.
-              #
-              # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-            "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-            "id": "A String", # The ID of the entity. Always > 0.
-            "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-          },
-        ],
-        "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-          "namespace": "A String", # The namespace.
-          "datasetId": "A String", # The dataset ID.
-        },
-      },
-    ],
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "keys": [ # The keys specified in the request (in the same order), each with its key path completed with a newly allocated ID.
-      {
-        "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-          { # A (kind, ID/name) pair used to construct a key path.
-              #
-              # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-            "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-            "id": "A String", # The ID of the entity. Always > 0.
-            "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-          },
-        ],
-        "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-          "namespace": "A String", # The namespace.
-          "datasetId": "A String", # The dataset ID.
-        },
-      },
-    ],
-    "header": {
-      "kind": "datastore#responseHeader", # The kind, fixed to "datastore#responseHeader".
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="beginTransaction">beginTransaction(datasetId, body)</code>
-  <pre>Begin a new transaction.
-
-Args:
-  datasetId: string, Identifies the dataset. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "isolationLevel": "A String", # The transaction isolation level. Either snapshot or serializable. The default isolation level is snapshot isolation, which means that another transaction may not concurrently modify the data that is modified by this transaction. Optionally, a transaction can request to be made serializable which means that another transaction cannot concurrently modify the data that is read or modified by this transaction.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "header": {
-      "kind": "datastore#responseHeader", # The kind, fixed to "datastore#responseHeader".
-    },
-    "transaction": "A String", # The transaction identifier (always present).
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="blindWrite">blindWrite(datasetId, body)</code>
-  <pre>Create, delete or modify some entities outside a transaction.
-
-Args:
-  datasetId: string, Identifies the dataset. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "mutation": { # The mutation to perform.
-      "insert": [ # Entities to insert. Each inserted entity's key must have a complete path and must not be reserved/read-only.
-        {
-          "properties": { # The entity's properties.
-            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
-              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
-              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
-                {
-                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
-                  "doubleValue": 3.14, # A double value.
-                  "integerValue": "A String", # An integer value.
-                  "meaning": 42, # The meaning field is reserved and should not be used.
-                  "dateTimeValue": "A String", # A timestamp value.
-                  "keyValue": { # A key value.
-                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-                      { # A (kind, ID/name) pair used to construct a key path.
-                          #
-                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                        "id": "A String", # The ID of the entity. Always > 0.
-                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-                      },
-                    ],
-                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-                      "namespace": "A String", # The namespace.
-                      "datasetId": "A String", # The dataset ID.
-                    },
-                  },
-                  "stringValue": "A String", # A UTF-8 encoded string value.
-                  "indexed": True or False, # If the value should be indexed.
-                      #
-                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
-                  "blobValue": "A String", # A blob value.
-                  "booleanValue": True or False, # A boolean value.
-                  "blobKeyValue": "A String", # A blob key value.
-                },
-              ],
-            },
-          },
-          "key": { # The entity's key.
-              #
-              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
-            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-              { # A (kind, ID/name) pair used to construct a key path.
-                  #
-                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                "id": "A String", # The ID of the entity. Always > 0.
-                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-              },
-            ],
-            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-              "namespace": "A String", # The namespace.
-              "datasetId": "A String", # The dataset ID.
-            },
-          },
-        },
-      ],
-      "force": True or False, # Ignore a user specified read-only period. Optional.
-      "insertAutoId": [ # Insert entities with a newly allocated ID. Each inserted entity's key must omit the final identifier in its path and must not be reserved/read-only.
-        {
-          "properties": { # The entity's properties.
-            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
-              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
-              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
-                {
-                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
-                  "doubleValue": 3.14, # A double value.
-                  "integerValue": "A String", # An integer value.
-                  "meaning": 42, # The meaning field is reserved and should not be used.
-                  "dateTimeValue": "A String", # A timestamp value.
-                  "keyValue": { # A key value.
-                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-                      { # A (kind, ID/name) pair used to construct a key path.
-                          #
-                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                        "id": "A String", # The ID of the entity. Always > 0.
-                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-                      },
-                    ],
-                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-                      "namespace": "A String", # The namespace.
-                      "datasetId": "A String", # The dataset ID.
-                    },
-                  },
-                  "stringValue": "A String", # A UTF-8 encoded string value.
-                  "indexed": True or False, # If the value should be indexed.
-                      #
-                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
-                  "blobValue": "A String", # A blob value.
-                  "booleanValue": True or False, # A boolean value.
-                  "blobKeyValue": "A String", # A blob key value.
-                },
-              ],
-            },
-          },
-          "key": { # The entity's key.
-              #
-              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
-            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-              { # A (kind, ID/name) pair used to construct a key path.
-                  #
-                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                "id": "A String", # The ID of the entity. Always > 0.
-                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-              },
-            ],
-            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-              "namespace": "A String", # The namespace.
-              "datasetId": "A String", # The dataset ID.
-            },
-          },
-        },
-      ],
-      "update": [ # Entities to update. Each updated entity's key must have a complete path and must not be reserved/read-only.
-        {
-          "properties": { # The entity's properties.
-            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
-              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
-              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
-                {
-                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
-                  "doubleValue": 3.14, # A double value.
-                  "integerValue": "A String", # An integer value.
-                  "meaning": 42, # The meaning field is reserved and should not be used.
-                  "dateTimeValue": "A String", # A timestamp value.
-                  "keyValue": { # A key value.
-                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-                      { # A (kind, ID/name) pair used to construct a key path.
-                          #
-                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                        "id": "A String", # The ID of the entity. Always > 0.
-                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-                      },
-                    ],
-                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-                      "namespace": "A String", # The namespace.
-                      "datasetId": "A String", # The dataset ID.
-                    },
-                  },
-                  "stringValue": "A String", # A UTF-8 encoded string value.
-                  "indexed": True or False, # If the value should be indexed.
-                      #
-                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
-                  "blobValue": "A String", # A blob value.
-                  "booleanValue": True or False, # A boolean value.
-                  "blobKeyValue": "A String", # A blob key value.
-                },
-              ],
-            },
-          },
-          "key": { # The entity's key.
-              #
-              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
-            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-              { # A (kind, ID/name) pair used to construct a key path.
-                  #
-                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                "id": "A String", # The ID of the entity. Always > 0.
-                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-              },
-            ],
-            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-              "namespace": "A String", # The namespace.
-              "datasetId": "A String", # The dataset ID.
-            },
-          },
-        },
-      ],
-      "delete": [ # Keys of entities to delete. Each key must have a complete key path and must not be reserved/read-only.
-        {
-          "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-            { # A (kind, ID/name) pair used to construct a key path.
-                #
-                # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-              "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-              "id": "A String", # The ID of the entity. Always > 0.
-              "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-            },
-          ],
-          "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-            "namespace": "A String", # The namespace.
-            "datasetId": "A String", # The dataset ID.
-          },
-        },
-      ],
-      "upsert": [ # Entities to upsert. Each upserted entity's key must have a complete path and must not be reserved/read-only.
-        {
-          "properties": { # The entity's properties.
-            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
-              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
-              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
-                {
-                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
-                  "doubleValue": 3.14, # A double value.
-                  "integerValue": "A String", # An integer value.
-                  "meaning": 42, # The meaning field is reserved and should not be used.
-                  "dateTimeValue": "A String", # A timestamp value.
-                  "keyValue": { # A key value.
-                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-                      { # A (kind, ID/name) pair used to construct a key path.
-                          #
-                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                        "id": "A String", # The ID of the entity. Always > 0.
-                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-                      },
-                    ],
-                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-                      "namespace": "A String", # The namespace.
-                      "datasetId": "A String", # The dataset ID.
-                    },
-                  },
-                  "stringValue": "A String", # A UTF-8 encoded string value.
-                  "indexed": True or False, # If the value should be indexed.
-                      #
-                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
-                  "blobValue": "A String", # A blob value.
-                  "booleanValue": True or False, # A boolean value.
-                  "blobKeyValue": "A String", # A blob key value.
-                },
-              ],
-            },
-          },
-          "key": { # The entity's key.
-              #
-              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
-            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-              { # A (kind, ID/name) pair used to construct a key path.
-                  #
-                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                "id": "A String", # The ID of the entity. Always > 0.
-                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-              },
-            ],
-            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-              "namespace": "A String", # The namespace.
-              "datasetId": "A String", # The dataset ID.
-            },
-          },
-        },
-      ],
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "header": {
-      "kind": "datastore#responseHeader", # The kind, fixed to "datastore#responseHeader".
-    },
-    "mutationResult": { # The result of performing the mutation (always present).
-      "insertAutoIdKeys": [ # Keys for insertAutoId entities. One per entity from the request, in the same order.
-        {
-          "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-            { # A (kind, ID/name) pair used to construct a key path.
-                #
-                # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-              "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-              "id": "A String", # The ID of the entity. Always > 0.
-              "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-            },
-          ],
-          "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-            "namespace": "A String", # The namespace.
-            "datasetId": "A String", # The dataset ID.
-          },
-        },
-      ],
-      "indexUpdates": 42, # Number of index writes.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="commit">commit(datasetId, body)</code>
-  <pre>Commit a transaction, optionally creating, deleting or modifying some entities.
-
-Args:
-  datasetId: string, Identifies the dataset. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "transaction": "A String", # The transaction identifier, returned by a call to beginTransaction.
-    "mutation": { # The mutation to perform as part of this transaction. Optional.
-      "insert": [ # Entities to insert. Each inserted entity's key must have a complete path and must not be reserved/read-only.
-        {
-          "properties": { # The entity's properties.
-            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
-              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
-              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
-                {
-                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
-                  "doubleValue": 3.14, # A double value.
-                  "integerValue": "A String", # An integer value.
-                  "meaning": 42, # The meaning field is reserved and should not be used.
-                  "dateTimeValue": "A String", # A timestamp value.
-                  "keyValue": { # A key value.
-                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-                      { # A (kind, ID/name) pair used to construct a key path.
-                          #
-                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                        "id": "A String", # The ID of the entity. Always > 0.
-                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-                      },
-                    ],
-                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-                      "namespace": "A String", # The namespace.
-                      "datasetId": "A String", # The dataset ID.
-                    },
-                  },
-                  "stringValue": "A String", # A UTF-8 encoded string value.
-                  "indexed": True or False, # If the value should be indexed.
-                      #
-                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
-                  "blobValue": "A String", # A blob value.
-                  "booleanValue": True or False, # A boolean value.
-                  "blobKeyValue": "A String", # A blob key value.
-                },
-              ],
-            },
-          },
-          "key": { # The entity's key.
-              #
-              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
-            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-              { # A (kind, ID/name) pair used to construct a key path.
-                  #
-                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                "id": "A String", # The ID of the entity. Always > 0.
-                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-              },
-            ],
-            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-              "namespace": "A String", # The namespace.
-              "datasetId": "A String", # The dataset ID.
-            },
-          },
-        },
-      ],
-      "force": True or False, # Ignore a user specified read-only period. Optional.
-      "insertAutoId": [ # Insert entities with a newly allocated ID. Each inserted entity's key must omit the final identifier in its path and must not be reserved/read-only.
-        {
-          "properties": { # The entity's properties.
-            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
-              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
-              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
-                {
-                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
-                  "doubleValue": 3.14, # A double value.
-                  "integerValue": "A String", # An integer value.
-                  "meaning": 42, # The meaning field is reserved and should not be used.
-                  "dateTimeValue": "A String", # A timestamp value.
-                  "keyValue": { # A key value.
-                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-                      { # A (kind, ID/name) pair used to construct a key path.
-                          #
-                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                        "id": "A String", # The ID of the entity. Always > 0.
-                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-                      },
-                    ],
-                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-                      "namespace": "A String", # The namespace.
-                      "datasetId": "A String", # The dataset ID.
-                    },
-                  },
-                  "stringValue": "A String", # A UTF-8 encoded string value.
-                  "indexed": True or False, # If the value should be indexed.
-                      #
-                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
-                  "blobValue": "A String", # A blob value.
-                  "booleanValue": True or False, # A boolean value.
-                  "blobKeyValue": "A String", # A blob key value.
-                },
-              ],
-            },
-          },
-          "key": { # The entity's key.
-              #
-              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
-            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-              { # A (kind, ID/name) pair used to construct a key path.
-                  #
-                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                "id": "A String", # The ID of the entity. Always > 0.
-                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-              },
-            ],
-            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-              "namespace": "A String", # The namespace.
-              "datasetId": "A String", # The dataset ID.
-            },
-          },
-        },
-      ],
-      "update": [ # Entities to update. Each updated entity's key must have a complete path and must not be reserved/read-only.
-        {
-          "properties": { # The entity's properties.
-            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
-              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
-              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
-                {
-                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
-                  "doubleValue": 3.14, # A double value.
-                  "integerValue": "A String", # An integer value.
-                  "meaning": 42, # The meaning field is reserved and should not be used.
-                  "dateTimeValue": "A String", # A timestamp value.
-                  "keyValue": { # A key value.
-                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-                      { # A (kind, ID/name) pair used to construct a key path.
-                          #
-                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                        "id": "A String", # The ID of the entity. Always > 0.
-                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-                      },
-                    ],
-                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-                      "namespace": "A String", # The namespace.
-                      "datasetId": "A String", # The dataset ID.
-                    },
-                  },
-                  "stringValue": "A String", # A UTF-8 encoded string value.
-                  "indexed": True or False, # If the value should be indexed.
-                      #
-                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
-                  "blobValue": "A String", # A blob value.
-                  "booleanValue": True or False, # A boolean value.
-                  "blobKeyValue": "A String", # A blob key value.
-                },
-              ],
-            },
-          },
-          "key": { # The entity's key.
-              #
-              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
-            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-              { # A (kind, ID/name) pair used to construct a key path.
-                  #
-                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                "id": "A String", # The ID of the entity. Always > 0.
-                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-              },
-            ],
-            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-              "namespace": "A String", # The namespace.
-              "datasetId": "A String", # The dataset ID.
-            },
-          },
-        },
-      ],
-      "delete": [ # Keys of entities to delete. Each key must have a complete key path and must not be reserved/read-only.
-        {
-          "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-            { # A (kind, ID/name) pair used to construct a key path.
-                #
-                # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-              "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-              "id": "A String", # The ID of the entity. Always > 0.
-              "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-            },
-          ],
-          "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-            "namespace": "A String", # The namespace.
-            "datasetId": "A String", # The dataset ID.
-          },
-        },
-      ],
-      "upsert": [ # Entities to upsert. Each upserted entity's key must have a complete path and must not be reserved/read-only.
-        {
-          "properties": { # The entity's properties.
-            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
-              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
-              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
-                {
-                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
-                  "doubleValue": 3.14, # A double value.
-                  "integerValue": "A String", # An integer value.
-                  "meaning": 42, # The meaning field is reserved and should not be used.
-                  "dateTimeValue": "A String", # A timestamp value.
-                  "keyValue": { # A key value.
-                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-                      { # A (kind, ID/name) pair used to construct a key path.
-                          #
-                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                        "id": "A String", # The ID of the entity. Always > 0.
-                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-                      },
-                    ],
-                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-                      "namespace": "A String", # The namespace.
-                      "datasetId": "A String", # The dataset ID.
-                    },
-                  },
-                  "stringValue": "A String", # A UTF-8 encoded string value.
-                  "indexed": True or False, # If the value should be indexed.
-                      #
-                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
-                  "blobValue": "A String", # A blob value.
-                  "booleanValue": True or False, # A boolean value.
-                  "blobKeyValue": "A String", # A blob key value.
-                },
-              ],
-            },
-          },
-          "key": { # The entity's key.
-              #
-              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
-            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-              { # A (kind, ID/name) pair used to construct a key path.
-                  #
-                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                "id": "A String", # The ID of the entity. Always > 0.
-                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-              },
-            ],
-            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-              "namespace": "A String", # The namespace.
-              "datasetId": "A String", # The dataset ID.
-            },
-          },
-        },
-      ],
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "header": {
-      "kind": "datastore#responseHeader", # The kind, fixed to "datastore#responseHeader".
-    },
-    "mutationResult": { # The result of performing the mutation (if any).
-      "insertAutoIdKeys": [ # Keys for insertAutoId entities. One per entity from the request, in the same order.
-        {
-          "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-            { # A (kind, ID/name) pair used to construct a key path.
-                #
-                # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-              "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-              "id": "A String", # The ID of the entity. Always > 0.
-              "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-            },
-          ],
-          "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-            "namespace": "A String", # The namespace.
-            "datasetId": "A String", # The dataset ID.
-          },
-        },
-      ],
-      "indexUpdates": 42, # Number of index writes.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="lookup">lookup(datasetId, body)</code>
-  <pre>Look up some entities by key.
-
-Args:
-  datasetId: string, Identifies the dataset. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "keys": [ # Keys of entities to look up from the datastore.
-      {
-        "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-          { # A (kind, ID/name) pair used to construct a key path.
-              #
-              # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-            "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-            "id": "A String", # The ID of the entity. Always > 0.
-            "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-          },
-        ],
-        "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-          "namespace": "A String", # The namespace.
-          "datasetId": "A String", # The dataset ID.
-        },
-      },
-    ],
-    "readOptions": { # Options for this lookup request. Optional.
-      "transaction": "A String", # The transaction to use. Optional.
-      "readConsistency": "A String", # The read consistency to use. One of default, strong, or eventual. Cannot be set when transaction is set. Lookup and ancestor queries default to strong, global queries default to eventual and cannot be set to strong. Optional. Default is default.
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "deferred": [ # A list of keys that were not looked up due to resource constraints.
-      {
-        "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-          { # A (kind, ID/name) pair used to construct a key path.
-              #
-              # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-            "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-            "id": "A String", # The ID of the entity. Always > 0.
-            "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-          },
-        ],
-        "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-          "namespace": "A String", # The namespace.
-          "datasetId": "A String", # The dataset ID.
-        },
-      },
-    ],
-    "missing": [ # Entities not found, with only the key populated.
-      {
-        "entity": { # The resulting entity.
-          "properties": { # The entity's properties.
-            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
-              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
-              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
-                {
-                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
-                  "doubleValue": 3.14, # A double value.
-                  "integerValue": "A String", # An integer value.
-                  "meaning": 42, # The meaning field is reserved and should not be used.
-                  "dateTimeValue": "A String", # A timestamp value.
-                  "keyValue": { # A key value.
-                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-                      { # A (kind, ID/name) pair used to construct a key path.
-                          #
-                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                        "id": "A String", # The ID of the entity. Always > 0.
-                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-                      },
-                    ],
-                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-                      "namespace": "A String", # The namespace.
-                      "datasetId": "A String", # The dataset ID.
-                    },
-                  },
-                  "stringValue": "A String", # A UTF-8 encoded string value.
-                  "indexed": True or False, # If the value should be indexed.
-                      #
-                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
-                  "blobValue": "A String", # A blob value.
-                  "booleanValue": True or False, # A boolean value.
-                  "blobKeyValue": "A String", # A blob key value.
-                },
-              ],
-            },
-          },
-          "key": { # The entity's key.
-              #
-              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
-            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-              { # A (kind, ID/name) pair used to construct a key path.
-                  #
-                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                "id": "A String", # The ID of the entity. Always > 0.
-                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-              },
-            ],
-            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-              "namespace": "A String", # The namespace.
-              "datasetId": "A String", # The dataset ID.
-            },
-          },
-        },
-      },
-    ],
-    "header": {
-      "kind": "datastore#responseHeader", # The kind, fixed to "datastore#responseHeader".
-    },
-    "found": [ # Entities found.
-      {
-        "entity": { # The resulting entity.
-          "properties": { # The entity's properties.
-            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
-              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
-              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
-                {
-                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
-                  "doubleValue": 3.14, # A double value.
-                  "integerValue": "A String", # An integer value.
-                  "meaning": 42, # The meaning field is reserved and should not be used.
-                  "dateTimeValue": "A String", # A timestamp value.
-                  "keyValue": { # A key value.
-                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-                      { # A (kind, ID/name) pair used to construct a key path.
-                          #
-                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                        "id": "A String", # The ID of the entity. Always > 0.
-                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-                      },
-                    ],
-                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-                      "namespace": "A String", # The namespace.
-                      "datasetId": "A String", # The dataset ID.
-                    },
-                  },
-                  "stringValue": "A String", # A UTF-8 encoded string value.
-                  "indexed": True or False, # If the value should be indexed.
-                      #
-                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
-                  "blobValue": "A String", # A blob value.
-                  "booleanValue": True or False, # A boolean value.
-                  "blobKeyValue": "A String", # A blob key value.
-                },
-              ],
-            },
-          },
-          "key": { # The entity's key.
-              #
-              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
-            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-              { # A (kind, ID/name) pair used to construct a key path.
-                  #
-                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                "id": "A String", # The ID of the entity. Always > 0.
-                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-              },
-            ],
-            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-              "namespace": "A String", # The namespace.
-              "datasetId": "A String", # The dataset ID.
-            },
-          },
-        },
-      },
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="rollback">rollback(datasetId, body)</code>
-  <pre>Roll back a transaction.
-
-Args:
-  datasetId: string, Identifies the dataset. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "transaction": "A String", # The transaction identifier, returned by a call to beginTransaction.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "header": {
-      "kind": "datastore#responseHeader", # The kind, fixed to "datastore#responseHeader".
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="runQuery">runQuery(datasetId, body)</code>
-  <pre>Query for entities.
-
-Args:
-  datasetId: string, Identifies the dataset. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "query": { # The query to run. Either this field or field gql_query must be set, but not both.
-      "startCursor": "A String", # A starting point for the query results. Optional. Query cursors are returned in query result batches.
-      "kinds": [ # The kinds to query (if empty, returns entities from all kinds).
-        {
-          "name": "A String", # The name of the kind.
-        },
-      ],
-      "projection": [ # The projection to return. If not set the entire entity is returned.
-        {
-          "aggregationFunction": "A String", # The aggregation function to apply to the property. Optional. Can only be used when grouping by at least one property. Must then be set on all properties in the projection that are not being grouped by. Aggregation functions: first selects the first result as determined by the query's order.
-          "property": { # The property to project.
-            "name": "A String", # The name of the property.
-          },
-        },
-      ],
-      "order": [ # The order to apply to the query results (if empty, order is unspecified).
-        {
-          "direction": "A String", # The direction to order by. One of ascending or descending. Optional, defaults to ascending.
-          "property": { # The property to order by.
-            "name": "A String", # The name of the property.
-          },
-        },
-      ],
-      "filter": { # The filter to apply (optional).
-        "compositeFilter": { # A composite filter.
-          "operator": "A String", # The operator for combining multiple filters. Only "and" is currently supported.
-          "filters": [ # The list of filters to combine. Must contain at least one filter.
-            # Object with schema name: Filter
-          ],
-        },
-        "propertyFilter": { # A filter on a property.
-          "operator": "A String", # The operator to filter by. One of lessThan, lessThanOrEqual, greaterThan, greaterThanOrEqual, equal, or hasAncestor.
-          "property": { # The property to filter by.
-            "name": "A String", # The name of the property.
-          },
-          "value": { # The value to compare the property to.
-            "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
-            "doubleValue": 3.14, # A double value.
-            "integerValue": "A String", # An integer value.
-            "meaning": 42, # The meaning field is reserved and should not be used.
-            "dateTimeValue": "A String", # A timestamp value.
-            "keyValue": { # A key value.
-              "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-                { # A (kind, ID/name) pair used to construct a key path.
-                    #
-                    # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                  "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                  "id": "A String", # The ID of the entity. Always > 0.
-                  "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-                },
-              ],
-              "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-                "namespace": "A String", # The namespace.
-                "datasetId": "A String", # The dataset ID.
-              },
-            },
-            "stringValue": "A String", # A UTF-8 encoded string value.
-            "indexed": True or False, # If the value should be indexed.
-                #
-                # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
-            "blobValue": "A String", # A blob value.
-            "booleanValue": True or False, # A boolean value.
-            "blobKeyValue": "A String", # A blob key value.
-          },
-        },
-      },
-      "limit": 42, # The maximum number of results to return. Applies after all other constraints. Optional.
-      "offset": 42, # The number of results to skip. Applies before limit, but after all other constraints (optional, defaults to 0).
-      "endCursor": "A String", # An ending point for the query results. Optional. Query cursors are returned in query result batches.
-      "groupBy": [ # The properties to group by (if empty, no grouping is applied to the result set).
-        {
-          "name": "A String", # The name of the property.
-        },
-      ],
-    },
-    "partitionId": { # Entities are partitioned into subsets, identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-      "namespace": "A String", # The namespace.
-      "datasetId": "A String", # The dataset ID.
-    },
-    "gqlQuery": { # The GQL query to run. Either this field or field query must be set, but not both.
-      "queryString": "A String",
-      "nameArgs": [ # A named argument must set field GqlQueryArg.name. No two named arguments may have the same name. For each non-reserved named binding site in the query string, there must be a named argument with that name, but not necessarily the inverse.
-        {
-          "cursor": "A String",
-          "name": "A String", # Must match regex "[A-Za-z_$][A-Za-z_$0-9]*". Must not match regex "__.*__". Must not be "".
-          "value": {
-            "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
-            "doubleValue": 3.14, # A double value.
-            "integerValue": "A String", # An integer value.
-            "meaning": 42, # The meaning field is reserved and should not be used.
-            "dateTimeValue": "A String", # A timestamp value.
-            "keyValue": { # A key value.
-              "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-                { # A (kind, ID/name) pair used to construct a key path.
-                    #
-                    # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                  "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                  "id": "A String", # The ID of the entity. Always > 0.
-                  "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-                },
-              ],
-              "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-                "namespace": "A String", # The namespace.
-                "datasetId": "A String", # The dataset ID.
-              },
-            },
-            "stringValue": "A String", # A UTF-8 encoded string value.
-            "indexed": True or False, # If the value should be indexed.
-                #
-                # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
-            "blobValue": "A String", # A blob value.
-            "booleanValue": True or False, # A boolean value.
-            "blobKeyValue": "A String", # A blob key value.
-          },
-        },
-      ],
-      "allowLiteral": True or False, # When false, the query string must not contain a literal.
-      "numberArgs": [ # Numbered binding site @1 references the first numbered argument, effectively using 1-based indexing, rather than the usual 0. A numbered argument must NOT set field GqlQueryArg.name. For each binding site numbered i in query_string, there must be an ith numbered argument. The inverse must also be true.
-        {
-          "cursor": "A String",
-          "name": "A String", # Must match regex "[A-Za-z_$][A-Za-z_$0-9]*". Must not match regex "__.*__". Must not be "".
-          "value": {
-            "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
-            "doubleValue": 3.14, # A double value.
-            "integerValue": "A String", # An integer value.
-            "meaning": 42, # The meaning field is reserved and should not be used.
-            "dateTimeValue": "A String", # A timestamp value.
-            "keyValue": { # A key value.
-              "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-                { # A (kind, ID/name) pair used to construct a key path.
-                    #
-                    # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                  "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                  "id": "A String", # The ID of the entity. Always > 0.
-                  "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-                },
-              ],
-              "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-                "namespace": "A String", # The namespace.
-                "datasetId": "A String", # The dataset ID.
-              },
-            },
-            "stringValue": "A String", # A UTF-8 encoded string value.
-            "indexed": True or False, # If the value should be indexed.
-                #
-                # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
-            "blobValue": "A String", # A blob value.
-            "booleanValue": True or False, # A boolean value.
-            "blobKeyValue": "A String", # A blob key value.
-          },
-        },
-      ],
-    },
-    "readOptions": { # The options for this query.
-      "transaction": "A String", # The transaction to use. Optional.
-      "readConsistency": "A String", # The read consistency to use. One of default, strong, or eventual. Cannot be set when transaction is set. Lookup and ancestor queries default to strong, global queries default to eventual and cannot be set to strong. Optional. Default is default.
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "header": {
-      "kind": "datastore#responseHeader", # The kind, fixed to "datastore#responseHeader".
-    },
-    "batch": { # A batch of query results (always present).
-      "moreResults": "A String", # The state of the query after the current batch. One of notFinished, moreResultsAfterLimit, noMoreResults.
-      "entityResults": [ # The results for this batch.
-        {
-          "entity": { # The resulting entity.
-            "properties": { # The entity's properties.
-              "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
-                "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
-                "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
-                  {
-                    "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
-                    "doubleValue": 3.14, # A double value.
-                    "integerValue": "A String", # An integer value.
-                    "meaning": 42, # The meaning field is reserved and should not be used.
-                    "dateTimeValue": "A String", # A timestamp value.
-                    "keyValue": { # A key value.
-                      "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-                        { # A (kind, ID/name) pair used to construct a key path.
-                            #
-                            # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                          "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                          "id": "A String", # The ID of the entity. Always > 0.
-                          "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-                        },
-                      ],
-                      "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-                        "namespace": "A String", # The namespace.
-                        "datasetId": "A String", # The dataset ID.
-                      },
-                    },
-                    "stringValue": "A String", # A UTF-8 encoded string value.
-                    "indexed": True or False, # If the value should be indexed.
-                        #
-                        # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
-                    "blobValue": "A String", # A blob value.
-                    "booleanValue": True or False, # A boolean value.
-                    "blobKeyValue": "A String", # A blob key value.
-                  },
-                ],
-              },
-            },
-            "key": { # The entity's key.
-                #
-                # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
-              "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
-                { # A (kind, ID/name) pair used to construct a key path.
-                    #
-                    # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
-                  "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
-                  "id": "A String", # The ID of the entity. Always > 0.
-                  "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
-                },
-              ],
-              "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
-                "namespace": "A String", # The namespace.
-                "datasetId": "A String", # The dataset ID.
-              },
-            },
-          },
-        },
-      ],
-      "skippedResults": 42, # The number of results skipped because of Query.offset.
-      "endCursor": "A String", # A cursor that points to the position after the last result in the batch. May be absent.
-      "entityResultType": "A String", # The result type for every entity in entityResults. full for full entities, projection for entities with only projected properties, keyOnly for entities with only a key.
-    },
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/datastore_v1beta1.html b/docs/dyn/datastore_v1beta1.html
deleted file mode 100644
index 8156786..0000000
--- a/docs/dyn/datastore_v1beta1.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="datastore_v1beta1.html">Google Cloud Datastore API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="datastore_v1beta1.datasets.html">datasets()</a></code>
-</p>
-<p class="firstline">Returns the datasets Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_1.dimensionValues.html b/docs/dyn/dfareporting_v1_1.dimensionValues.html
deleted file mode 100644
index 6f0a933..0000000
--- a/docs/dyn/dfareporting_v1_1.dimensionValues.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="dfareporting_v1_1.html">DFA Reporting API</a> . <a href="dfareporting_v1_1.dimensionValues.html">dimensionValues</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#query">query(profileId, body, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Retrieves list of report dimension values for a list of filters.</p>
-<p class="toc_element">
-  <code><a href="#query_next">query_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="query">query(profileId, body, pageToken=None, maxResults=None)</code>
-  <pre>Retrieves list of report dimension values for a list of filters.
-
-Args:
-  profileId: string, The DFA user profile ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a DimensionValuesRequest.
-    "dimensionName": "A String", # The name of the dimension for which values should be requested.
-    "startDate": "A String", # The start date of the date range for which to retrieve dimension values. A string of the format: "yyyy-MM-dd".
-    "kind": "dfareporting#dimensionValueRequest", # The kind of request this is, in this case dfareporting#dimensionValueRequest.
-    "endDate": "A String", # The end date of the date range for which to retrieve dimension values. A string of the format: "yyyy-MM-dd".
-    "filters": [ # The list of filters by which to filter values. The filters are ANDed.
-      { # Represents a dimension filter.
-        "dimensionName": "A String", # The name of the dimension to filter.
-        "kind": "dfareporting#dimensionFilter", # The kind of resource this is, in this case dfareporting#dimensionFilter.
-        "value": "A String", # The value of the dimension to filter.
-      },
-    ],
-  }
-
-  pageToken: string, The value of the nextToken from the previous result page.
-  maxResults: integer, Maximum number of results to return.
-
-Returns:
-  An object of the form:
-
-    { # Represents the list of DimensionValue resources.
-    "nextPageToken": "A String", # Continuation token used to page through dimension values. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
-    "items": [ # The dimension values returned in this response.
-      { # Represents a DimensionValue resource.
-        "dimensionName": "A String", # The name of the dimension.
-        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "id": "A String", # The ID associated with the value if available.
-        "value": "A String", # The value of the dimension.
-      },
-    ],
-    "kind": "dfareporting#dimensionValueList", # The kind of list this is, in this case dfareporting#dimensionValueList.
-    "etag": "A String", # The eTag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="query_next">query_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_1.files.html b/docs/dyn/dfareporting_v1_1.files.html
deleted file mode 100644
index f707f05..0000000
--- a/docs/dyn/dfareporting_v1_1.files.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="dfareporting_v1_1.html">DFA Reporting API</a> . <a href="dfareporting_v1_1.files.html">files</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(profileId, pageToken=None, sortField=None, maxResults=None, sortOrder=None)</a></code></p>
-<p class="firstline">Lists files for a user profile.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(profileId, pageToken=None, sortField=None, maxResults=None, sortOrder=None)</code>
-  <pre>Lists files for a user profile.
-
-Args:
-  profileId: string, The DFA profile ID. (required)
-  pageToken: string, The value of the nextToken from the previous result page.
-  sortField: string, The field by which to sort the list.
-    Allowed values
-      ID - Sort by file ID.
-      LAST_MODIFIED_TIME - Sort by 'lastmodifiedAt' field.
-  maxResults: integer, Maximum number of results to return.
-  sortOrder: string, Order of sorted results, default is 'DESCENDING'.
-    Allowed values
-      ASCENDING - Ascending order.
-      DESCENDING - Descending order.
-
-Returns:
-  An object of the form:
-
-    { # Represents the list of File resources.
-    "nextPageToken": "A String", # Continuation token used to page through files. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
-    "items": [ # The files returned in this response.
-      { # Represents a File resource. A File contains the meta-data for a report run. It shows the status of the run and holds the urls to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
-        "status": "A String", # The status of the report file, one of:
-            # - "PROCESSING"
-            # - "REPORT_AVAILABLE"
-            # - "FAILED"
-            # - "CANCELLED"
-        "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
-        "format": "A String", # The output format of the report. Only available once the file is available.
-        "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "fileName": "A String", # The file name of the file.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "reportId": "A String", # The ID of the report this file was generated from.
-        "urls": { # The urls where the completed report file can be downloaded.
-          "browserUrl": "A String", # The url for downloading the report data through a browser.
-          "apiUrl": "A String", # The url for downloading the report data through the API.
-        },
-        "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
-        "id": "A String", # The unique ID of this report file.
-      },
-    ],
-    "kind": "dfareporting#fileList", # The kind of list this is, in this case dfareporting#fileList.
-    "etag": "A String", # The eTag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_1.html b/docs/dyn/dfareporting_v1_1.html
deleted file mode 100644
index 4e7619f..0000000
--- a/docs/dyn/dfareporting_v1_1.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="dfareporting_v1_1.html">DFA Reporting API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="dfareporting_v1_1.dimensionValues.html">dimensionValues()</a></code>
-</p>
-<p class="firstline">Returns the dimensionValues Resource.</p>
-
-<p class="toc_element">
-  <code><a href="dfareporting_v1_1.files.html">files()</a></code>
-</p>
-<p class="firstline">Returns the files Resource.</p>
-
-<p class="toc_element">
-  <code><a href="dfareporting_v1_1.reports.html">reports()</a></code>
-</p>
-<p class="firstline">Returns the reports Resource.</p>
-
-<p class="toc_element">
-  <code><a href="dfareporting_v1_1.userProfiles.html">userProfiles()</a></code>
-</p>
-<p class="firstline">Returns the userProfiles Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_1.reports.files.html b/docs/dyn/dfareporting_v1_1.reports.files.html
deleted file mode 100644
index bb9bc0a..0000000
--- a/docs/dyn/dfareporting_v1_1.reports.files.html
+++ /dev/null
@@ -1,223 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="dfareporting_v1_1.html">DFA Reporting API</a> . <a href="dfareporting_v1_1.reports.html">reports</a> . <a href="dfareporting_v1_1.reports.files.html">files</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(profileId, reportId, fileId)</a></code></p>
-<p class="firstline">Retrieves a report file.</p>
-<p class="toc_element">
-  <code><a href="#list">list(profileId, reportId, pageToken=None, sortField=None, maxResults=None, sortOrder=None)</a></code></p>
-<p class="firstline">Lists files for a report.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(profileId, reportId, fileId)</code>
-  <pre>Retrieves a report file.
-
-Args:
-  profileId: string, The DFA profile ID. (required)
-  reportId: string, The ID of the report. (required)
-  fileId: string, The ID of the report file. (required)
-
-Returns:
-  An object of the form:
-
-    { # Represents a File resource. A File contains the meta-data for a report run. It shows the status of the run and holds the urls to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
-    "status": "A String", # The status of the report file, one of:
-        # - "PROCESSING"
-        # - "REPORT_AVAILABLE"
-        # - "FAILED"
-        # - "CANCELLED"
-    "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
-    "format": "A String", # The output format of the report. Only available once the file is available.
-    "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
-      "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-      "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-      "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-      "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-          # - "TODAY"
-          # - "YESTERDAY"
-          # - "WEEK_TO_DATE"
-          # - "MONTH_TO_DATE"
-          # - "QUARTER_TO_DATE"
-          # - "YEAR_TO_DATE"
-          # - "PREVIOUS_WEEK"
-          # - "PREVIOUS_MONTH"
-          # - "PREVIOUS_QUARTER"
-          # - "PREVIOUS_YEAR"
-          # - "LAST_7_DAYS"
-          # - "LAST_30_DAYS"
-          # - "LAST_90_DAYS"
-          # - "LAST_365_DAYS"
-          # - "LAST_24_MONTHS"
-    },
-    "fileName": "A String", # The file name of the file.
-    "etag": "A String", # The eTag of this response for caching purposes.
-    "reportId": "A String", # The ID of the report this file was generated from.
-    "urls": { # The urls where the completed report file can be downloaded.
-      "browserUrl": "A String", # The url for downloading the report data through a browser.
-      "apiUrl": "A String", # The url for downloading the report data through the API.
-    },
-    "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
-    "id": "A String", # The unique ID of this report file.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(profileId, reportId, pageToken=None, sortField=None, maxResults=None, sortOrder=None)</code>
-  <pre>Lists files for a report.
-
-Args:
-  profileId: string, The DFA profile ID. (required)
-  reportId: string, The ID of the parent report. (required)
-  pageToken: string, The value of the nextToken from the previous result page.
-  sortField: string, The field by which to sort the list.
-    Allowed values
-      ID - Sort by file ID.
-      LAST_MODIFIED_TIME - Sort by 'lastmodifiedAt' field.
-  maxResults: integer, Maximum number of results to return.
-  sortOrder: string, Order of sorted results, default is 'DESCENDING'.
-    Allowed values
-      ASCENDING - Ascending order.
-      DESCENDING - Descending order.
-
-Returns:
-  An object of the form:
-
-    { # Represents the list of File resources.
-    "nextPageToken": "A String", # Continuation token used to page through files. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
-    "items": [ # The files returned in this response.
-      { # Represents a File resource. A File contains the meta-data for a report run. It shows the status of the run and holds the urls to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
-        "status": "A String", # The status of the report file, one of:
-            # - "PROCESSING"
-            # - "REPORT_AVAILABLE"
-            # - "FAILED"
-            # - "CANCELLED"
-        "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
-        "format": "A String", # The output format of the report. Only available once the file is available.
-        "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "fileName": "A String", # The file name of the file.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "reportId": "A String", # The ID of the report this file was generated from.
-        "urls": { # The urls where the completed report file can be downloaded.
-          "browserUrl": "A String", # The url for downloading the report data through a browser.
-          "apiUrl": "A String", # The url for downloading the report data through the API.
-        },
-        "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
-        "id": "A String", # The unique ID of this report file.
-      },
-    ],
-    "kind": "dfareporting#fileList", # The kind of list this is, in this case dfareporting#fileList.
-    "etag": "A String", # The eTag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_1.reports.html b/docs/dyn/dfareporting_v1_1.reports.html
deleted file mode 100644
index be6fba0..0000000
--- a/docs/dyn/dfareporting_v1_1.reports.html
+++ /dev/null
@@ -1,3781 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="dfareporting_v1_1.html">DFA Reporting API</a> . <a href="dfareporting_v1_1.reports.html">reports</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="dfareporting_v1_1.reports.files.html">files()</a></code>
-</p>
-<p class="firstline">Returns the files Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#delete">delete(profileId, reportId)</a></code></p>
-<p class="firstline">Deletes a report by its ID.</p>
-<p class="toc_element">
-  <code><a href="#get">get(profileId, reportId)</a></code></p>
-<p class="firstline">Retrieves a report by its ID.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(profileId, body)</a></code></p>
-<p class="firstline">Creates a report.</p>
-<p class="toc_element">
-  <code><a href="#list">list(profileId, pageToken=None, sortField=None, maxResults=None, sortOrder=None)</a></code></p>
-<p class="firstline">Retrieves list of reports.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(profileId, reportId, body)</a></code></p>
-<p class="firstline">Updates a report. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#run">run(profileId, reportId, synchronous=None)</a></code></p>
-<p class="firstline">Runs a report.</p>
-<p class="toc_element">
-  <code><a href="#update">update(profileId, reportId, body)</a></code></p>
-<p class="firstline">Updates a report.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(profileId, reportId)</code>
-  <pre>Deletes a report by its ID.
-
-Args:
-  profileId: string, The DFA user profile ID. (required)
-  reportId: string, The ID of the report. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(profileId, reportId)</code>
-  <pre>Retrieves a report by its ID.
-
-Args:
-  profileId: string, The DFA user profile ID. (required)
-  reportId: string, The ID of the report. (required)
-
-Returns:
-  An object of the form:
-
-    { # Represents a Report resource.
-      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
-        "conversionDimensions": [ # The list of conversion dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "reportProperties": { # The properties of the report.
-          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
-          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
-          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-        },
-        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-      },
-      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
-      "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
-      "name": "A String", # The name of the report.
-      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
-        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
-        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
-            # - DAY_OF_MONTH
-            # - WEEK_OF_MONTH
-            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
-        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
-        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
-        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
-        "repeats": "A String", # The interval for which the report is repeated, one of:
-            # - "DAILY", also requires field "every" to be set.
-            # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
-            # - "TWICE_A_MONTH"
-            # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
-            # - "QUARTERLY"
-            # - "YEARLY"
-        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
-          "A String",
-        ],
-      },
-      "format": "A String", # The output format of the report, one of:
-          # - "CSV"
-          # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
-      "ownerProfileId": "A String", # The user profile id of the owner of this report.
-      "reachCriteria": { # The report criteria for a report of type "REACH".
-        "activities": { # Represents an activity group. # Activity group.
-          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-            { # Represents a DimensionValue resource.
-              "dimensionName": "A String", # The name of the dimension.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "id": "A String", # The ID associated with the value if available.
-              "value": "A String", # The value of the dimension.
-            },
-          ],
-          "metricNames": [ # List of names of floodlight activity metrics.
-            "A String",
-          ],
-        },
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
-          "A String",
-        ],
-        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-            { # Represents a DimensionValue resource.
-              "dimensionName": "A String", # The name of the dimension.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "id": "A String", # The ID associated with the value if available.
-              "value": "A String", # The value of the dimension.
-            },
-          ],
-        },
-      },
-      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-        "reportProperties": { # The properties of the report.
-          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-        },
-      },
-      "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-            # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-      },
-      "delivery": { # The report's email delivery settings.
-        "message": "A String", # The message to be sent with each email.
-        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
-            # - "ATTACHMENT"  (support for additional options will be added later)
-        "recipients": [ # The list of recipients to which to email the report.
-          { # Represents a recipient.
-            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
-            "deliveryType": "A String", # The delivery type for the recipient, one of:
-                # - "ATTACHMENT"  (support for additional options will be added later)
-            "email": "A String", # The email address of the recipient.
-          },
-        ],
-        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
-      },
-      "etag": "A String", # The eTag of this response for caching purposes.
-      "criteria": { # The report criteria for a report of type "STANDARD".
-        "activities": { # Represents an activity group. # Activity group.
-          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-            { # Represents a DimensionValue resource.
-              "dimensionName": "A String", # The name of the dimension.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "id": "A String", # The ID associated with the value if available.
-              "value": "A String", # The value of the dimension.
-            },
-          ],
-          "metricNames": [ # List of names of floodlight activity metrics.
-            "A String",
-          ],
-        },
-        "dimensions": [ # The list of standard dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range for which this report should be run.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-            { # Represents a DimensionValue resource.
-              "dimensionName": "A String", # The name of the dimension.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "id": "A String", # The ID associated with the value if available.
-              "value": "A String", # The value of the dimension.
-            },
-          ],
-        },
-      },
-      "id": "A String", # The unique ID identifying this report resource.
-      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
-      "fileName": "A String", # The file name used when generating report files for this report.
-      "type": "A String", # The type of the report, one of:
-          # - STANDARD
-          # - REACH
-          # - ACTIVE_GRP
-          # - PATH_TO_CONVERSION
-          # - FLOODLIGHT
-          # - CROSS_DIMENSION_REACH
-      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
-        "breakdown": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
-          "A String",
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
-        "dimension": "A String", # The dimension option, one of:
-            # - "ADVERTISER"
-            # - "CAMPAIGN"
-            # - "SITE_BY_ADVERTISER"
-            # - "SITE_BY_CAMPAIGN"
-      },
-      "accountId": "A String", # The account ID to which this report belongs.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(profileId, body)</code>
-  <pre>Creates a report.
-
-Args:
-  profileId: string, The DFA user profile ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a Report resource.
-    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
-      "conversionDimensions": [ # The list of conversion dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "reportProperties": { # The properties of the report.
-        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
-        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
-        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-      },
-      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
-        { # Represents a DimensionValue resource.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-      ],
-      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-        "dimensionName": "A String", # The name of the dimension.
-        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "id": "A String", # The ID associated with the value if available.
-        "value": "A String", # The value of the dimension.
-      },
-      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-    },
-    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
-    "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
-    "name": "A String", # The name of the report.
-    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
-      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
-      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
-          # - DAY_OF_MONTH
-          # - WEEK_OF_MONTH
-          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
-      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
-      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
-      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
-      "repeats": "A String", # The interval for which the report is repeated, one of:
-          # - "DAILY", also requires field "every" to be set.
-          # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
-          # - "TWICE_A_MONTH"
-          # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
-          # - "QUARTERLY"
-          # - "YEARLY"
-      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
-        "A String",
-      ],
-    },
-    "format": "A String", # The output format of the report, one of:
-        # - "CSV"
-        # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
-    "ownerProfileId": "A String", # The user profile id of the owner of this report.
-    "reachCriteria": { # The report criteria for a report of type "REACH".
-      "activities": { # Represents an activity group. # Activity group.
-        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "metricNames": [ # List of names of floodlight activity metrics.
-          "A String",
-        ],
-      },
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-      ],
-      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
-        "A String",
-      ],
-      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-      },
-    },
-    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-      ],
-      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-        "dimensionName": "A String", # The name of the dimension.
-        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "id": "A String", # The ID associated with the value if available.
-        "value": "A String", # The value of the dimension.
-      },
-      "reportProperties": { # The properties of the report.
-        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-      },
-    },
-    "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
-        { # Represents a DimensionValue resource.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-      ],
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-    },
-    "delivery": { # The report's email delivery settings.
-      "message": "A String", # The message to be sent with each email.
-      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
-          # - "ATTACHMENT"  (support for additional options will be added later)
-      "recipients": [ # The list of recipients to which to email the report.
-        { # Represents a recipient.
-          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
-          "deliveryType": "A String", # The delivery type for the recipient, one of:
-              # - "ATTACHMENT"  (support for additional options will be added later)
-          "email": "A String", # The email address of the recipient.
-        },
-      ],
-      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
-    },
-    "etag": "A String", # The eTag of this response for caching purposes.
-    "criteria": { # The report criteria for a report of type "STANDARD".
-      "activities": { # Represents an activity group. # Activity group.
-        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "metricNames": [ # List of names of floodlight activity metrics.
-          "A String",
-        ],
-      },
-      "dimensions": [ # The list of standard dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range for which this report should be run.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-      ],
-      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-      },
-    },
-    "id": "A String", # The unique ID identifying this report resource.
-    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
-    "fileName": "A String", # The file name used when generating report files for this report.
-    "type": "A String", # The type of the report, one of:
-        # - STANDARD
-        # - REACH
-        # - ACTIVE_GRP
-        # - PATH_TO_CONVERSION
-        # - FLOODLIGHT
-        # - CROSS_DIMENSION_REACH
-    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
-      "breakdown": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
-        "A String",
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-        { # Represents a DimensionValue resource.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-      ],
-      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
-      "dimension": "A String", # The dimension option, one of:
-          # - "ADVERTISER"
-          # - "CAMPAIGN"
-          # - "SITE_BY_ADVERTISER"
-          # - "SITE_BY_CAMPAIGN"
-    },
-    "accountId": "A String", # The account ID to which this report belongs.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a Report resource.
-      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
-        "conversionDimensions": [ # The list of conversion dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "reportProperties": { # The properties of the report.
-          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
-          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
-          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-        },
-        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-      },
-      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
-      "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
-      "name": "A String", # The name of the report.
-      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
-        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
-        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
-            # - DAY_OF_MONTH
-            # - WEEK_OF_MONTH
-            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
-        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
-        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
-        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
-        "repeats": "A String", # The interval for which the report is repeated, one of:
-            # - "DAILY", also requires field "every" to be set.
-            # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
-            # - "TWICE_A_MONTH"
-            # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
-            # - "QUARTERLY"
-            # - "YEARLY"
-        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
-          "A String",
-        ],
-      },
-      "format": "A String", # The output format of the report, one of:
-          # - "CSV"
-          # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
-      "ownerProfileId": "A String", # The user profile id of the owner of this report.
-      "reachCriteria": { # The report criteria for a report of type "REACH".
-        "activities": { # Represents an activity group. # Activity group.
-          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-            { # Represents a DimensionValue resource.
-              "dimensionName": "A String", # The name of the dimension.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "id": "A String", # The ID associated with the value if available.
-              "value": "A String", # The value of the dimension.
-            },
-          ],
-          "metricNames": [ # List of names of floodlight activity metrics.
-            "A String",
-          ],
-        },
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
-          "A String",
-        ],
-        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-            { # Represents a DimensionValue resource.
-              "dimensionName": "A String", # The name of the dimension.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "id": "A String", # The ID associated with the value if available.
-              "value": "A String", # The value of the dimension.
-            },
-          ],
-        },
-      },
-      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-        "reportProperties": { # The properties of the report.
-          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-        },
-      },
-      "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-            # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-      },
-      "delivery": { # The report's email delivery settings.
-        "message": "A String", # The message to be sent with each email.
-        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
-            # - "ATTACHMENT"  (support for additional options will be added later)
-        "recipients": [ # The list of recipients to which to email the report.
-          { # Represents a recipient.
-            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
-            "deliveryType": "A String", # The delivery type for the recipient, one of:
-                # - "ATTACHMENT"  (support for additional options will be added later)
-            "email": "A String", # The email address of the recipient.
-          },
-        ],
-        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
-      },
-      "etag": "A String", # The eTag of this response for caching purposes.
-      "criteria": { # The report criteria for a report of type "STANDARD".
-        "activities": { # Represents an activity group. # Activity group.
-          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-            { # Represents a DimensionValue resource.
-              "dimensionName": "A String", # The name of the dimension.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "id": "A String", # The ID associated with the value if available.
-              "value": "A String", # The value of the dimension.
-            },
-          ],
-          "metricNames": [ # List of names of floodlight activity metrics.
-            "A String",
-          ],
-        },
-        "dimensions": [ # The list of standard dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range for which this report should be run.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-            { # Represents a DimensionValue resource.
-              "dimensionName": "A String", # The name of the dimension.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "id": "A String", # The ID associated with the value if available.
-              "value": "A String", # The value of the dimension.
-            },
-          ],
-        },
-      },
-      "id": "A String", # The unique ID identifying this report resource.
-      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
-      "fileName": "A String", # The file name used when generating report files for this report.
-      "type": "A String", # The type of the report, one of:
-          # - STANDARD
-          # - REACH
-          # - ACTIVE_GRP
-          # - PATH_TO_CONVERSION
-          # - FLOODLIGHT
-          # - CROSS_DIMENSION_REACH
-      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
-        "breakdown": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
-          "A String",
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
-        "dimension": "A String", # The dimension option, one of:
-            # - "ADVERTISER"
-            # - "CAMPAIGN"
-            # - "SITE_BY_ADVERTISER"
-            # - "SITE_BY_CAMPAIGN"
-      },
-      "accountId": "A String", # The account ID to which this report belongs.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(profileId, pageToken=None, sortField=None, maxResults=None, sortOrder=None)</code>
-  <pre>Retrieves list of reports.
-
-Args:
-  profileId: string, The DFA user profile ID. (required)
-  pageToken: string, The value of the nextToken from the previous result page.
-  sortField: string, The field by which to sort the list.
-    Allowed values
-      ID - Sort by report ID.
-      LAST_MODIFIED_TIME - Sort by 'lastModifiedTime' field.
-      NAME - Sort by name of reports.
-  maxResults: integer, Maximum number of results to return.
-  sortOrder: string, Order of sorted results, default is 'DESCENDING'.
-    Allowed values
-      ASCENDING - Ascending order.
-      DESCENDING - Descending order.
-
-Returns:
-  An object of the form:
-
-    { # Represents the list of reports.
-    "nextPageToken": "A String", # Continuation token used to page through reports. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
-    "items": [ # The reports returned in this response.
-      { # Represents a Report resource.
-          "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
-            "conversionDimensions": [ # The list of conversion dimensions the report should include.
-              { # Represents a sorted dimension.
-                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-                "name": "A String", # The name of the dimension.
-                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                    # - "ASCENDING"
-                    # - "DESCENDING"
-              },
-            ],
-            "metricNames": [ # The list of names of metrics the report should include.
-              "A String",
-            ],
-            "dateRange": { # Represents a date range. # The date range this report should be run for.
-              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-                  # - "TODAY"
-                  # - "YESTERDAY"
-                  # - "WEEK_TO_DATE"
-                  # - "MONTH_TO_DATE"
-                  # - "QUARTER_TO_DATE"
-                  # - "YEAR_TO_DATE"
-                  # - "PREVIOUS_WEEK"
-                  # - "PREVIOUS_MONTH"
-                  # - "PREVIOUS_QUARTER"
-                  # - "PREVIOUS_YEAR"
-                  # - "LAST_7_DAYS"
-                  # - "LAST_30_DAYS"
-                  # - "LAST_90_DAYS"
-                  # - "LAST_365_DAYS"
-                  # - "LAST_24_MONTHS"
-            },
-            "reportProperties": { # The properties of the report.
-              "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-              "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
-              "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-              "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-              "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-              "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
-              "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-              "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-              "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-            },
-            "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
-              { # Represents a sorted dimension.
-                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-                "name": "A String", # The name of the dimension.
-                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                    # - "ASCENDING"
-                    # - "DESCENDING"
-              },
-            ],
-            "activityFilters": [ # The list of 'dfa:activity' values to filter on.
-              { # Represents a DimensionValue resource.
-                "dimensionName": "A String", # The name of the dimension.
-                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                "etag": "A String", # The eTag of this response for caching purposes.
-                "id": "A String", # The ID associated with the value if available.
-                "value": "A String", # The value of the dimension.
-              },
-            ],
-            "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-              "dimensionName": "A String", # The name of the dimension.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "id": "A String", # The ID associated with the value if available.
-              "value": "A String", # The value of the dimension.
-            },
-            "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
-              { # Represents a sorted dimension.
-                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-                "name": "A String", # The name of the dimension.
-                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                    # - "ASCENDING"
-                    # - "DESCENDING"
-              },
-            ],
-          },
-          "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
-          "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
-          "name": "A String", # The name of the report.
-          "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
-            "startDate": "A String", # Start date of date range for which scheduled reports should be run.
-            "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
-                # - DAY_OF_MONTH
-                # - WEEK_OF_MONTH
-                # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
-            "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
-            "expirationDate": "A String", # The expiration date when the scheduled report stops running.
-            "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
-            "repeats": "A String", # The interval for which the report is repeated, one of:
-                # - "DAILY", also requires field "every" to be set.
-                # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
-                # - "TWICE_A_MONTH"
-                # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
-                # - "QUARTERLY"
-                # - "YEARLY"
-            "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
-              "A String",
-            ],
-          },
-          "format": "A String", # The output format of the report, one of:
-              # - "CSV"
-              # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
-          "ownerProfileId": "A String", # The user profile id of the owner of this report.
-          "reachCriteria": { # The report criteria for a report of type "REACH".
-            "activities": { # Represents an activity group. # Activity group.
-              "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-              "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-                { # Represents a DimensionValue resource.
-                  "dimensionName": "A String", # The name of the dimension.
-                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                  "etag": "A String", # The eTag of this response for caching purposes.
-                  "id": "A String", # The ID associated with the value if available.
-                  "value": "A String", # The value of the dimension.
-                },
-              ],
-              "metricNames": [ # List of names of floodlight activity metrics.
-                "A String",
-              ],
-            },
-            "dimensions": [ # The list of dimensions the report should include.
-              { # Represents a sorted dimension.
-                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-                "name": "A String", # The name of the dimension.
-                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                    # - "ASCENDING"
-                    # - "DESCENDING"
-              },
-            ],
-            "metricNames": [ # The list of names of metrics the report should include.
-              "A String",
-            ],
-            "dateRange": { # Represents a date range. # The date range this report should be run for.
-              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-                  # - "TODAY"
-                  # - "YESTERDAY"
-                  # - "WEEK_TO_DATE"
-                  # - "MONTH_TO_DATE"
-                  # - "QUARTER_TO_DATE"
-                  # - "YEAR_TO_DATE"
-                  # - "PREVIOUS_WEEK"
-                  # - "PREVIOUS_MONTH"
-                  # - "PREVIOUS_QUARTER"
-                  # - "PREVIOUS_YEAR"
-                  # - "LAST_7_DAYS"
-                  # - "LAST_30_DAYS"
-                  # - "LAST_90_DAYS"
-                  # - "LAST_365_DAYS"
-                  # - "LAST_24_MONTHS"
-            },
-            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-                # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-              { # Represents a DimensionValue resource.
-                "dimensionName": "A String", # The name of the dimension.
-                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                "etag": "A String", # The eTag of this response for caching purposes.
-                "id": "A String", # The ID associated with the value if available.
-                "value": "A String", # The value of the dimension.
-              },
-            ],
-            "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
-              "A String",
-            ],
-            "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-              "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-              "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-                { # Represents a DimensionValue resource.
-                  "dimensionName": "A String", # The name of the dimension.
-                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                  "etag": "A String", # The eTag of this response for caching purposes.
-                  "id": "A String", # The ID associated with the value if available.
-                  "value": "A String", # The value of the dimension.
-                },
-              ],
-            },
-          },
-          "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
-            "dimensions": [ # The list of dimensions the report should include.
-              { # Represents a sorted dimension.
-                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-                "name": "A String", # The name of the dimension.
-                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                    # - "ASCENDING"
-                    # - "DESCENDING"
-              },
-            ],
-            "metricNames": [ # The list of names of metrics the report should include.
-              "A String",
-            ],
-            "dateRange": { # Represents a date range. # The date range this report should be run for.
-              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-                  # - "TODAY"
-                  # - "YESTERDAY"
-                  # - "WEEK_TO_DATE"
-                  # - "MONTH_TO_DATE"
-                  # - "QUARTER_TO_DATE"
-                  # - "YEAR_TO_DATE"
-                  # - "PREVIOUS_WEEK"
-                  # - "PREVIOUS_MONTH"
-                  # - "PREVIOUS_QUARTER"
-                  # - "PREVIOUS_YEAR"
-                  # - "LAST_7_DAYS"
-                  # - "LAST_30_DAYS"
-                  # - "LAST_90_DAYS"
-                  # - "LAST_365_DAYS"
-                  # - "LAST_24_MONTHS"
-            },
-            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-                # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-              { # Represents a DimensionValue resource.
-                "dimensionName": "A String", # The name of the dimension.
-                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                "etag": "A String", # The eTag of this response for caching purposes.
-                "id": "A String", # The ID associated with the value if available.
-                "value": "A String", # The value of the dimension.
-              },
-            ],
-            "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-              "dimensionName": "A String", # The name of the dimension.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "id": "A String", # The ID associated with the value if available.
-              "value": "A String", # The value of the dimension.
-            },
-            "reportProperties": { # The properties of the report.
-              "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-              "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-              "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-            },
-          },
-          "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
-            "dateRange": { # Represents a date range. # The date range this report should be run for.
-              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-                  # - "TODAY"
-                  # - "YESTERDAY"
-                  # - "WEEK_TO_DATE"
-                  # - "MONTH_TO_DATE"
-                  # - "QUARTER_TO_DATE"
-                  # - "YEAR_TO_DATE"
-                  # - "PREVIOUS_WEEK"
-                  # - "PREVIOUS_MONTH"
-                  # - "PREVIOUS_QUARTER"
-                  # - "PREVIOUS_YEAR"
-                  # - "LAST_7_DAYS"
-                  # - "LAST_30_DAYS"
-                  # - "LAST_90_DAYS"
-                  # - "LAST_365_DAYS"
-                  # - "LAST_24_MONTHS"
-            },
-            "metricNames": [ # The list of names of metrics the report should include.
-              "A String",
-            ],
-            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-                # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-                # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
-              { # Represents a DimensionValue resource.
-                "dimensionName": "A String", # The name of the dimension.
-                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                "etag": "A String", # The eTag of this response for caching purposes.
-                "id": "A String", # The ID associated with the value if available.
-                "value": "A String", # The value of the dimension.
-              },
-            ],
-            "dimensions": [ # The list of dimensions the report should include.
-              { # Represents a sorted dimension.
-                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-                "name": "A String", # The name of the dimension.
-                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                    # - "ASCENDING"
-                    # - "DESCENDING"
-              },
-            ],
-          },
-          "delivery": { # The report's email delivery settings.
-            "message": "A String", # The message to be sent with each email.
-            "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
-                # - "ATTACHMENT"  (support for additional options will be added later)
-            "recipients": [ # The list of recipients to which to email the report.
-              { # Represents a recipient.
-                "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
-                "deliveryType": "A String", # The delivery type for the recipient, one of:
-                    # - "ATTACHMENT"  (support for additional options will be added later)
-                "email": "A String", # The email address of the recipient.
-              },
-            ],
-            "emailOwner": True or False, # Whether the report should be emailed to the report owner.
-          },
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "criteria": { # The report criteria for a report of type "STANDARD".
-            "activities": { # Represents an activity group. # Activity group.
-              "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-              "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-                { # Represents a DimensionValue resource.
-                  "dimensionName": "A String", # The name of the dimension.
-                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                  "etag": "A String", # The eTag of this response for caching purposes.
-                  "id": "A String", # The ID associated with the value if available.
-                  "value": "A String", # The value of the dimension.
-                },
-              ],
-              "metricNames": [ # List of names of floodlight activity metrics.
-                "A String",
-              ],
-            },
-            "dimensions": [ # The list of standard dimensions the report should include.
-              { # Represents a sorted dimension.
-                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-                "name": "A String", # The name of the dimension.
-                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                    # - "ASCENDING"
-                    # - "DESCENDING"
-              },
-            ],
-            "metricNames": [ # The list of names of metrics the report should include.
-              "A String",
-            ],
-            "dateRange": { # Represents a date range. # The date range for which this report should be run.
-              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-                  # - "TODAY"
-                  # - "YESTERDAY"
-                  # - "WEEK_TO_DATE"
-                  # - "MONTH_TO_DATE"
-                  # - "QUARTER_TO_DATE"
-                  # - "YEAR_TO_DATE"
-                  # - "PREVIOUS_WEEK"
-                  # - "PREVIOUS_MONTH"
-                  # - "PREVIOUS_QUARTER"
-                  # - "PREVIOUS_YEAR"
-                  # - "LAST_7_DAYS"
-                  # - "LAST_30_DAYS"
-                  # - "LAST_90_DAYS"
-                  # - "LAST_365_DAYS"
-                  # - "LAST_24_MONTHS"
-            },
-            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-                # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-              { # Represents a DimensionValue resource.
-                "dimensionName": "A String", # The name of the dimension.
-                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                "etag": "A String", # The eTag of this response for caching purposes.
-                "id": "A String", # The ID associated with the value if available.
-                "value": "A String", # The value of the dimension.
-              },
-            ],
-            "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-              "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-              "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-                { # Represents a DimensionValue resource.
-                  "dimensionName": "A String", # The name of the dimension.
-                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                  "etag": "A String", # The eTag of this response for caching purposes.
-                  "id": "A String", # The ID associated with the value if available.
-                  "value": "A String", # The value of the dimension.
-                },
-              ],
-            },
-          },
-          "id": "A String", # The unique ID identifying this report resource.
-          "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
-          "fileName": "A String", # The file name used when generating report files for this report.
-          "type": "A String", # The type of the report, one of:
-              # - STANDARD
-              # - REACH
-              # - ACTIVE_GRP
-              # - PATH_TO_CONVERSION
-              # - FLOODLIGHT
-              # - CROSS_DIMENSION_REACH
-          "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
-            "breakdown": [ # The list of dimensions the report should include.
-              { # Represents a sorted dimension.
-                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-                "name": "A String", # The name of the dimension.
-                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                    # - "ASCENDING"
-                    # - "DESCENDING"
-              },
-            ],
-            "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
-              "A String",
-            ],
-            "metricNames": [ # The list of names of metrics the report should include.
-              "A String",
-            ],
-            "dateRange": { # Represents a date range. # The date range this report should be run for.
-              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-                  # - "TODAY"
-                  # - "YESTERDAY"
-                  # - "WEEK_TO_DATE"
-                  # - "MONTH_TO_DATE"
-                  # - "QUARTER_TO_DATE"
-                  # - "YEAR_TO_DATE"
-                  # - "PREVIOUS_WEEK"
-                  # - "PREVIOUS_MONTH"
-                  # - "PREVIOUS_QUARTER"
-                  # - "PREVIOUS_YEAR"
-                  # - "LAST_7_DAYS"
-                  # - "LAST_30_DAYS"
-                  # - "LAST_90_DAYS"
-                  # - "LAST_365_DAYS"
-                  # - "LAST_24_MONTHS"
-            },
-            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-              { # Represents a DimensionValue resource.
-                "dimensionName": "A String", # The name of the dimension.
-                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                "etag": "A String", # The eTag of this response for caching purposes.
-                "id": "A String", # The ID associated with the value if available.
-                "value": "A String", # The value of the dimension.
-              },
-            ],
-            "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
-            "dimension": "A String", # The dimension option, one of:
-                # - "ADVERTISER"
-                # - "CAMPAIGN"
-                # - "SITE_BY_ADVERTISER"
-                # - "SITE_BY_CAMPAIGN"
-          },
-          "accountId": "A String", # The account ID to which this report belongs.
-        },
-    ],
-    "kind": "dfareporting#reportList", # The kind of list this is, in this case dfareporting#reportList.
-    "etag": "A String", # The eTag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(profileId, reportId, body)</code>
-  <pre>Updates a report. This method supports patch semantics.
-
-Args:
-  profileId: string, The DFA user profile ID. (required)
-  reportId: string, The ID of the report. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a Report resource.
-    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
-      "conversionDimensions": [ # The list of conversion dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "reportProperties": { # The properties of the report.
-        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
-        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
-        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-      },
-      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
-        { # Represents a DimensionValue resource.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-      ],
-      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-        "dimensionName": "A String", # The name of the dimension.
-        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "id": "A String", # The ID associated with the value if available.
-        "value": "A String", # The value of the dimension.
-      },
-      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-    },
-    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
-    "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
-    "name": "A String", # The name of the report.
-    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
-      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
-      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
-          # - DAY_OF_MONTH
-          # - WEEK_OF_MONTH
-          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
-      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
-      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
-      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
-      "repeats": "A String", # The interval for which the report is repeated, one of:
-          # - "DAILY", also requires field "every" to be set.
-          # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
-          # - "TWICE_A_MONTH"
-          # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
-          # - "QUARTERLY"
-          # - "YEARLY"
-      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
-        "A String",
-      ],
-    },
-    "format": "A String", # The output format of the report, one of:
-        # - "CSV"
-        # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
-    "ownerProfileId": "A String", # The user profile id of the owner of this report.
-    "reachCriteria": { # The report criteria for a report of type "REACH".
-      "activities": { # Represents an activity group. # Activity group.
-        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "metricNames": [ # List of names of floodlight activity metrics.
-          "A String",
-        ],
-      },
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-      ],
-      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
-        "A String",
-      ],
-      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-      },
-    },
-    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-      ],
-      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-        "dimensionName": "A String", # The name of the dimension.
-        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "id": "A String", # The ID associated with the value if available.
-        "value": "A String", # The value of the dimension.
-      },
-      "reportProperties": { # The properties of the report.
-        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-      },
-    },
-    "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
-        { # Represents a DimensionValue resource.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-      ],
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-    },
-    "delivery": { # The report's email delivery settings.
-      "message": "A String", # The message to be sent with each email.
-      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
-          # - "ATTACHMENT"  (support for additional options will be added later)
-      "recipients": [ # The list of recipients to which to email the report.
-        { # Represents a recipient.
-          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
-          "deliveryType": "A String", # The delivery type for the recipient, one of:
-              # - "ATTACHMENT"  (support for additional options will be added later)
-          "email": "A String", # The email address of the recipient.
-        },
-      ],
-      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
-    },
-    "etag": "A String", # The eTag of this response for caching purposes.
-    "criteria": { # The report criteria for a report of type "STANDARD".
-      "activities": { # Represents an activity group. # Activity group.
-        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "metricNames": [ # List of names of floodlight activity metrics.
-          "A String",
-        ],
-      },
-      "dimensions": [ # The list of standard dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range for which this report should be run.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-      ],
-      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-      },
-    },
-    "id": "A String", # The unique ID identifying this report resource.
-    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
-    "fileName": "A String", # The file name used when generating report files for this report.
-    "type": "A String", # The type of the report, one of:
-        # - STANDARD
-        # - REACH
-        # - ACTIVE_GRP
-        # - PATH_TO_CONVERSION
-        # - FLOODLIGHT
-        # - CROSS_DIMENSION_REACH
-    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
-      "breakdown": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
-        "A String",
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-        { # Represents a DimensionValue resource.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-      ],
-      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
-      "dimension": "A String", # The dimension option, one of:
-          # - "ADVERTISER"
-          # - "CAMPAIGN"
-          # - "SITE_BY_ADVERTISER"
-          # - "SITE_BY_CAMPAIGN"
-    },
-    "accountId": "A String", # The account ID to which this report belongs.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a Report resource.
-      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
-        "conversionDimensions": [ # The list of conversion dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "reportProperties": { # The properties of the report.
-          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
-          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
-          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-        },
-        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-      },
-      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
-      "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
-      "name": "A String", # The name of the report.
-      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
-        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
-        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
-            # - DAY_OF_MONTH
-            # - WEEK_OF_MONTH
-            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
-        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
-        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
-        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
-        "repeats": "A String", # The interval for which the report is repeated, one of:
-            # - "DAILY", also requires field "every" to be set.
-            # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
-            # - "TWICE_A_MONTH"
-            # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
-            # - "QUARTERLY"
-            # - "YEARLY"
-        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
-          "A String",
-        ],
-      },
-      "format": "A String", # The output format of the report, one of:
-          # - "CSV"
-          # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
-      "ownerProfileId": "A String", # The user profile id of the owner of this report.
-      "reachCriteria": { # The report criteria for a report of type "REACH".
-        "activities": { # Represents an activity group. # Activity group.
-          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-            { # Represents a DimensionValue resource.
-              "dimensionName": "A String", # The name of the dimension.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "id": "A String", # The ID associated with the value if available.
-              "value": "A String", # The value of the dimension.
-            },
-          ],
-          "metricNames": [ # List of names of floodlight activity metrics.
-            "A String",
-          ],
-        },
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
-          "A String",
-        ],
-        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-            { # Represents a DimensionValue resource.
-              "dimensionName": "A String", # The name of the dimension.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "id": "A String", # The ID associated with the value if available.
-              "value": "A String", # The value of the dimension.
-            },
-          ],
-        },
-      },
-      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-        "reportProperties": { # The properties of the report.
-          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-        },
-      },
-      "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-            # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-      },
-      "delivery": { # The report's email delivery settings.
-        "message": "A String", # The message to be sent with each email.
-        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
-            # - "ATTACHMENT"  (support for additional options will be added later)
-        "recipients": [ # The list of recipients to which to email the report.
-          { # Represents a recipient.
-            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
-            "deliveryType": "A String", # The delivery type for the recipient, one of:
-                # - "ATTACHMENT"  (support for additional options will be added later)
-            "email": "A String", # The email address of the recipient.
-          },
-        ],
-        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
-      },
-      "etag": "A String", # The eTag of this response for caching purposes.
-      "criteria": { # The report criteria for a report of type "STANDARD".
-        "activities": { # Represents an activity group. # Activity group.
-          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-            { # Represents a DimensionValue resource.
-              "dimensionName": "A String", # The name of the dimension.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "id": "A String", # The ID associated with the value if available.
-              "value": "A String", # The value of the dimension.
-            },
-          ],
-          "metricNames": [ # List of names of floodlight activity metrics.
-            "A String",
-          ],
-        },
-        "dimensions": [ # The list of standard dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range for which this report should be run.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-            { # Represents a DimensionValue resource.
-              "dimensionName": "A String", # The name of the dimension.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "id": "A String", # The ID associated with the value if available.
-              "value": "A String", # The value of the dimension.
-            },
-          ],
-        },
-      },
-      "id": "A String", # The unique ID identifying this report resource.
-      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
-      "fileName": "A String", # The file name used when generating report files for this report.
-      "type": "A String", # The type of the report, one of:
-          # - STANDARD
-          # - REACH
-          # - ACTIVE_GRP
-          # - PATH_TO_CONVERSION
-          # - FLOODLIGHT
-          # - CROSS_DIMENSION_REACH
-      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
-        "breakdown": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
-          "A String",
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
-        "dimension": "A String", # The dimension option, one of:
-            # - "ADVERTISER"
-            # - "CAMPAIGN"
-            # - "SITE_BY_ADVERTISER"
-            # - "SITE_BY_CAMPAIGN"
-      },
-      "accountId": "A String", # The account ID to which this report belongs.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="run">run(profileId, reportId, synchronous=None)</code>
-  <pre>Runs a report.
-
-Args:
-  profileId: string, The DFA profile ID. (required)
-  reportId: string, The ID of the report. (required)
-  synchronous: boolean, If set and true, tries to run the report synchronously.
-
-Returns:
-  An object of the form:
-
-    { # Represents a File resource. A File contains the meta-data for a report run. It shows the status of the run and holds the urls to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
-    "status": "A String", # The status of the report file, one of:
-        # - "PROCESSING"
-        # - "REPORT_AVAILABLE"
-        # - "FAILED"
-        # - "CANCELLED"
-    "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
-    "format": "A String", # The output format of the report. Only available once the file is available.
-    "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
-      "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-      "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-      "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-      "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-          # - "TODAY"
-          # - "YESTERDAY"
-          # - "WEEK_TO_DATE"
-          # - "MONTH_TO_DATE"
-          # - "QUARTER_TO_DATE"
-          # - "YEAR_TO_DATE"
-          # - "PREVIOUS_WEEK"
-          # - "PREVIOUS_MONTH"
-          # - "PREVIOUS_QUARTER"
-          # - "PREVIOUS_YEAR"
-          # - "LAST_7_DAYS"
-          # - "LAST_30_DAYS"
-          # - "LAST_90_DAYS"
-          # - "LAST_365_DAYS"
-          # - "LAST_24_MONTHS"
-    },
-    "fileName": "A String", # The file name of the file.
-    "etag": "A String", # The eTag of this response for caching purposes.
-    "reportId": "A String", # The ID of the report this file was generated from.
-    "urls": { # The urls where the completed report file can be downloaded.
-      "browserUrl": "A String", # The url for downloading the report data through a browser.
-      "apiUrl": "A String", # The url for downloading the report data through the API.
-    },
-    "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
-    "id": "A String", # The unique ID of this report file.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(profileId, reportId, body)</code>
-  <pre>Updates a report.
-
-Args:
-  profileId: string, The DFA user profile ID. (required)
-  reportId: string, The ID of the report. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a Report resource.
-    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
-      "conversionDimensions": [ # The list of conversion dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "reportProperties": { # The properties of the report.
-        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
-        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
-        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-      },
-      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
-        { # Represents a DimensionValue resource.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-      ],
-      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-        "dimensionName": "A String", # The name of the dimension.
-        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "id": "A String", # The ID associated with the value if available.
-        "value": "A String", # The value of the dimension.
-      },
-      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-    },
-    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
-    "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
-    "name": "A String", # The name of the report.
-    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
-      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
-      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
-          # - DAY_OF_MONTH
-          # - WEEK_OF_MONTH
-          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
-      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
-      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
-      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
-      "repeats": "A String", # The interval for which the report is repeated, one of:
-          # - "DAILY", also requires field "every" to be set.
-          # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
-          # - "TWICE_A_MONTH"
-          # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
-          # - "QUARTERLY"
-          # - "YEARLY"
-      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
-        "A String",
-      ],
-    },
-    "format": "A String", # The output format of the report, one of:
-        # - "CSV"
-        # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
-    "ownerProfileId": "A String", # The user profile id of the owner of this report.
-    "reachCriteria": { # The report criteria for a report of type "REACH".
-      "activities": { # Represents an activity group. # Activity group.
-        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "metricNames": [ # List of names of floodlight activity metrics.
-          "A String",
-        ],
-      },
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-      ],
-      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
-        "A String",
-      ],
-      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-      },
-    },
-    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-      ],
-      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-        "dimensionName": "A String", # The name of the dimension.
-        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "id": "A String", # The ID associated with the value if available.
-        "value": "A String", # The value of the dimension.
-      },
-      "reportProperties": { # The properties of the report.
-        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-      },
-    },
-    "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
-        { # Represents a DimensionValue resource.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-      ],
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-    },
-    "delivery": { # The report's email delivery settings.
-      "message": "A String", # The message to be sent with each email.
-      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
-          # - "ATTACHMENT"  (support for additional options will be added later)
-      "recipients": [ # The list of recipients to which to email the report.
-        { # Represents a recipient.
-          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
-          "deliveryType": "A String", # The delivery type for the recipient, one of:
-              # - "ATTACHMENT"  (support for additional options will be added later)
-          "email": "A String", # The email address of the recipient.
-        },
-      ],
-      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
-    },
-    "etag": "A String", # The eTag of this response for caching purposes.
-    "criteria": { # The report criteria for a report of type "STANDARD".
-      "activities": { # Represents an activity group. # Activity group.
-        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "metricNames": [ # List of names of floodlight activity metrics.
-          "A String",
-        ],
-      },
-      "dimensions": [ # The list of standard dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range for which this report should be run.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-      ],
-      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-      },
-    },
-    "id": "A String", # The unique ID identifying this report resource.
-    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
-    "fileName": "A String", # The file name used when generating report files for this report.
-    "type": "A String", # The type of the report, one of:
-        # - STANDARD
-        # - REACH
-        # - ACTIVE_GRP
-        # - PATH_TO_CONVERSION
-        # - FLOODLIGHT
-        # - CROSS_DIMENSION_REACH
-    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
-      "breakdown": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
-        "A String",
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-        { # Represents a DimensionValue resource.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-      ],
-      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
-      "dimension": "A String", # The dimension option, one of:
-          # - "ADVERTISER"
-          # - "CAMPAIGN"
-          # - "SITE_BY_ADVERTISER"
-          # - "SITE_BY_CAMPAIGN"
-    },
-    "accountId": "A String", # The account ID to which this report belongs.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a Report resource.
-      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
-        "conversionDimensions": [ # The list of conversion dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "reportProperties": { # The properties of the report.
-          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
-          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
-          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-        },
-        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-      },
-      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
-      "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
-      "name": "A String", # The name of the report.
-      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
-        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
-        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
-            # - DAY_OF_MONTH
-            # - WEEK_OF_MONTH
-            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
-        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
-        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
-        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
-        "repeats": "A String", # The interval for which the report is repeated, one of:
-            # - "DAILY", also requires field "every" to be set.
-            # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
-            # - "TWICE_A_MONTH"
-            # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
-            # - "QUARTERLY"
-            # - "YEARLY"
-        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
-          "A String",
-        ],
-      },
-      "format": "A String", # The output format of the report, one of:
-          # - "CSV"
-          # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
-      "ownerProfileId": "A String", # The user profile id of the owner of this report.
-      "reachCriteria": { # The report criteria for a report of type "REACH".
-        "activities": { # Represents an activity group. # Activity group.
-          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-            { # Represents a DimensionValue resource.
-              "dimensionName": "A String", # The name of the dimension.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "id": "A String", # The ID associated with the value if available.
-              "value": "A String", # The value of the dimension.
-            },
-          ],
-          "metricNames": [ # List of names of floodlight activity metrics.
-            "A String",
-          ],
-        },
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
-          "A String",
-        ],
-        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-            { # Represents a DimensionValue resource.
-              "dimensionName": "A String", # The name of the dimension.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "id": "A String", # The ID associated with the value if available.
-              "value": "A String", # The value of the dimension.
-            },
-          ],
-        },
-      },
-      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-          "dimensionName": "A String", # The name of the dimension.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "id": "A String", # The ID associated with the value if available.
-          "value": "A String", # The value of the dimension.
-        },
-        "reportProperties": { # The properties of the report.
-          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-        },
-      },
-      "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-            # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-      },
-      "delivery": { # The report's email delivery settings.
-        "message": "A String", # The message to be sent with each email.
-        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
-            # - "ATTACHMENT"  (support for additional options will be added later)
-        "recipients": [ # The list of recipients to which to email the report.
-          { # Represents a recipient.
-            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
-            "deliveryType": "A String", # The delivery type for the recipient, one of:
-                # - "ATTACHMENT"  (support for additional options will be added later)
-            "email": "A String", # The email address of the recipient.
-          },
-        ],
-        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
-      },
-      "etag": "A String", # The eTag of this response for caching purposes.
-      "criteria": { # The report criteria for a report of type "STANDARD".
-        "activities": { # Represents an activity group. # Activity group.
-          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-            { # Represents a DimensionValue resource.
-              "dimensionName": "A String", # The name of the dimension.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "id": "A String", # The ID associated with the value if available.
-              "value": "A String", # The value of the dimension.
-            },
-          ],
-          "metricNames": [ # List of names of floodlight activity metrics.
-            "A String",
-          ],
-        },
-        "dimensions": [ # The list of standard dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range for which this report should be run.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-            { # Represents a DimensionValue resource.
-              "dimensionName": "A String", # The name of the dimension.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "id": "A String", # The ID associated with the value if available.
-              "value": "A String", # The value of the dimension.
-            },
-          ],
-        },
-      },
-      "id": "A String", # The unique ID identifying this report resource.
-      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
-      "fileName": "A String", # The file name used when generating report files for this report.
-      "type": "A String", # The type of the report, one of:
-          # - STANDARD
-          # - REACH
-          # - ACTIVE_GRP
-          # - PATH_TO_CONVERSION
-          # - FLOODLIGHT
-          # - CROSS_DIMENSION_REACH
-      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
-        "breakdown": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
-          "A String",
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          { # Represents a DimensionValue resource.
-            "dimensionName": "A String", # The name of the dimension.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "id": "A String", # The ID associated with the value if available.
-            "value": "A String", # The value of the dimension.
-          },
-        ],
-        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
-        "dimension": "A String", # The dimension option, one of:
-            # - "ADVERTISER"
-            # - "CAMPAIGN"
-            # - "SITE_BY_ADVERTISER"
-            # - "SITE_BY_CAMPAIGN"
-      },
-      "accountId": "A String", # The account ID to which this report belongs.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_1.userProfiles.html b/docs/dyn/dfareporting_v1_1.userProfiles.html
deleted file mode 100644
index 141450f..0000000
--- a/docs/dyn/dfareporting_v1_1.userProfiles.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="dfareporting_v1_1.html">DFA Reporting API</a> . <a href="dfareporting_v1_1.userProfiles.html">userProfiles</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(profileId)</a></code></p>
-<p class="firstline">Gets one user profile by ID.</p>
-<p class="toc_element">
-  <code><a href="#list">list()</a></code></p>
-<p class="firstline">Retrieves list of user profiles for a user.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(profileId)</code>
-  <pre>Gets one user profile by ID.
-
-Args:
-  profileId: string, The user profile ID. (required)
-
-Returns:
-  An object of the form:
-
-    { # Represents a UserProfile resource.
-    "userName": "A String", # The user name.
-    "kind": "dfareporting#userProfile", # The kind of resource this is, in this case dfareporting#userProfile.
-    "subAccountId": "A String", # The sub account ID this profile belongs to if applicable.
-    "accountName": "A String", # The account name this profile belongs to.
-    "etag": "A String", # The eTag of this response for caching purposes.
-    "subAccountName": "A String", # The sub account name this profile belongs to if applicable.
-    "profileId": "A String", # The unique ID of the user profile.
-    "accountId": "A String", # The account ID to which this profile belongs.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list()</code>
-  <pre>Retrieves list of user profiles for a user.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    { # Represents the list of user profiles.
-    "items": [ # The user profiles returned in this response.
-      { # Represents a UserProfile resource.
-        "userName": "A String", # The user name.
-        "kind": "dfareporting#userProfile", # The kind of resource this is, in this case dfareporting#userProfile.
-        "subAccountId": "A String", # The sub account ID this profile belongs to if applicable.
-        "accountName": "A String", # The account name this profile belongs to.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "subAccountName": "A String", # The sub account name this profile belongs to if applicable.
-        "profileId": "A String", # The unique ID of the user profile.
-        "accountId": "A String", # The account ID to which this profile belongs.
-      },
-    ],
-    "kind": "dfareporting#userProfileList", # The kind of list this is, in this case dfareporting#userProfileList.
-    "etag": "A String", # The eTag of this response for caching purposes.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_3.dimensionValues.html b/docs/dyn/dfareporting_v1_3.dimensionValues.html
deleted file mode 100644
index f9ed90f..0000000
--- a/docs/dyn/dfareporting_v1_3.dimensionValues.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="dfareporting_v1_3.html">DFA Reporting API</a> . <a href="dfareporting_v1_3.dimensionValues.html">dimensionValues</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#query">query(profileId, body, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Retrieves list of report dimension values for a list of filters.</p>
-<p class="toc_element">
-  <code><a href="#query_next">query_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="query">query(profileId, body, pageToken=None, maxResults=None)</code>
-  <pre>Retrieves list of report dimension values for a list of filters.
-
-Args:
-  profileId: string, The DFA user profile ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a DimensionValuesRequest.
-    "dimensionName": "A String", # The name of the dimension for which values should be requested.
-    "startDate": "A String", # The start date of the date range for which to retrieve dimension values. A string of the format: "yyyy-MM-dd".
-    "kind": "dfareporting#dimensionValueRequest", # The kind of request this is, in this case dfareporting#dimensionValueRequest.
-    "endDate": "A String", # The end date of the date range for which to retrieve dimension values. A string of the format: "yyyy-MM-dd".
-    "filters": [ # The list of filters by which to filter values. The filters are ANDed.
-      { # Represents a dimension filter.
-        "dimensionName": "A String", # The name of the dimension to filter.
-        "kind": "dfareporting#dimensionFilter", # The kind of resource this is, in this case dfareporting#dimensionFilter.
-        "value": "A String", # The value of the dimension to filter.
-      },
-    ],
-  }
-
-  pageToken: string, The value of the nextToken from the previous result page.
-  maxResults: integer, Maximum number of results to return.
-
-Returns:
-  An object of the form:
-
-    { # Represents the list of DimensionValue resources.
-    "nextPageToken": "A String", # Continuation token used to page through dimension values. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
-    "items": [ # The dimension values returned in this response.
-      { # Represents a DimensionValue resource.
-        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-        "value": "A String", # The value of the dimension.
-        "dimensionName": "A String", # The name of the dimension.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-            # - EXACT (default if not specified)
-            # - CONTAINS
-            # - BEGINS_WITH
-            # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-        "id": "A String", # The ID associated with the value if available.
-      },
-    ],
-    "kind": "dfareporting#dimensionValueList", # The kind of list this is, in this case dfareporting#dimensionValueList.
-    "etag": "A String", # The eTag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="query_next">query_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_3.files.html b/docs/dyn/dfareporting_v1_3.files.html
deleted file mode 100644
index 2b67078..0000000
--- a/docs/dyn/dfareporting_v1_3.files.html
+++ /dev/null
@@ -1,243 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="dfareporting_v1_3.html">DFA Reporting API</a> . <a href="dfareporting_v1_3.files.html">files</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(reportId, fileId)</a></code></p>
-<p class="firstline">Retrieves a report file by its report ID and file ID.</p>
-<p class="toc_element">
-  <code><a href="#get_media">get_media(reportId, fileId)</a></code></p>
-<p class="firstline">Retrieves a report file by its report ID and file ID.</p>
-<p class="toc_element">
-  <code><a href="#list">list(profileId, pageToken=None, maxResults=None, sortOrder=None, sortField=None, scope=None)</a></code></p>
-<p class="firstline">Lists files for a user profile.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(reportId, fileId)</code>
-  <pre>Retrieves a report file by its report ID and file ID.
-
-Args:
-  reportId: string, The ID of the report. (required)
-  fileId: string, The ID of the report file. (required)
-
-Returns:
-  An object of the form:
-
-    { # Represents a File resource. A File contains the meta-data for a report run. It shows the status of the run and holds the urls to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
-    "status": "A String", # The status of the report file, one of:
-        # - "PROCESSING"
-        # - "REPORT_AVAILABLE"
-        # - "FAILED"
-        # - "CANCELLED"
-    "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
-    "format": "A String", # The output format of the report. Only available once the file is available.
-    "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
-      "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-      "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-      "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-      "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-          # - "TODAY"
-          # - "YESTERDAY"
-          # - "WEEK_TO_DATE"
-          # - "MONTH_TO_DATE"
-          # - "QUARTER_TO_DATE"
-          # - "YEAR_TO_DATE"
-          # - "PREVIOUS_WEEK"
-          # - "PREVIOUS_MONTH"
-          # - "PREVIOUS_QUARTER"
-          # - "PREVIOUS_YEAR"
-          # - "LAST_7_DAYS"
-          # - "LAST_30_DAYS"
-          # - "LAST_90_DAYS"
-          # - "LAST_365_DAYS"
-          # - "LAST_24_MONTHS"
-    },
-    "fileName": "A String", # The file name of the file.
-    "etag": "A String", # The eTag of this response for caching purposes.
-    "reportId": "A String", # The ID of the report this file was generated from.
-    "urls": { # The urls where the completed report file can be downloaded.
-      "browserUrl": "A String", # The url for downloading the report data through a browser.
-      "apiUrl": "A String", # The url for downloading the report data through the API.
-    },
-    "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
-    "id": "A String", # The unique ID of this report file.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get_media">get_media(reportId, fileId)</code>
-  <pre>Retrieves a report file by its report ID and file ID.
-
-Args:
-  reportId: string, The ID of the report. (required)
-  fileId: string, The ID of the report file. (required)
-
-Returns:
-  The media object as a string.
-
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(profileId, pageToken=None, maxResults=None, sortOrder=None, sortField=None, scope=None)</code>
-  <pre>Lists files for a user profile.
-
-Args:
-  profileId: string, The DFA profile ID. (required)
-  pageToken: string, The value of the nextToken from the previous result page.
-  maxResults: integer, Maximum number of results to return.
-  sortOrder: string, Order of sorted results, default is 'DESCENDING'.
-    Allowed values
-      ASCENDING - Ascending order.
-      DESCENDING - Descending order.
-  sortField: string, The field by which to sort the list.
-    Allowed values
-      ID - Sort by file ID.
-      LAST_MODIFIED_TIME - Sort by 'lastmodifiedAt' field.
-  scope: string, The scope that defines which results are returned, default is 'MINE'.
-    Allowed values
-      ALL - All files in account.
-      MINE - My files.
-      SHARED_WITH_ME - Files shared with me.
-
-Returns:
-  An object of the form:
-
-    { # Represents the list of File resources.
-    "nextPageToken": "A String", # Continuation token used to page through files. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
-    "items": [ # The files returned in this response.
-      { # Represents a File resource. A File contains the meta-data for a report run. It shows the status of the run and holds the urls to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
-        "status": "A String", # The status of the report file, one of:
-            # - "PROCESSING"
-            # - "REPORT_AVAILABLE"
-            # - "FAILED"
-            # - "CANCELLED"
-        "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
-        "format": "A String", # The output format of the report. Only available once the file is available.
-        "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "fileName": "A String", # The file name of the file.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "reportId": "A String", # The ID of the report this file was generated from.
-        "urls": { # The urls where the completed report file can be downloaded.
-          "browserUrl": "A String", # The url for downloading the report data through a browser.
-          "apiUrl": "A String", # The url for downloading the report data through the API.
-        },
-        "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
-        "id": "A String", # The unique ID of this report file.
-      },
-    ],
-    "kind": "dfareporting#fileList", # The kind of list this is, in this case dfareporting#fileList.
-    "etag": "A String", # The eTag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_3.html b/docs/dyn/dfareporting_v1_3.html
deleted file mode 100644
index 1787adb..0000000
--- a/docs/dyn/dfareporting_v1_3.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="dfareporting_v1_3.html">DFA Reporting API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="dfareporting_v1_3.dimensionValues.html">dimensionValues()</a></code>
-</p>
-<p class="firstline">Returns the dimensionValues Resource.</p>
-
-<p class="toc_element">
-  <code><a href="dfareporting_v1_3.files.html">files()</a></code>
-</p>
-<p class="firstline">Returns the files Resource.</p>
-
-<p class="toc_element">
-  <code><a href="dfareporting_v1_3.reports.html">reports()</a></code>
-</p>
-<p class="firstline">Returns the reports Resource.</p>
-
-<p class="toc_element">
-  <code><a href="dfareporting_v1_3.userProfiles.html">userProfiles()</a></code>
-</p>
-<p class="firstline">Returns the userProfiles Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_3.reports.compatibleFields.html b/docs/dyn/dfareporting_v1_3.reports.compatibleFields.html
deleted file mode 100644
index 3ceb69c..0000000
--- a/docs/dyn/dfareporting_v1_3.reports.compatibleFields.html
+++ /dev/null
@@ -1,763 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="dfareporting_v1_3.html">DFA Reporting API</a> . <a href="dfareporting_v1_3.reports.html">reports</a> . <a href="dfareporting_v1_3.reports.compatibleFields.html">compatibleFields</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#query">query(profileId, body)</a></code></p>
-<p class="firstline">Returns the fields that are compatible to be selected in the respective sections of a report criteria, given the fields already selected in the input report and user permissions.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="query">query(profileId, body)</code>
-  <pre>Returns the fields that are compatible to be selected in the respective sections of a report criteria, given the fields already selected in the input report and user permissions.
-
-Args:
-  profileId: string, The DFA user profile ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a Report resource.
-    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
-      "conversionDimensions": [ # The list of conversion dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "reportProperties": { # The properties of the report.
-        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
-        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
-        "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
-        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-      },
-      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "customRichMediaEvents": [ # The list of custom rich media events to include.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-        "value": "A String", # The value of the dimension.
-        "dimensionName": "A String", # The name of the dimension.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-            # - EXACT (default if not specified)
-            # - CONTAINS
-            # - BEGINS_WITH
-            # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-        "id": "A String", # The ID associated with the value if available.
-      },
-      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-    },
-    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
-    "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
-    "name": "A String", # The name of the report.
-    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
-      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
-      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
-          # - DAY_OF_MONTH
-          # - WEEK_OF_MONTH
-          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
-      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
-      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
-      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
-      "repeats": "A String", # The interval for which the report is repeated, one of:
-          # - "DAILY", also requires field "every" to be set.
-          # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
-          # - "TWICE_A_MONTH"
-          # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
-          # - "QUARTERLY"
-          # - "YEARLY"
-      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
-        "A String",
-      ],
-    },
-    "format": "A String", # The output format of the report, one of:
-        # - "CSV"
-        # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
-    "ownerProfileId": "A String", # The user profile id of the owner of this report.
-    "reachCriteria": { # The report criteria for a report of type "REACH".
-      "activities": { # Represents an activity group. # Activity group.
-        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "metricNames": [ # List of names of floodlight activity metrics.
-          "A String",
-        ],
-      },
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
-        "A String",
-      ],
-      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-      },
-    },
-    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-        "value": "A String", # The value of the dimension.
-        "dimensionName": "A String", # The name of the dimension.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-            # - EXACT (default if not specified)
-            # - CONTAINS
-            # - BEGINS_WITH
-            # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-        "id": "A String", # The ID associated with the value if available.
-      },
-      "customRichMediaEvents": [ # The list of custom rich media events to include.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "reportProperties": { # The properties of the report.
-        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-      },
-    },
-    "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-    },
-    "delivery": { # The report's email delivery settings.
-      "message": "A String", # The message to be sent with each email.
-      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
-          # - "ATTACHMENT"
-          # - "LINK"
-      "recipients": [ # The list of recipients to which to email the report.
-        { # Represents a recipient.
-          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
-          "deliveryType": "A String", # The delivery type for the recipient, one of:
-              # - "ATTACHMENT"
-              # - "LINK"
-          "email": "A String", # The email address of the recipient.
-        },
-      ],
-      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
-    },
-    "etag": "A String", # The eTag of this response for caching purposes.
-    "criteria": { # The report criteria for a report of type "STANDARD".
-      "activities": { # Represents an activity group. # Activity group.
-        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "metricNames": [ # List of names of floodlight activity metrics.
-          "A String",
-        ],
-      },
-      "dimensions": [ # The list of standard dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range for which this report should be run.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-      },
-    },
-    "id": "A String", # The unique ID identifying this report resource.
-    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
-    "fileName": "A String", # The file name used when generating report files for this report.
-    "type": "A String", # The type of the report, one of:
-        # - STANDARD
-        # - REACH
-        # - ACTIVE_GRP
-        # - PATH_TO_CONVERSION
-        # - FLOODLIGHT
-        # - CROSS_DIMENSION_REACH
-    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
-      "breakdown": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
-        "A String",
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
-      "dimension": "A String", # The dimension option, one of:
-          # - "ADVERTISER"
-          # - "CAMPAIGN"
-          # - "SITE_BY_ADVERTISER"
-          # - "SITE_BY_CAMPAIGN"
-    },
-    "accountId": "A String", # The account ID to which this report belongs.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a response to the queryCompatibleFields method.
-    "kind": "dfareporting#compatibleFields", # The kind of resource this is, in this case dfareporting#compatibleFields.
-    "reachReportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "REACH". # Contains items that are compatible to be selected for a report of type "REACH".
-      "kind": "dfareporting#reachReportCompatibleFields", # The kind of resource this is, in this case dfareporting#reachReportCompatibleFields.
-      "dimensions": [ # Dimensions which are compatible to be selected in the "dimensions" section of the report.
-        { # Represents a dimension.
-          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
-          "name": "A String", # The dimension name, e.g. dfa:advertiser
-        },
-      ],
-      "reachByFrequencyMetrics": [ # Metrics which are compatible to be selected in the "reachByFrequencyMetricNames" section of the report.
-        { # Represents a metric.
-          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
-          "name": "A String", # The metric name, e.g. dfa:impressions
-        },
-      ],
-      "pivotedActivityMetrics": [ # Metrics which are compatible to be selected as activity metrics to pivot on in the "activities" section of the report.
-        { # Represents a metric.
-          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
-          "name": "A String", # The metric name, e.g. dfa:impressions
-        },
-      ],
-      "dimensionFilters": [ # Dimensions which are compatible to be selected in the "dimensionFilters" section of the report.
-        { # Represents a dimension.
-          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
-          "name": "A String", # The dimension name, e.g. dfa:advertiser
-        },
-      ],
-      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
-        { # Represents a metric.
-          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
-          "name": "A String", # The metric name, e.g. dfa:impressions
-        },
-      ],
-    },
-    "pathToConversionReportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "PATH_TO_CONVERSION". # Contains items that are compatible to be selected for a report of type "PATH_TO_CONVERSION".
-      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
-        { # Represents a metric.
-          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
-          "name": "A String", # The metric name, e.g. dfa:impressions
-        },
-      ],
-      "perInteractionDimensions": [ # Per-interaction dimensions which are compatible to be selected in the "perInteractionDimensions" section of the report.
-        { # Represents a dimension.
-          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
-          "name": "A String", # The dimension name, e.g. dfa:advertiser
-        },
-      ],
-      "kind": "dfareporting#pathToConversionReportCompatibleFields", # The kind of resource this is, in this case dfareporting#pathToConversionReportCompatibleFields.
-      "conversionDimensions": [ # Conversion dimensions which are compatible to be selected in the "conversionDimensions" section of the report.
-        { # Represents a dimension.
-          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
-          "name": "A String", # The dimension name, e.g. dfa:advertiser
-        },
-      ],
-      "customFloodlightVariables": [ # Custom floodlight variables which are compatible to be selected in the "customFloodlightVariables" section of the report.
-        { # Represents a dimension.
-          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
-          "name": "A String", # The dimension name, e.g. dfa:advertiser
-        },
-      ],
-    },
-    "crossDimensionReachReportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "CROSS_DIMENSION_REACH". # Contains items that are compatible to be selected for a report of type "CROSS_DIMENSION_REACH".
-      "breakdown": [ # Dimensions which are compatible to be selected in the "breakdown" section of the report.
-        { # Represents a dimension.
-          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
-          "name": "A String", # The dimension name, e.g. dfa:advertiser
-        },
-      ],
-      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
-        { # Represents a metric.
-          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
-          "name": "A String", # The metric name, e.g. dfa:impressions
-        },
-      ],
-      "kind": "dfareporting#crossDimensionReachReportCompatibleFields", # The kind of resource this is, in this case dfareporting#crossDimensionReachReportCompatibleFields.
-      "overlapMetrics": [ # Metrics which are compatible to be selected in the "overlapMetricNames" section of the report.
-        { # Represents a metric.
-          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
-          "name": "A String", # The metric name, e.g. dfa:impressions
-        },
-      ],
-      "dimensionFilters": [ # Dimensions which are compatible to be selected in the "dimensionFilters" section of the report.
-        { # Represents a dimension.
-          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
-          "name": "A String", # The dimension name, e.g. dfa:advertiser
-        },
-      ],
-    },
-    "floodlightReportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "FlOODLIGHT". # Contains items that are compatible to be selected for a report of type "FLOODLIGHT".
-      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
-        { # Represents a metric.
-          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
-          "name": "A String", # The metric name, e.g. dfa:impressions
-        },
-      ],
-      "kind": "dfareporting#floodlightReportCompatibleFields", # The kind of resource this is, in this case dfareporting#floodlightReportCompatibleFields.
-      "dimensionFilters": [ # Dimensions which are compatible to be selected in the "dimensionFilters" section of the report.
-        { # Represents a dimension.
-          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
-          "name": "A String", # The dimension name, e.g. dfa:advertiser
-        },
-      ],
-      "dimensions": [ # Dimensions which are compatible to be selected in the "dimensions" section of the report.
-        { # Represents a dimension.
-          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
-          "name": "A String", # The dimension name, e.g. dfa:advertiser
-        },
-      ],
-    },
-    "reportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "STANDARD". # Contains items that are compatible to be selected for a report of type "STANDARD".
-      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
-        { # Represents a metric.
-          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
-          "name": "A String", # The metric name, e.g. dfa:impressions
-        },
-      ],
-      "kind": "dfareporting#reportCompatibleFields", # The kind of resource this is, in this case dfareporting#reportCompatibleFields.
-      "pivotedActivityMetrics": [ # Metrics which are compatible to be selected as activity metrics to pivot on in the "activities" section of the report.
-        { # Represents a metric.
-          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
-          "name": "A String", # The metric name, e.g. dfa:impressions
-        },
-      ],
-      "dimensionFilters": [ # Dimensions which are compatible to be selected in the "dimensionFilters" section of the report.
-        { # Represents a dimension.
-          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
-          "name": "A String", # The dimension name, e.g. dfa:advertiser
-        },
-      ],
-      "dimensions": [ # Dimensions which are compatible to be selected in the "dimensions" section of the report.
-        { # Represents a dimension.
-          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
-          "name": "A String", # The dimension name, e.g. dfa:advertiser
-        },
-      ],
-    },
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_3.reports.files.html b/docs/dyn/dfareporting_v1_3.reports.files.html
deleted file mode 100644
index 60ba96a..0000000
--- a/docs/dyn/dfareporting_v1_3.reports.files.html
+++ /dev/null
@@ -1,241 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="dfareporting_v1_3.html">DFA Reporting API</a> . <a href="dfareporting_v1_3.reports.html">reports</a> . <a href="dfareporting_v1_3.reports.files.html">files</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(profileId, reportId, fileId)</a></code></p>
-<p class="firstline">Retrieves a report file.</p>
-<p class="toc_element">
-  <code><a href="#get_media">get_media(profileId, reportId, fileId)</a></code></p>
-<p class="firstline">Retrieves a report file.</p>
-<p class="toc_element">
-  <code><a href="#list">list(profileId, reportId, pageToken=None, sortField=None, maxResults=None, sortOrder=None)</a></code></p>
-<p class="firstline">Lists files for a report.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(profileId, reportId, fileId)</code>
-  <pre>Retrieves a report file.
-
-Args:
-  profileId: string, The DFA profile ID. (required)
-  reportId: string, The ID of the report. (required)
-  fileId: string, The ID of the report file. (required)
-
-Returns:
-  An object of the form:
-
-    { # Represents a File resource. A File contains the meta-data for a report run. It shows the status of the run and holds the urls to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
-    "status": "A String", # The status of the report file, one of:
-        # - "PROCESSING"
-        # - "REPORT_AVAILABLE"
-        # - "FAILED"
-        # - "CANCELLED"
-    "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
-    "format": "A String", # The output format of the report. Only available once the file is available.
-    "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
-      "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-      "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-      "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-      "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-          # - "TODAY"
-          # - "YESTERDAY"
-          # - "WEEK_TO_DATE"
-          # - "MONTH_TO_DATE"
-          # - "QUARTER_TO_DATE"
-          # - "YEAR_TO_DATE"
-          # - "PREVIOUS_WEEK"
-          # - "PREVIOUS_MONTH"
-          # - "PREVIOUS_QUARTER"
-          # - "PREVIOUS_YEAR"
-          # - "LAST_7_DAYS"
-          # - "LAST_30_DAYS"
-          # - "LAST_90_DAYS"
-          # - "LAST_365_DAYS"
-          # - "LAST_24_MONTHS"
-    },
-    "fileName": "A String", # The file name of the file.
-    "etag": "A String", # The eTag of this response for caching purposes.
-    "reportId": "A String", # The ID of the report this file was generated from.
-    "urls": { # The urls where the completed report file can be downloaded.
-      "browserUrl": "A String", # The url for downloading the report data through a browser.
-      "apiUrl": "A String", # The url for downloading the report data through the API.
-    },
-    "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
-    "id": "A String", # The unique ID of this report file.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get_media">get_media(profileId, reportId, fileId)</code>
-  <pre>Retrieves a report file.
-
-Args:
-  profileId: string, The DFA profile ID. (required)
-  reportId: string, The ID of the report. (required)
-  fileId: string, The ID of the report file. (required)
-
-Returns:
-  The media object as a string.
-
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(profileId, reportId, pageToken=None, sortField=None, maxResults=None, sortOrder=None)</code>
-  <pre>Lists files for a report.
-
-Args:
-  profileId: string, The DFA profile ID. (required)
-  reportId: string, The ID of the parent report. (required)
-  pageToken: string, The value of the nextToken from the previous result page.
-  sortField: string, The field by which to sort the list.
-    Allowed values
-      ID - Sort by file ID.
-      LAST_MODIFIED_TIME - Sort by 'lastmodifiedAt' field.
-  maxResults: integer, Maximum number of results to return.
-  sortOrder: string, Order of sorted results, default is 'DESCENDING'.
-    Allowed values
-      ASCENDING - Ascending order.
-      DESCENDING - Descending order.
-
-Returns:
-  An object of the form:
-
-    { # Represents the list of File resources.
-    "nextPageToken": "A String", # Continuation token used to page through files. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
-    "items": [ # The files returned in this response.
-      { # Represents a File resource. A File contains the meta-data for a report run. It shows the status of the run and holds the urls to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
-        "status": "A String", # The status of the report file, one of:
-            # - "PROCESSING"
-            # - "REPORT_AVAILABLE"
-            # - "FAILED"
-            # - "CANCELLED"
-        "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
-        "format": "A String", # The output format of the report. Only available once the file is available.
-        "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "fileName": "A String", # The file name of the file.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "reportId": "A String", # The ID of the report this file was generated from.
-        "urls": { # The urls where the completed report file can be downloaded.
-          "browserUrl": "A String", # The url for downloading the report data through a browser.
-          "apiUrl": "A String", # The url for downloading the report data through the API.
-        },
-        "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
-        "id": "A String", # The unique ID of this report file.
-      },
-    ],
-    "kind": "dfareporting#fileList", # The kind of list this is, in this case dfareporting#fileList.
-    "etag": "A String", # The eTag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_3.reports.html b/docs/dyn/dfareporting_v1_3.reports.html
deleted file mode 100644
index deb2bfa..0000000
--- a/docs/dyn/dfareporting_v1_3.reports.html
+++ /dev/null
@@ -1,4510 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="dfareporting_v1_3.html">DFA Reporting API</a> . <a href="dfareporting_v1_3.reports.html">reports</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="dfareporting_v1_3.reports.compatibleFields.html">compatibleFields()</a></code>
-</p>
-<p class="firstline">Returns the compatibleFields Resource.</p>
-
-<p class="toc_element">
-  <code><a href="dfareporting_v1_3.reports.files.html">files()</a></code>
-</p>
-<p class="firstline">Returns the files Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#delete">delete(profileId, reportId)</a></code></p>
-<p class="firstline">Deletes a report by its ID.</p>
-<p class="toc_element">
-  <code><a href="#get">get(profileId, reportId)</a></code></p>
-<p class="firstline">Retrieves a report by its ID.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(profileId, body)</a></code></p>
-<p class="firstline">Creates a report.</p>
-<p class="toc_element">
-  <code><a href="#list">list(profileId, pageToken=None, maxResults=None, sortOrder=None, sortField=None, scope=None)</a></code></p>
-<p class="firstline">Retrieves list of reports.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(profileId, reportId, body)</a></code></p>
-<p class="firstline">Updates a report. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#run">run(profileId, reportId, synchronous=None)</a></code></p>
-<p class="firstline">Runs a report.</p>
-<p class="toc_element">
-  <code><a href="#update">update(profileId, reportId, body)</a></code></p>
-<p class="firstline">Updates a report.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(profileId, reportId)</code>
-  <pre>Deletes a report by its ID.
-
-Args:
-  profileId: string, The DFA user profile ID. (required)
-  reportId: string, The ID of the report. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(profileId, reportId)</code>
-  <pre>Retrieves a report by its ID.
-
-Args:
-  profileId: string, The DFA user profile ID. (required)
-  reportId: string, The ID of the report. (required)
-
-Returns:
-  An object of the form:
-
-    { # Represents a Report resource.
-      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
-        "conversionDimensions": [ # The list of conversion dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "reportProperties": { # The properties of the report.
-          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
-          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
-          "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
-          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-        },
-        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "customRichMediaEvents": [ # The list of custom rich media events to include.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-      },
-      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
-      "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
-      "name": "A String", # The name of the report.
-      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
-        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
-        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
-            # - DAY_OF_MONTH
-            # - WEEK_OF_MONTH
-            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
-        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
-        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
-        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
-        "repeats": "A String", # The interval for which the report is repeated, one of:
-            # - "DAILY", also requires field "every" to be set.
-            # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
-            # - "TWICE_A_MONTH"
-            # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
-            # - "QUARTERLY"
-            # - "YEARLY"
-        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
-          "A String",
-        ],
-      },
-      "format": "A String", # The output format of the report, one of:
-          # - "CSV"
-          # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
-      "ownerProfileId": "A String", # The user profile id of the owner of this report.
-      "reachCriteria": { # The report criteria for a report of type "REACH".
-        "activities": { # Represents an activity group. # Activity group.
-          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-            { # Represents a DimensionValue resource.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "value": "A String", # The value of the dimension.
-              "dimensionName": "A String", # The name of the dimension.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                  # - EXACT (default if not specified)
-                  # - CONTAINS
-                  # - BEGINS_WITH
-                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-              "id": "A String", # The ID associated with the value if available.
-            },
-          ],
-          "metricNames": [ # List of names of floodlight activity metrics.
-            "A String",
-          ],
-        },
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
-          "A String",
-        ],
-        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-            { # Represents a DimensionValue resource.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "value": "A String", # The value of the dimension.
-              "dimensionName": "A String", # The name of the dimension.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                  # - EXACT (default if not specified)
-                  # - CONTAINS
-                  # - BEGINS_WITH
-                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-              "id": "A String", # The ID associated with the value if available.
-            },
-          ],
-        },
-      },
-      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-        "customRichMediaEvents": [ # The list of custom rich media events to include.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "reportProperties": { # The properties of the report.
-          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-        },
-      },
-      "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-            # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-      },
-      "delivery": { # The report's email delivery settings.
-        "message": "A String", # The message to be sent with each email.
-        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
-            # - "ATTACHMENT"
-            # - "LINK"
-        "recipients": [ # The list of recipients to which to email the report.
-          { # Represents a recipient.
-            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
-            "deliveryType": "A String", # The delivery type for the recipient, one of:
-                # - "ATTACHMENT"
-                # - "LINK"
-            "email": "A String", # The email address of the recipient.
-          },
-        ],
-        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
-      },
-      "etag": "A String", # The eTag of this response for caching purposes.
-      "criteria": { # The report criteria for a report of type "STANDARD".
-        "activities": { # Represents an activity group. # Activity group.
-          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-            { # Represents a DimensionValue resource.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "value": "A String", # The value of the dimension.
-              "dimensionName": "A String", # The name of the dimension.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                  # - EXACT (default if not specified)
-                  # - CONTAINS
-                  # - BEGINS_WITH
-                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-              "id": "A String", # The ID associated with the value if available.
-            },
-          ],
-          "metricNames": [ # List of names of floodlight activity metrics.
-            "A String",
-          ],
-        },
-        "dimensions": [ # The list of standard dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range for which this report should be run.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-            { # Represents a DimensionValue resource.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "value": "A String", # The value of the dimension.
-              "dimensionName": "A String", # The name of the dimension.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                  # - EXACT (default if not specified)
-                  # - CONTAINS
-                  # - BEGINS_WITH
-                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-              "id": "A String", # The ID associated with the value if available.
-            },
-          ],
-        },
-      },
-      "id": "A String", # The unique ID identifying this report resource.
-      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
-      "fileName": "A String", # The file name used when generating report files for this report.
-      "type": "A String", # The type of the report, one of:
-          # - STANDARD
-          # - REACH
-          # - ACTIVE_GRP
-          # - PATH_TO_CONVERSION
-          # - FLOODLIGHT
-          # - CROSS_DIMENSION_REACH
-      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
-        "breakdown": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
-          "A String",
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
-        "dimension": "A String", # The dimension option, one of:
-            # - "ADVERTISER"
-            # - "CAMPAIGN"
-            # - "SITE_BY_ADVERTISER"
-            # - "SITE_BY_CAMPAIGN"
-      },
-      "accountId": "A String", # The account ID to which this report belongs.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(profileId, body)</code>
-  <pre>Creates a report.
-
-Args:
-  profileId: string, The DFA user profile ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a Report resource.
-    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
-      "conversionDimensions": [ # The list of conversion dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "reportProperties": { # The properties of the report.
-        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
-        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
-        "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
-        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-      },
-      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "customRichMediaEvents": [ # The list of custom rich media events to include.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-        "value": "A String", # The value of the dimension.
-        "dimensionName": "A String", # The name of the dimension.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-            # - EXACT (default if not specified)
-            # - CONTAINS
-            # - BEGINS_WITH
-            # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-        "id": "A String", # The ID associated with the value if available.
-      },
-      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-    },
-    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
-    "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
-    "name": "A String", # The name of the report.
-    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
-      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
-      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
-          # - DAY_OF_MONTH
-          # - WEEK_OF_MONTH
-          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
-      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
-      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
-      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
-      "repeats": "A String", # The interval for which the report is repeated, one of:
-          # - "DAILY", also requires field "every" to be set.
-          # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
-          # - "TWICE_A_MONTH"
-          # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
-          # - "QUARTERLY"
-          # - "YEARLY"
-      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
-        "A String",
-      ],
-    },
-    "format": "A String", # The output format of the report, one of:
-        # - "CSV"
-        # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
-    "ownerProfileId": "A String", # The user profile id of the owner of this report.
-    "reachCriteria": { # The report criteria for a report of type "REACH".
-      "activities": { # Represents an activity group. # Activity group.
-        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "metricNames": [ # List of names of floodlight activity metrics.
-          "A String",
-        ],
-      },
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
-        "A String",
-      ],
-      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-      },
-    },
-    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-        "value": "A String", # The value of the dimension.
-        "dimensionName": "A String", # The name of the dimension.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-            # - EXACT (default if not specified)
-            # - CONTAINS
-            # - BEGINS_WITH
-            # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-        "id": "A String", # The ID associated with the value if available.
-      },
-      "customRichMediaEvents": [ # The list of custom rich media events to include.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "reportProperties": { # The properties of the report.
-        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-      },
-    },
-    "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-    },
-    "delivery": { # The report's email delivery settings.
-      "message": "A String", # The message to be sent with each email.
-      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
-          # - "ATTACHMENT"
-          # - "LINK"
-      "recipients": [ # The list of recipients to which to email the report.
-        { # Represents a recipient.
-          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
-          "deliveryType": "A String", # The delivery type for the recipient, one of:
-              # - "ATTACHMENT"
-              # - "LINK"
-          "email": "A String", # The email address of the recipient.
-        },
-      ],
-      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
-    },
-    "etag": "A String", # The eTag of this response for caching purposes.
-    "criteria": { # The report criteria for a report of type "STANDARD".
-      "activities": { # Represents an activity group. # Activity group.
-        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "metricNames": [ # List of names of floodlight activity metrics.
-          "A String",
-        ],
-      },
-      "dimensions": [ # The list of standard dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range for which this report should be run.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-      },
-    },
-    "id": "A String", # The unique ID identifying this report resource.
-    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
-    "fileName": "A String", # The file name used when generating report files for this report.
-    "type": "A String", # The type of the report, one of:
-        # - STANDARD
-        # - REACH
-        # - ACTIVE_GRP
-        # - PATH_TO_CONVERSION
-        # - FLOODLIGHT
-        # - CROSS_DIMENSION_REACH
-    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
-      "breakdown": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
-        "A String",
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
-      "dimension": "A String", # The dimension option, one of:
-          # - "ADVERTISER"
-          # - "CAMPAIGN"
-          # - "SITE_BY_ADVERTISER"
-          # - "SITE_BY_CAMPAIGN"
-    },
-    "accountId": "A String", # The account ID to which this report belongs.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a Report resource.
-      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
-        "conversionDimensions": [ # The list of conversion dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "reportProperties": { # The properties of the report.
-          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
-          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
-          "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
-          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-        },
-        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "customRichMediaEvents": [ # The list of custom rich media events to include.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-      },
-      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
-      "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
-      "name": "A String", # The name of the report.
-      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
-        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
-        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
-            # - DAY_OF_MONTH
-            # - WEEK_OF_MONTH
-            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
-        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
-        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
-        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
-        "repeats": "A String", # The interval for which the report is repeated, one of:
-            # - "DAILY", also requires field "every" to be set.
-            # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
-            # - "TWICE_A_MONTH"
-            # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
-            # - "QUARTERLY"
-            # - "YEARLY"
-        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
-          "A String",
-        ],
-      },
-      "format": "A String", # The output format of the report, one of:
-          # - "CSV"
-          # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
-      "ownerProfileId": "A String", # The user profile id of the owner of this report.
-      "reachCriteria": { # The report criteria for a report of type "REACH".
-        "activities": { # Represents an activity group. # Activity group.
-          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-            { # Represents a DimensionValue resource.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "value": "A String", # The value of the dimension.
-              "dimensionName": "A String", # The name of the dimension.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                  # - EXACT (default if not specified)
-                  # - CONTAINS
-                  # - BEGINS_WITH
-                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-              "id": "A String", # The ID associated with the value if available.
-            },
-          ],
-          "metricNames": [ # List of names of floodlight activity metrics.
-            "A String",
-          ],
-        },
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
-          "A String",
-        ],
-        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-            { # Represents a DimensionValue resource.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "value": "A String", # The value of the dimension.
-              "dimensionName": "A String", # The name of the dimension.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                  # - EXACT (default if not specified)
-                  # - CONTAINS
-                  # - BEGINS_WITH
-                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-              "id": "A String", # The ID associated with the value if available.
-            },
-          ],
-        },
-      },
-      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-        "customRichMediaEvents": [ # The list of custom rich media events to include.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "reportProperties": { # The properties of the report.
-          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-        },
-      },
-      "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-            # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-      },
-      "delivery": { # The report's email delivery settings.
-        "message": "A String", # The message to be sent with each email.
-        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
-            # - "ATTACHMENT"
-            # - "LINK"
-        "recipients": [ # The list of recipients to which to email the report.
-          { # Represents a recipient.
-            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
-            "deliveryType": "A String", # The delivery type for the recipient, one of:
-                # - "ATTACHMENT"
-                # - "LINK"
-            "email": "A String", # The email address of the recipient.
-          },
-        ],
-        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
-      },
-      "etag": "A String", # The eTag of this response for caching purposes.
-      "criteria": { # The report criteria for a report of type "STANDARD".
-        "activities": { # Represents an activity group. # Activity group.
-          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-            { # Represents a DimensionValue resource.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "value": "A String", # The value of the dimension.
-              "dimensionName": "A String", # The name of the dimension.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                  # - EXACT (default if not specified)
-                  # - CONTAINS
-                  # - BEGINS_WITH
-                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-              "id": "A String", # The ID associated with the value if available.
-            },
-          ],
-          "metricNames": [ # List of names of floodlight activity metrics.
-            "A String",
-          ],
-        },
-        "dimensions": [ # The list of standard dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range for which this report should be run.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-            { # Represents a DimensionValue resource.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "value": "A String", # The value of the dimension.
-              "dimensionName": "A String", # The name of the dimension.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                  # - EXACT (default if not specified)
-                  # - CONTAINS
-                  # - BEGINS_WITH
-                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-              "id": "A String", # The ID associated with the value if available.
-            },
-          ],
-        },
-      },
-      "id": "A String", # The unique ID identifying this report resource.
-      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
-      "fileName": "A String", # The file name used when generating report files for this report.
-      "type": "A String", # The type of the report, one of:
-          # - STANDARD
-          # - REACH
-          # - ACTIVE_GRP
-          # - PATH_TO_CONVERSION
-          # - FLOODLIGHT
-          # - CROSS_DIMENSION_REACH
-      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
-        "breakdown": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
-          "A String",
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
-        "dimension": "A String", # The dimension option, one of:
-            # - "ADVERTISER"
-            # - "CAMPAIGN"
-            # - "SITE_BY_ADVERTISER"
-            # - "SITE_BY_CAMPAIGN"
-      },
-      "accountId": "A String", # The account ID to which this report belongs.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(profileId, pageToken=None, maxResults=None, sortOrder=None, sortField=None, scope=None)</code>
-  <pre>Retrieves list of reports.
-
-Args:
-  profileId: string, The DFA user profile ID. (required)
-  pageToken: string, The value of the nextToken from the previous result page.
-  maxResults: integer, Maximum number of results to return.
-  sortOrder: string, Order of sorted results, default is 'DESCENDING'.
-    Allowed values
-      ASCENDING - Ascending order.
-      DESCENDING - Descending order.
-  sortField: string, The field by which to sort the list.
-    Allowed values
-      ID - Sort by report ID.
-      LAST_MODIFIED_TIME - Sort by 'lastModifiedTime' field.
-      NAME - Sort by name of reports.
-  scope: string, The scope that defines which results are returned, default is 'MINE'.
-    Allowed values
-      ALL - All reports in account.
-      MINE - My reports.
-
-Returns:
-  An object of the form:
-
-    { # Represents the list of reports.
-    "nextPageToken": "A String", # Continuation token used to page through reports. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
-    "items": [ # The reports returned in this response.
-      { # Represents a Report resource.
-          "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
-            "conversionDimensions": [ # The list of conversion dimensions the report should include.
-              { # Represents a sorted dimension.
-                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-                "name": "A String", # The name of the dimension.
-                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                    # - "ASCENDING"
-                    # - "DESCENDING"
-              },
-            ],
-            "metricNames": [ # The list of names of metrics the report should include.
-              "A String",
-            ],
-            "dateRange": { # Represents a date range. # The date range this report should be run for.
-              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-                  # - "TODAY"
-                  # - "YESTERDAY"
-                  # - "WEEK_TO_DATE"
-                  # - "MONTH_TO_DATE"
-                  # - "QUARTER_TO_DATE"
-                  # - "YEAR_TO_DATE"
-                  # - "PREVIOUS_WEEK"
-                  # - "PREVIOUS_MONTH"
-                  # - "PREVIOUS_QUARTER"
-                  # - "PREVIOUS_YEAR"
-                  # - "LAST_7_DAYS"
-                  # - "LAST_30_DAYS"
-                  # - "LAST_90_DAYS"
-                  # - "LAST_365_DAYS"
-                  # - "LAST_24_MONTHS"
-            },
-            "reportProperties": { # The properties of the report.
-              "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-              "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
-              "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-              "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-              "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-              "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
-              "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
-              "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-              "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-            },
-            "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
-              { # Represents a sorted dimension.
-                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-                "name": "A String", # The name of the dimension.
-                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                    # - "ASCENDING"
-                    # - "DESCENDING"
-              },
-            ],
-            "activityFilters": [ # The list of 'dfa:activity' values to filter on.
-              { # Represents a DimensionValue resource.
-                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                "value": "A String", # The value of the dimension.
-                "dimensionName": "A String", # The name of the dimension.
-                "etag": "A String", # The eTag of this response for caching purposes.
-                "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                    # - EXACT (default if not specified)
-                    # - CONTAINS
-                    # - BEGINS_WITH
-                    # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-                "id": "A String", # The ID associated with the value if available.
-              },
-            ],
-            "customRichMediaEvents": [ # The list of custom rich media events to include.
-              { # Represents a DimensionValue resource.
-                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                "value": "A String", # The value of the dimension.
-                "dimensionName": "A String", # The name of the dimension.
-                "etag": "A String", # The eTag of this response for caching purposes.
-                "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                    # - EXACT (default if not specified)
-                    # - CONTAINS
-                    # - BEGINS_WITH
-                    # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-                "id": "A String", # The ID associated with the value if available.
-              },
-            ],
-            "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "value": "A String", # The value of the dimension.
-              "dimensionName": "A String", # The name of the dimension.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                  # - EXACT (default if not specified)
-                  # - CONTAINS
-                  # - BEGINS_WITH
-                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-              "id": "A String", # The ID associated with the value if available.
-            },
-            "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
-              { # Represents a sorted dimension.
-                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-                "name": "A String", # The name of the dimension.
-                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                    # - "ASCENDING"
-                    # - "DESCENDING"
-              },
-            ],
-          },
-          "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
-          "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
-          "name": "A String", # The name of the report.
-          "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
-            "startDate": "A String", # Start date of date range for which scheduled reports should be run.
-            "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
-                # - DAY_OF_MONTH
-                # - WEEK_OF_MONTH
-                # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
-            "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
-            "expirationDate": "A String", # The expiration date when the scheduled report stops running.
-            "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
-            "repeats": "A String", # The interval for which the report is repeated, one of:
-                # - "DAILY", also requires field "every" to be set.
-                # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
-                # - "TWICE_A_MONTH"
-                # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
-                # - "QUARTERLY"
-                # - "YEARLY"
-            "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
-              "A String",
-            ],
-          },
-          "format": "A String", # The output format of the report, one of:
-              # - "CSV"
-              # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
-          "ownerProfileId": "A String", # The user profile id of the owner of this report.
-          "reachCriteria": { # The report criteria for a report of type "REACH".
-            "activities": { # Represents an activity group. # Activity group.
-              "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-              "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-                { # Represents a DimensionValue resource.
-                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                  "value": "A String", # The value of the dimension.
-                  "dimensionName": "A String", # The name of the dimension.
-                  "etag": "A String", # The eTag of this response for caching purposes.
-                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                      # - EXACT (default if not specified)
-                      # - CONTAINS
-                      # - BEGINS_WITH
-                      # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-                  "id": "A String", # The ID associated with the value if available.
-                },
-              ],
-              "metricNames": [ # List of names of floodlight activity metrics.
-                "A String",
-              ],
-            },
-            "dimensions": [ # The list of dimensions the report should include.
-              { # Represents a sorted dimension.
-                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-                "name": "A String", # The name of the dimension.
-                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                    # - "ASCENDING"
-                    # - "DESCENDING"
-              },
-            ],
-            "metricNames": [ # The list of names of metrics the report should include.
-              "A String",
-            ],
-            "dateRange": { # Represents a date range. # The date range this report should be run for.
-              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-                  # - "TODAY"
-                  # - "YESTERDAY"
-                  # - "WEEK_TO_DATE"
-                  # - "MONTH_TO_DATE"
-                  # - "QUARTER_TO_DATE"
-                  # - "YEAR_TO_DATE"
-                  # - "PREVIOUS_WEEK"
-                  # - "PREVIOUS_MONTH"
-                  # - "PREVIOUS_QUARTER"
-                  # - "PREVIOUS_YEAR"
-                  # - "LAST_7_DAYS"
-                  # - "LAST_30_DAYS"
-                  # - "LAST_90_DAYS"
-                  # - "LAST_365_DAYS"
-                  # - "LAST_24_MONTHS"
-            },
-            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-                # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-              { # Represents a DimensionValue resource.
-                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                "value": "A String", # The value of the dimension.
-                "dimensionName": "A String", # The name of the dimension.
-                "etag": "A String", # The eTag of this response for caching purposes.
-                "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                    # - EXACT (default if not specified)
-                    # - CONTAINS
-                    # - BEGINS_WITH
-                    # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-                "id": "A String", # The ID associated with the value if available.
-              },
-            ],
-            "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
-              "A String",
-            ],
-            "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-              "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-              "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-                { # Represents a DimensionValue resource.
-                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                  "value": "A String", # The value of the dimension.
-                  "dimensionName": "A String", # The name of the dimension.
-                  "etag": "A String", # The eTag of this response for caching purposes.
-                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                      # - EXACT (default if not specified)
-                      # - CONTAINS
-                      # - BEGINS_WITH
-                      # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-                  "id": "A String", # The ID associated with the value if available.
-                },
-              ],
-            },
-          },
-          "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
-            "dimensions": [ # The list of dimensions the report should include.
-              { # Represents a sorted dimension.
-                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-                "name": "A String", # The name of the dimension.
-                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                    # - "ASCENDING"
-                    # - "DESCENDING"
-              },
-            ],
-            "metricNames": [ # The list of names of metrics the report should include.
-              "A String",
-            ],
-            "dateRange": { # Represents a date range. # The date range this report should be run for.
-              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-                  # - "TODAY"
-                  # - "YESTERDAY"
-                  # - "WEEK_TO_DATE"
-                  # - "MONTH_TO_DATE"
-                  # - "QUARTER_TO_DATE"
-                  # - "YEAR_TO_DATE"
-                  # - "PREVIOUS_WEEK"
-                  # - "PREVIOUS_MONTH"
-                  # - "PREVIOUS_QUARTER"
-                  # - "PREVIOUS_YEAR"
-                  # - "LAST_7_DAYS"
-                  # - "LAST_30_DAYS"
-                  # - "LAST_90_DAYS"
-                  # - "LAST_365_DAYS"
-                  # - "LAST_24_MONTHS"
-            },
-            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-                # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-              { # Represents a DimensionValue resource.
-                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                "value": "A String", # The value of the dimension.
-                "dimensionName": "A String", # The name of the dimension.
-                "etag": "A String", # The eTag of this response for caching purposes.
-                "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                    # - EXACT (default if not specified)
-                    # - CONTAINS
-                    # - BEGINS_WITH
-                    # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-                "id": "A String", # The ID associated with the value if available.
-              },
-            ],
-            "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "value": "A String", # The value of the dimension.
-              "dimensionName": "A String", # The name of the dimension.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                  # - EXACT (default if not specified)
-                  # - CONTAINS
-                  # - BEGINS_WITH
-                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-              "id": "A String", # The ID associated with the value if available.
-            },
-            "customRichMediaEvents": [ # The list of custom rich media events to include.
-              { # Represents a DimensionValue resource.
-                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                "value": "A String", # The value of the dimension.
-                "dimensionName": "A String", # The name of the dimension.
-                "etag": "A String", # The eTag of this response for caching purposes.
-                "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                    # - EXACT (default if not specified)
-                    # - CONTAINS
-                    # - BEGINS_WITH
-                    # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-                "id": "A String", # The ID associated with the value if available.
-              },
-            ],
-            "reportProperties": { # The properties of the report.
-              "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-              "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-              "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-            },
-          },
-          "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
-            "dateRange": { # Represents a date range. # The date range this report should be run for.
-              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-                  # - "TODAY"
-                  # - "YESTERDAY"
-                  # - "WEEK_TO_DATE"
-                  # - "MONTH_TO_DATE"
-                  # - "QUARTER_TO_DATE"
-                  # - "YEAR_TO_DATE"
-                  # - "PREVIOUS_WEEK"
-                  # - "PREVIOUS_MONTH"
-                  # - "PREVIOUS_QUARTER"
-                  # - "PREVIOUS_YEAR"
-                  # - "LAST_7_DAYS"
-                  # - "LAST_30_DAYS"
-                  # - "LAST_90_DAYS"
-                  # - "LAST_365_DAYS"
-                  # - "LAST_24_MONTHS"
-            },
-            "metricNames": [ # The list of names of metrics the report should include.
-              "A String",
-            ],
-            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-                # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-                # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
-              { # Represents a DimensionValue resource.
-                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                "value": "A String", # The value of the dimension.
-                "dimensionName": "A String", # The name of the dimension.
-                "etag": "A String", # The eTag of this response for caching purposes.
-                "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                    # - EXACT (default if not specified)
-                    # - CONTAINS
-                    # - BEGINS_WITH
-                    # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-                "id": "A String", # The ID associated with the value if available.
-              },
-            ],
-            "dimensions": [ # The list of dimensions the report should include.
-              { # Represents a sorted dimension.
-                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-                "name": "A String", # The name of the dimension.
-                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                    # - "ASCENDING"
-                    # - "DESCENDING"
-              },
-            ],
-          },
-          "delivery": { # The report's email delivery settings.
-            "message": "A String", # The message to be sent with each email.
-            "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
-                # - "ATTACHMENT"
-                # - "LINK"
-            "recipients": [ # The list of recipients to which to email the report.
-              { # Represents a recipient.
-                "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
-                "deliveryType": "A String", # The delivery type for the recipient, one of:
-                    # - "ATTACHMENT"
-                    # - "LINK"
-                "email": "A String", # The email address of the recipient.
-              },
-            ],
-            "emailOwner": True or False, # Whether the report should be emailed to the report owner.
-          },
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "criteria": { # The report criteria for a report of type "STANDARD".
-            "activities": { # Represents an activity group. # Activity group.
-              "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-              "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-                { # Represents a DimensionValue resource.
-                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                  "value": "A String", # The value of the dimension.
-                  "dimensionName": "A String", # The name of the dimension.
-                  "etag": "A String", # The eTag of this response for caching purposes.
-                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                      # - EXACT (default if not specified)
-                      # - CONTAINS
-                      # - BEGINS_WITH
-                      # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-                  "id": "A String", # The ID associated with the value if available.
-                },
-              ],
-              "metricNames": [ # List of names of floodlight activity metrics.
-                "A String",
-              ],
-            },
-            "dimensions": [ # The list of standard dimensions the report should include.
-              { # Represents a sorted dimension.
-                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-                "name": "A String", # The name of the dimension.
-                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                    # - "ASCENDING"
-                    # - "DESCENDING"
-              },
-            ],
-            "metricNames": [ # The list of names of metrics the report should include.
-              "A String",
-            ],
-            "dateRange": { # Represents a date range. # The date range for which this report should be run.
-              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-                  # - "TODAY"
-                  # - "YESTERDAY"
-                  # - "WEEK_TO_DATE"
-                  # - "MONTH_TO_DATE"
-                  # - "QUARTER_TO_DATE"
-                  # - "YEAR_TO_DATE"
-                  # - "PREVIOUS_WEEK"
-                  # - "PREVIOUS_MONTH"
-                  # - "PREVIOUS_QUARTER"
-                  # - "PREVIOUS_YEAR"
-                  # - "LAST_7_DAYS"
-                  # - "LAST_30_DAYS"
-                  # - "LAST_90_DAYS"
-                  # - "LAST_365_DAYS"
-                  # - "LAST_24_MONTHS"
-            },
-            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-                # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-              { # Represents a DimensionValue resource.
-                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                "value": "A String", # The value of the dimension.
-                "dimensionName": "A String", # The name of the dimension.
-                "etag": "A String", # The eTag of this response for caching purposes.
-                "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                    # - EXACT (default if not specified)
-                    # - CONTAINS
-                    # - BEGINS_WITH
-                    # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-                "id": "A String", # The ID associated with the value if available.
-              },
-            ],
-            "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-              "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-              "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-                { # Represents a DimensionValue resource.
-                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                  "value": "A String", # The value of the dimension.
-                  "dimensionName": "A String", # The name of the dimension.
-                  "etag": "A String", # The eTag of this response for caching purposes.
-                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                      # - EXACT (default if not specified)
-                      # - CONTAINS
-                      # - BEGINS_WITH
-                      # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-                  "id": "A String", # The ID associated with the value if available.
-                },
-              ],
-            },
-          },
-          "id": "A String", # The unique ID identifying this report resource.
-          "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
-          "fileName": "A String", # The file name used when generating report files for this report.
-          "type": "A String", # The type of the report, one of:
-              # - STANDARD
-              # - REACH
-              # - ACTIVE_GRP
-              # - PATH_TO_CONVERSION
-              # - FLOODLIGHT
-              # - CROSS_DIMENSION_REACH
-          "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
-            "breakdown": [ # The list of dimensions the report should include.
-              { # Represents a sorted dimension.
-                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-                "name": "A String", # The name of the dimension.
-                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                    # - "ASCENDING"
-                    # - "DESCENDING"
-              },
-            ],
-            "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
-              "A String",
-            ],
-            "metricNames": [ # The list of names of metrics the report should include.
-              "A String",
-            ],
-            "dateRange": { # Represents a date range. # The date range this report should be run for.
-              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-              "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-                  # - "TODAY"
-                  # - "YESTERDAY"
-                  # - "WEEK_TO_DATE"
-                  # - "MONTH_TO_DATE"
-                  # - "QUARTER_TO_DATE"
-                  # - "YEAR_TO_DATE"
-                  # - "PREVIOUS_WEEK"
-                  # - "PREVIOUS_MONTH"
-                  # - "PREVIOUS_QUARTER"
-                  # - "PREVIOUS_YEAR"
-                  # - "LAST_7_DAYS"
-                  # - "LAST_30_DAYS"
-                  # - "LAST_90_DAYS"
-                  # - "LAST_365_DAYS"
-                  # - "LAST_24_MONTHS"
-            },
-            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-              { # Represents a DimensionValue resource.
-                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-                "value": "A String", # The value of the dimension.
-                "dimensionName": "A String", # The name of the dimension.
-                "etag": "A String", # The eTag of this response for caching purposes.
-                "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                    # - EXACT (default if not specified)
-                    # - CONTAINS
-                    # - BEGINS_WITH
-                    # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-                "id": "A String", # The ID associated with the value if available.
-              },
-            ],
-            "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
-            "dimension": "A String", # The dimension option, one of:
-                # - "ADVERTISER"
-                # - "CAMPAIGN"
-                # - "SITE_BY_ADVERTISER"
-                # - "SITE_BY_CAMPAIGN"
-          },
-          "accountId": "A String", # The account ID to which this report belongs.
-        },
-    ],
-    "kind": "dfareporting#reportList", # The kind of list this is, in this case dfareporting#reportList.
-    "etag": "A String", # The eTag of this response for caching purposes.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(profileId, reportId, body)</code>
-  <pre>Updates a report. This method supports patch semantics.
-
-Args:
-  profileId: string, The DFA user profile ID. (required)
-  reportId: string, The ID of the report. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a Report resource.
-    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
-      "conversionDimensions": [ # The list of conversion dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "reportProperties": { # The properties of the report.
-        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
-        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
-        "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
-        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-      },
-      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "customRichMediaEvents": [ # The list of custom rich media events to include.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-        "value": "A String", # The value of the dimension.
-        "dimensionName": "A String", # The name of the dimension.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-            # - EXACT (default if not specified)
-            # - CONTAINS
-            # - BEGINS_WITH
-            # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-        "id": "A String", # The ID associated with the value if available.
-      },
-      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-    },
-    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
-    "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
-    "name": "A String", # The name of the report.
-    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
-      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
-      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
-          # - DAY_OF_MONTH
-          # - WEEK_OF_MONTH
-          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
-      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
-      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
-      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
-      "repeats": "A String", # The interval for which the report is repeated, one of:
-          # - "DAILY", also requires field "every" to be set.
-          # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
-          # - "TWICE_A_MONTH"
-          # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
-          # - "QUARTERLY"
-          # - "YEARLY"
-      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
-        "A String",
-      ],
-    },
-    "format": "A String", # The output format of the report, one of:
-        # - "CSV"
-        # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
-    "ownerProfileId": "A String", # The user profile id of the owner of this report.
-    "reachCriteria": { # The report criteria for a report of type "REACH".
-      "activities": { # Represents an activity group. # Activity group.
-        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "metricNames": [ # List of names of floodlight activity metrics.
-          "A String",
-        ],
-      },
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
-        "A String",
-      ],
-      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-      },
-    },
-    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-        "value": "A String", # The value of the dimension.
-        "dimensionName": "A String", # The name of the dimension.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-            # - EXACT (default if not specified)
-            # - CONTAINS
-            # - BEGINS_WITH
-            # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-        "id": "A String", # The ID associated with the value if available.
-      },
-      "customRichMediaEvents": [ # The list of custom rich media events to include.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "reportProperties": { # The properties of the report.
-        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-      },
-    },
-    "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-    },
-    "delivery": { # The report's email delivery settings.
-      "message": "A String", # The message to be sent with each email.
-      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
-          # - "ATTACHMENT"
-          # - "LINK"
-      "recipients": [ # The list of recipients to which to email the report.
-        { # Represents a recipient.
-          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
-          "deliveryType": "A String", # The delivery type for the recipient, one of:
-              # - "ATTACHMENT"
-              # - "LINK"
-          "email": "A String", # The email address of the recipient.
-        },
-      ],
-      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
-    },
-    "etag": "A String", # The eTag of this response for caching purposes.
-    "criteria": { # The report criteria for a report of type "STANDARD".
-      "activities": { # Represents an activity group. # Activity group.
-        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "metricNames": [ # List of names of floodlight activity metrics.
-          "A String",
-        ],
-      },
-      "dimensions": [ # The list of standard dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range for which this report should be run.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-      },
-    },
-    "id": "A String", # The unique ID identifying this report resource.
-    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
-    "fileName": "A String", # The file name used when generating report files for this report.
-    "type": "A String", # The type of the report, one of:
-        # - STANDARD
-        # - REACH
-        # - ACTIVE_GRP
-        # - PATH_TO_CONVERSION
-        # - FLOODLIGHT
-        # - CROSS_DIMENSION_REACH
-    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
-      "breakdown": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
-        "A String",
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
-      "dimension": "A String", # The dimension option, one of:
-          # - "ADVERTISER"
-          # - "CAMPAIGN"
-          # - "SITE_BY_ADVERTISER"
-          # - "SITE_BY_CAMPAIGN"
-    },
-    "accountId": "A String", # The account ID to which this report belongs.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a Report resource.
-      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
-        "conversionDimensions": [ # The list of conversion dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "reportProperties": { # The properties of the report.
-          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
-          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
-          "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
-          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-        },
-        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "customRichMediaEvents": [ # The list of custom rich media events to include.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-      },
-      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
-      "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
-      "name": "A String", # The name of the report.
-      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
-        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
-        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
-            # - DAY_OF_MONTH
-            # - WEEK_OF_MONTH
-            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
-        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
-        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
-        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
-        "repeats": "A String", # The interval for which the report is repeated, one of:
-            # - "DAILY", also requires field "every" to be set.
-            # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
-            # - "TWICE_A_MONTH"
-            # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
-            # - "QUARTERLY"
-            # - "YEARLY"
-        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
-          "A String",
-        ],
-      },
-      "format": "A String", # The output format of the report, one of:
-          # - "CSV"
-          # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
-      "ownerProfileId": "A String", # The user profile id of the owner of this report.
-      "reachCriteria": { # The report criteria for a report of type "REACH".
-        "activities": { # Represents an activity group. # Activity group.
-          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-            { # Represents a DimensionValue resource.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "value": "A String", # The value of the dimension.
-              "dimensionName": "A String", # The name of the dimension.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                  # - EXACT (default if not specified)
-                  # - CONTAINS
-                  # - BEGINS_WITH
-                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-              "id": "A String", # The ID associated with the value if available.
-            },
-          ],
-          "metricNames": [ # List of names of floodlight activity metrics.
-            "A String",
-          ],
-        },
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
-          "A String",
-        ],
-        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-            { # Represents a DimensionValue resource.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "value": "A String", # The value of the dimension.
-              "dimensionName": "A String", # The name of the dimension.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                  # - EXACT (default if not specified)
-                  # - CONTAINS
-                  # - BEGINS_WITH
-                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-              "id": "A String", # The ID associated with the value if available.
-            },
-          ],
-        },
-      },
-      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-        "customRichMediaEvents": [ # The list of custom rich media events to include.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "reportProperties": { # The properties of the report.
-          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-        },
-      },
-      "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-            # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-      },
-      "delivery": { # The report's email delivery settings.
-        "message": "A String", # The message to be sent with each email.
-        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
-            # - "ATTACHMENT"
-            # - "LINK"
-        "recipients": [ # The list of recipients to which to email the report.
-          { # Represents a recipient.
-            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
-            "deliveryType": "A String", # The delivery type for the recipient, one of:
-                # - "ATTACHMENT"
-                # - "LINK"
-            "email": "A String", # The email address of the recipient.
-          },
-        ],
-        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
-      },
-      "etag": "A String", # The eTag of this response for caching purposes.
-      "criteria": { # The report criteria for a report of type "STANDARD".
-        "activities": { # Represents an activity group. # Activity group.
-          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-            { # Represents a DimensionValue resource.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "value": "A String", # The value of the dimension.
-              "dimensionName": "A String", # The name of the dimension.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                  # - EXACT (default if not specified)
-                  # - CONTAINS
-                  # - BEGINS_WITH
-                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-              "id": "A String", # The ID associated with the value if available.
-            },
-          ],
-          "metricNames": [ # List of names of floodlight activity metrics.
-            "A String",
-          ],
-        },
-        "dimensions": [ # The list of standard dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range for which this report should be run.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-            { # Represents a DimensionValue resource.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "value": "A String", # The value of the dimension.
-              "dimensionName": "A String", # The name of the dimension.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                  # - EXACT (default if not specified)
-                  # - CONTAINS
-                  # - BEGINS_WITH
-                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-              "id": "A String", # The ID associated with the value if available.
-            },
-          ],
-        },
-      },
-      "id": "A String", # The unique ID identifying this report resource.
-      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
-      "fileName": "A String", # The file name used when generating report files for this report.
-      "type": "A String", # The type of the report, one of:
-          # - STANDARD
-          # - REACH
-          # - ACTIVE_GRP
-          # - PATH_TO_CONVERSION
-          # - FLOODLIGHT
-          # - CROSS_DIMENSION_REACH
-      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
-        "breakdown": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
-          "A String",
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
-        "dimension": "A String", # The dimension option, one of:
-            # - "ADVERTISER"
-            # - "CAMPAIGN"
-            # - "SITE_BY_ADVERTISER"
-            # - "SITE_BY_CAMPAIGN"
-      },
-      "accountId": "A String", # The account ID to which this report belongs.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="run">run(profileId, reportId, synchronous=None)</code>
-  <pre>Runs a report.
-
-Args:
-  profileId: string, The DFA profile ID. (required)
-  reportId: string, The ID of the report. (required)
-  synchronous: boolean, If set and true, tries to run the report synchronously.
-
-Returns:
-  An object of the form:
-
-    { # Represents a File resource. A File contains the meta-data for a report run. It shows the status of the run and holds the urls to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
-    "status": "A String", # The status of the report file, one of:
-        # - "PROCESSING"
-        # - "REPORT_AVAILABLE"
-        # - "FAILED"
-        # - "CANCELLED"
-    "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
-    "format": "A String", # The output format of the report. Only available once the file is available.
-    "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
-      "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-      "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-      "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-      "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-          # - "TODAY"
-          # - "YESTERDAY"
-          # - "WEEK_TO_DATE"
-          # - "MONTH_TO_DATE"
-          # - "QUARTER_TO_DATE"
-          # - "YEAR_TO_DATE"
-          # - "PREVIOUS_WEEK"
-          # - "PREVIOUS_MONTH"
-          # - "PREVIOUS_QUARTER"
-          # - "PREVIOUS_YEAR"
-          # - "LAST_7_DAYS"
-          # - "LAST_30_DAYS"
-          # - "LAST_90_DAYS"
-          # - "LAST_365_DAYS"
-          # - "LAST_24_MONTHS"
-    },
-    "fileName": "A String", # The file name of the file.
-    "etag": "A String", # The eTag of this response for caching purposes.
-    "reportId": "A String", # The ID of the report this file was generated from.
-    "urls": { # The urls where the completed report file can be downloaded.
-      "browserUrl": "A String", # The url for downloading the report data through a browser.
-      "apiUrl": "A String", # The url for downloading the report data through the API.
-    },
-    "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
-    "id": "A String", # The unique ID of this report file.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(profileId, reportId, body)</code>
-  <pre>Updates a report.
-
-Args:
-  profileId: string, The DFA user profile ID. (required)
-  reportId: string, The ID of the report. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a Report resource.
-    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
-      "conversionDimensions": [ # The list of conversion dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "reportProperties": { # The properties of the report.
-        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
-        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
-        "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
-        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-      },
-      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "customRichMediaEvents": [ # The list of custom rich media events to include.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-        "value": "A String", # The value of the dimension.
-        "dimensionName": "A String", # The name of the dimension.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-            # - EXACT (default if not specified)
-            # - CONTAINS
-            # - BEGINS_WITH
-            # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-        "id": "A String", # The ID associated with the value if available.
-      },
-      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-    },
-    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
-    "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
-    "name": "A String", # The name of the report.
-    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
-      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
-      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
-          # - DAY_OF_MONTH
-          # - WEEK_OF_MONTH
-          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
-      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
-      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
-      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
-      "repeats": "A String", # The interval for which the report is repeated, one of:
-          # - "DAILY", also requires field "every" to be set.
-          # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
-          # - "TWICE_A_MONTH"
-          # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
-          # - "QUARTERLY"
-          # - "YEARLY"
-      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
-        "A String",
-      ],
-    },
-    "format": "A String", # The output format of the report, one of:
-        # - "CSV"
-        # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
-    "ownerProfileId": "A String", # The user profile id of the owner of this report.
-    "reachCriteria": { # The report criteria for a report of type "REACH".
-      "activities": { # Represents an activity group. # Activity group.
-        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "metricNames": [ # List of names of floodlight activity metrics.
-          "A String",
-        ],
-      },
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
-        "A String",
-      ],
-      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-      },
-    },
-    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-        "value": "A String", # The value of the dimension.
-        "dimensionName": "A String", # The name of the dimension.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-            # - EXACT (default if not specified)
-            # - CONTAINS
-            # - BEGINS_WITH
-            # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-        "id": "A String", # The ID associated with the value if available.
-      },
-      "customRichMediaEvents": [ # The list of custom rich media events to include.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "reportProperties": { # The properties of the report.
-        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-      },
-    },
-    "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "dimensions": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-    },
-    "delivery": { # The report's email delivery settings.
-      "message": "A String", # The message to be sent with each email.
-      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
-          # - "ATTACHMENT"
-          # - "LINK"
-      "recipients": [ # The list of recipients to which to email the report.
-        { # Represents a recipient.
-          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
-          "deliveryType": "A String", # The delivery type for the recipient, one of:
-              # - "ATTACHMENT"
-              # - "LINK"
-          "email": "A String", # The email address of the recipient.
-        },
-      ],
-      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
-    },
-    "etag": "A String", # The eTag of this response for caching purposes.
-    "criteria": { # The report criteria for a report of type "STANDARD".
-      "activities": { # Represents an activity group. # Activity group.
-        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "metricNames": [ # List of names of floodlight activity metrics.
-          "A String",
-        ],
-      },
-      "dimensions": [ # The list of standard dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range for which this report should be run.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-      },
-    },
-    "id": "A String", # The unique ID identifying this report resource.
-    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
-    "fileName": "A String", # The file name used when generating report files for this report.
-    "type": "A String", # The type of the report, one of:
-        # - STANDARD
-        # - REACH
-        # - ACTIVE_GRP
-        # - PATH_TO_CONVERSION
-        # - FLOODLIGHT
-        # - CROSS_DIMENSION_REACH
-    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
-      "breakdown": [ # The list of dimensions the report should include.
-        { # Represents a sorted dimension.
-          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-          "name": "A String", # The name of the dimension.
-          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-              # - "ASCENDING"
-              # - "DESCENDING"
-        },
-      ],
-      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
-        "A String",
-      ],
-      "metricNames": [ # The list of names of metrics the report should include.
-        "A String",
-      ],
-      "dateRange": { # Represents a date range. # The date range this report should be run for.
-        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-            # - "TODAY"
-            # - "YESTERDAY"
-            # - "WEEK_TO_DATE"
-            # - "MONTH_TO_DATE"
-            # - "QUARTER_TO_DATE"
-            # - "YEAR_TO_DATE"
-            # - "PREVIOUS_WEEK"
-            # - "PREVIOUS_MONTH"
-            # - "PREVIOUS_QUARTER"
-            # - "PREVIOUS_YEAR"
-            # - "LAST_7_DAYS"
-            # - "LAST_30_DAYS"
-            # - "LAST_90_DAYS"
-            # - "LAST_365_DAYS"
-            # - "LAST_24_MONTHS"
-      },
-      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-        { # Represents a DimensionValue resource.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-      ],
-      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
-      "dimension": "A String", # The dimension option, one of:
-          # - "ADVERTISER"
-          # - "CAMPAIGN"
-          # - "SITE_BY_ADVERTISER"
-          # - "SITE_BY_CAMPAIGN"
-    },
-    "accountId": "A String", # The account ID to which this report belongs.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a Report resource.
-      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
-        "conversionDimensions": [ # The list of conversion dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "reportProperties": { # The properties of the report.
-          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
-          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
-          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
-          "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
-          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
-        },
-        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "customRichMediaEvents": [ # The list of custom rich media events to include.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-      },
-      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
-      "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
-      "name": "A String", # The name of the report.
-      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
-        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
-        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
-            # - DAY_OF_MONTH
-            # - WEEK_OF_MONTH
-            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
-        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
-        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
-        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
-        "repeats": "A String", # The interval for which the report is repeated, one of:
-            # - "DAILY", also requires field "every" to be set.
-            # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
-            # - "TWICE_A_MONTH"
-            # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
-            # - "QUARTERLY"
-            # - "YEARLY"
-        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
-          "A String",
-        ],
-      },
-      "format": "A String", # The output format of the report, one of:
-          # - "CSV"
-          # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
-      "ownerProfileId": "A String", # The user profile id of the owner of this report.
-      "reachCriteria": { # The report criteria for a report of type "REACH".
-        "activities": { # Represents an activity group. # Activity group.
-          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-            { # Represents a DimensionValue resource.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "value": "A String", # The value of the dimension.
-              "dimensionName": "A String", # The name of the dimension.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                  # - EXACT (default if not specified)
-                  # - CONTAINS
-                  # - BEGINS_WITH
-                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-              "id": "A String", # The ID associated with the value if available.
-            },
-          ],
-          "metricNames": [ # List of names of floodlight activity metrics.
-            "A String",
-          ],
-        },
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
-          "A String",
-        ],
-        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-            { # Represents a DimensionValue resource.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "value": "A String", # The value of the dimension.
-              "dimensionName": "A String", # The name of the dimension.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                  # - EXACT (default if not specified)
-                  # - CONTAINS
-                  # - BEGINS_WITH
-                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-              "id": "A String", # The ID associated with the value if available.
-            },
-          ],
-        },
-      },
-      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
-          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-          "value": "A String", # The value of the dimension.
-          "dimensionName": "A String", # The name of the dimension.
-          "etag": "A String", # The eTag of this response for caching purposes.
-          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-              # - EXACT (default if not specified)
-              # - CONTAINS
-              # - BEGINS_WITH
-              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-          "id": "A String", # The ID associated with the value if available.
-        },
-        "customRichMediaEvents": [ # The list of custom rich media events to include.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "reportProperties": { # The properties of the report.
-          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
-          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
-          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
-        },
-      },
-      "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-            # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "dimensions": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-      },
-      "delivery": { # The report's email delivery settings.
-        "message": "A String", # The message to be sent with each email.
-        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
-            # - "ATTACHMENT"
-            # - "LINK"
-        "recipients": [ # The list of recipients to which to email the report.
-          { # Represents a recipient.
-            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
-            "deliveryType": "A String", # The delivery type for the recipient, one of:
-                # - "ATTACHMENT"
-                # - "LINK"
-            "email": "A String", # The email address of the recipient.
-          },
-        ],
-        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
-      },
-      "etag": "A String", # The eTag of this response for caching purposes.
-      "criteria": { # The report criteria for a report of type "STANDARD".
-        "activities": { # Represents an activity group. # Activity group.
-          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
-          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
-            { # Represents a DimensionValue resource.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "value": "A String", # The value of the dimension.
-              "dimensionName": "A String", # The name of the dimension.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                  # - EXACT (default if not specified)
-                  # - CONTAINS
-                  # - BEGINS_WITH
-                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-              "id": "A String", # The ID associated with the value if available.
-            },
-          ],
-          "metricNames": [ # List of names of floodlight activity metrics.
-            "A String",
-          ],
-        },
-        "dimensions": [ # The list of standard dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range for which this report should be run.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
-          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
-          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
-            { # Represents a DimensionValue resource.
-              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-              "value": "A String", # The value of the dimension.
-              "dimensionName": "A String", # The name of the dimension.
-              "etag": "A String", # The eTag of this response for caching purposes.
-              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                  # - EXACT (default if not specified)
-                  # - CONTAINS
-                  # - BEGINS_WITH
-                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-              "id": "A String", # The ID associated with the value if available.
-            },
-          ],
-        },
-      },
-      "id": "A String", # The unique ID identifying this report resource.
-      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
-      "fileName": "A String", # The file name used when generating report files for this report.
-      "type": "A String", # The type of the report, one of:
-          # - STANDARD
-          # - REACH
-          # - ACTIVE_GRP
-          # - PATH_TO_CONVERSION
-          # - FLOODLIGHT
-          # - CROSS_DIMENSION_REACH
-      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
-        "breakdown": [ # The list of dimensions the report should include.
-          { # Represents a sorted dimension.
-            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
-            "name": "A String", # The name of the dimension.
-            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
-                # - "ASCENDING"
-                # - "DESCENDING"
-          },
-        ],
-        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
-          "A String",
-        ],
-        "metricNames": [ # The list of names of metrics the report should include.
-          "A String",
-        ],
-        "dateRange": { # Represents a date range. # The date range this report should be run for.
-          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
-          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
-          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
-              # - "TODAY"
-              # - "YESTERDAY"
-              # - "WEEK_TO_DATE"
-              # - "MONTH_TO_DATE"
-              # - "QUARTER_TO_DATE"
-              # - "YEAR_TO_DATE"
-              # - "PREVIOUS_WEEK"
-              # - "PREVIOUS_MONTH"
-              # - "PREVIOUS_QUARTER"
-              # - "PREVIOUS_YEAR"
-              # - "LAST_7_DAYS"
-              # - "LAST_30_DAYS"
-              # - "LAST_90_DAYS"
-              # - "LAST_365_DAYS"
-              # - "LAST_24_MONTHS"
-        },
-        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
-          { # Represents a DimensionValue resource.
-            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
-            "value": "A String", # The value of the dimension.
-            "dimensionName": "A String", # The name of the dimension.
-            "etag": "A String", # The eTag of this response for caching purposes.
-            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
-                # - EXACT (default if not specified)
-                # - CONTAINS
-                # - BEGINS_WITH
-                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
-            "id": "A String", # The ID associated with the value if available.
-          },
-        ],
-        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
-        "dimension": "A String", # The dimension option, one of:
-            # - "ADVERTISER"
-            # - "CAMPAIGN"
-            # - "SITE_BY_ADVERTISER"
-            # - "SITE_BY_CAMPAIGN"
-      },
-      "accountId": "A String", # The account ID to which this report belongs.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_3.userProfiles.html b/docs/dyn/dfareporting_v1_3.userProfiles.html
deleted file mode 100644
index dc0cbc7..0000000
--- a/docs/dyn/dfareporting_v1_3.userProfiles.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="dfareporting_v1_3.html">DFA Reporting API</a> . <a href="dfareporting_v1_3.userProfiles.html">userProfiles</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(profileId)</a></code></p>
-<p class="firstline">Gets one user profile by ID.</p>
-<p class="toc_element">
-  <code><a href="#list">list()</a></code></p>
-<p class="firstline">Retrieves list of user profiles for a user.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(profileId)</code>
-  <pre>Gets one user profile by ID.
-
-Args:
-  profileId: string, The user profile ID. (required)
-
-Returns:
-  An object of the form:
-
-    { # Represents a UserProfile resource.
-    "userName": "A String", # The user name.
-    "kind": "dfareporting#userProfile", # The kind of resource this is, in this case dfareporting#userProfile.
-    "subAccountId": "A String", # The sub account ID this profile belongs to if applicable.
-    "accountName": "A String", # The account name this profile belongs to.
-    "etag": "A String", # The eTag of this response for caching purposes.
-    "subAccountName": "A String", # The sub account name this profile belongs to if applicable.
-    "profileId": "A String", # The unique ID of the user profile.
-    "accountId": "A String", # The account ID to which this profile belongs.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list()</code>
-  <pre>Retrieves list of user profiles for a user.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    { # Represents the list of user profiles.
-    "items": [ # The user profiles returned in this response.
-      { # Represents a UserProfile resource.
-        "userName": "A String", # The user name.
-        "kind": "dfareporting#userProfile", # The kind of resource this is, in this case dfareporting#userProfile.
-        "subAccountId": "A String", # The sub account ID this profile belongs to if applicable.
-        "accountName": "A String", # The account name this profile belongs to.
-        "etag": "A String", # The eTag of this response for caching purposes.
-        "subAccountName": "A String", # The sub account name this profile belongs to if applicable.
-        "profileId": "A String", # The unique ID of the user profile.
-        "accountId": "A String", # The account ID to which this profile belongs.
-      },
-    ],
-    "kind": "dfareporting#userProfileList", # The kind of list this is, in this case dfareporting#userProfileList.
-    "etag": "A String", # The eTag of this response for caching purposes.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/discovery_v1.apis.html b/docs/dyn/discovery_v1.apis.html
deleted file mode 100644
index a97b661..0000000
--- a/docs/dyn/discovery_v1.apis.html
+++ /dev/null
@@ -1,397 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="discovery_v1.html">APIs Discovery Service</a> . <a href="discovery_v1.apis.html">apis</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#getRest">getRest(api, version)</a></code></p>
-<p class="firstline">Retrieve the description of a particular version of an api.</p>
-<p class="toc_element">
-  <code><a href="#list">list(name=None, preferred=None)</a></code></p>
-<p class="firstline">Retrieve the list of APIs supported at this endpoint.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="getRest">getRest(api, version)</code>
-  <pre>Retrieve the description of a particular version of an api.
-
-Args:
-  api: string, The name of the API. (required)
-  version: string, The version of the API. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "protocol": "rest", # The protocol described by this document.
-    "methods": { # API-level methods for this API.
-      "a_key": { # An individual method description.
-        "scopes": [ # OAuth 2.0 scopes applicable to this method.
-          "A String",
-        ],
-        "description": "A String", # Description of this method.
-        "parameters": { # Details for all parameters in this method.
-          "a_key": { # Details for a single parameter in this method.
-            "properties": { # If this is a schema for an object, list the schema for each property of this object.
-              "a_key": # Object with schema name: JsonSchema # A single property of this object. The value is itself a JSON Schema object describing this property.
-            },
-            "required": True or False, # Whether the parameter is required.
-            "type": "A String", # The value type for this schema. A list of values can be found here: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
-            "description": "A String", # A description of this object.
-            "format": "A String", # An additional regular expression or key that helps constrain the value. For more details see: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23
-            "default": "A String", # The default value of this property (if one exists).
-            "items": # Object with schema name: JsonSchema # If this is a schema for an array, this property is the schema for each element in the array.
-            "enum": [ # Values this parameter may take (if it is an enum).
-              "A String",
-            ],
-            "maximum": "A String", # The maximum value of this parameter.
-            "id": "A String", # Unique identifier for this schema.
-            "enumDescriptions": [ # The descriptions for the enums. Each position maps to the corresponding value in the "enum" array.
-              "A String",
-            ],
-            "minimum": "A String", # The minimum value of this parameter.
-            "readOnly": True or False, # The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service.
-            "location": "A String", # Whether this parameter goes in the query or the path for REST requests.
-            "pattern": "A String", # The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
-            "additionalProperties": # Object with schema name: JsonSchema # If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.
-            "repeated": True or False, # Whether this parameter may appear multiple times.
-            "annotations": { # Additional information about this property.
-              "required": [ # A list of methods for which this property is required on requests.
-                "A String",
-              ],
-            },
-            "$ref": "A String", # A reference to another schema. The value of this property is the "id" of another schema.
-          },
-        },
-        "supportsMediaUpload": True or False, # Whether this method supports media uploads.
-        "etagRequired": True or False, # Whether this method requires an ETag to be specified. The ETag is sent as an HTTP If-Match or If-None-Match header.
-        "mediaUpload": { # Media upload parameters.
-          "maxSize": "A String", # Maximum size of a media upload, such as "1MB", "2GB" or "3TB".
-          "protocols": { # Supported upload protocols.
-            "simple": { # Supports uploading as a single HTTP request.
-              "path": "A String", # The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.
-              "multipart": true, # True if this endpoint supports upload multipart media.
-            },
-            "resumable": { # Supports the Resumable Media Upload protocol.
-              "path": "A String", # The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.
-              "multipart": true, # True if this endpoint supports uploading multipart media.
-            },
-          },
-          "accept": [ # MIME Media Ranges for acceptable media uploads to this method.
-            "A String",
-          ],
-        },
-        "request": { # The schema for the request.
-          "parameterName": "A String", # parameter name.
-          "$ref": "A String", # Schema ID for the request schema.
-        },
-        "response": { # The schema for the response.
-          "$ref": "A String", # Schema ID for the response schema.
-        },
-        "httpMethod": "A String", # HTTP method used by this method.
-        "supportsSubscription": True or False, # Whether this method supports subscriptions.
-        "parameterOrder": [ # Ordered list of required parameters, serves as a hint to clients on how to structure their method signatures. The array is ordered such that the "most-significant" parameter appears first.
-          "A String",
-        ],
-        "path": "A String", # The URI path of this REST method. Should be used in conjunction with the basePath property at the api-level.
-        "id": "A String", # A unique ID for this method. This property can be used to match methods between different versions of Discovery.
-        "supportsMediaDownload": True or False, # Whether this method supports media downloads.
-      },
-    },
-    "labels": [ # Labels for the status of this API, such as labs or deprecated.
-      "A String",
-    ],
-    "ownerName": "A String", # The name of the owner of this API. See ownerDomain.
-    "batchPath": "batch", # The path for REST batch requests.
-    "id": "A String", # The ID of this API.
-    "features": [ # A list of supported features for this API.
-      "A String",
-    ],
-    "ownerDomain": "A String", # The domain of the owner of this API. Together with the ownerName and a packagePath values, this can be used to generate a library for this API which would have a unique fully qualified name.
-    "rootUrl": "A String", # The root URL under which all API services live.
-    "parameters": { # Common parameters that apply across all apis.
-      "a_key": { # Description of a single parameter.
-        "properties": { # If this is a schema for an object, list the schema for each property of this object.
-          "a_key": # Object with schema name: JsonSchema # A single property of this object. The value is itself a JSON Schema object describing this property.
-        },
-        "required": True or False, # Whether the parameter is required.
-        "type": "A String", # The value type for this schema. A list of values can be found here: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
-        "description": "A String", # A description of this object.
-        "format": "A String", # An additional regular expression or key that helps constrain the value. For more details see: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23
-        "default": "A String", # The default value of this property (if one exists).
-        "items": # Object with schema name: JsonSchema # If this is a schema for an array, this property is the schema for each element in the array.
-        "enum": [ # Values this parameter may take (if it is an enum).
-          "A String",
-        ],
-        "maximum": "A String", # The maximum value of this parameter.
-        "id": "A String", # Unique identifier for this schema.
-        "enumDescriptions": [ # The descriptions for the enums. Each position maps to the corresponding value in the "enum" array.
-          "A String",
-        ],
-        "minimum": "A String", # The minimum value of this parameter.
-        "readOnly": True or False, # The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service.
-        "location": "A String", # Whether this parameter goes in the query or the path for REST requests.
-        "pattern": "A String", # The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
-        "additionalProperties": # Object with schema name: JsonSchema # If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.
-        "repeated": True or False, # Whether this parameter may appear multiple times.
-        "annotations": { # Additional information about this property.
-          "required": [ # A list of methods for which this property is required on requests.
-            "A String",
-          ],
-        },
-        "$ref": "A String", # A reference to another schema. The value of this property is the "id" of another schema.
-      },
-    },
-    "icons": { # Links to 16x16 and 32x32 icons representing the API.
-      "x32": "A String", # The URL of the 32x32 icon.
-      "x16": "A String", # The URL of the 16x16 icon.
-    },
-    "baseUrl": "A String", # [DEPRECATED] The base URL for REST requests.
-    "etag": "A String", # The ETag for this response.
-    "version": "A String", # The version of this API.
-    "servicePath": "A String", # The base path for all REST requests.
-    "schemas": { # The schemas for this API.
-      "a_key": { # An individual schema description.
-        "properties": { # If this is a schema for an object, list the schema for each property of this object.
-          "a_key": # Object with schema name: JsonSchema # A single property of this object. The value is itself a JSON Schema object describing this property.
-        },
-        "required": True or False, # Whether the parameter is required.
-        "type": "A String", # The value type for this schema. A list of values can be found here: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
-        "description": "A String", # A description of this object.
-        "format": "A String", # An additional regular expression or key that helps constrain the value. For more details see: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23
-        "default": "A String", # The default value of this property (if one exists).
-        "items": # Object with schema name: JsonSchema # If this is a schema for an array, this property is the schema for each element in the array.
-        "enum": [ # Values this parameter may take (if it is an enum).
-          "A String",
-        ],
-        "maximum": "A String", # The maximum value of this parameter.
-        "id": "A String", # Unique identifier for this schema.
-        "enumDescriptions": [ # The descriptions for the enums. Each position maps to the corresponding value in the "enum" array.
-          "A String",
-        ],
-        "minimum": "A String", # The minimum value of this parameter.
-        "readOnly": True or False, # The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service.
-        "location": "A String", # Whether this parameter goes in the query or the path for REST requests.
-        "pattern": "A String", # The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
-        "additionalProperties": # Object with schema name: JsonSchema # If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.
-        "repeated": True or False, # Whether this parameter may appear multiple times.
-        "annotations": { # Additional information about this property.
-          "required": [ # A list of methods for which this property is required on requests.
-            "A String",
-          ],
-        },
-        "$ref": "A String", # A reference to another schema. The value of this property is the "id" of another schema.
-      },
-    },
-    "resources": { # The resources in this API.
-      "a_key": { # An individual resource description. Contains methods and sub-resources related to this resource.
-        "methods": { # Methods on this resource.
-          "a_key": { # Description for any methods on this resource.
-            "scopes": [ # OAuth 2.0 scopes applicable to this method.
-              "A String",
-            ],
-            "description": "A String", # Description of this method.
-            "parameters": { # Details for all parameters in this method.
-              "a_key": { # Details for a single parameter in this method.
-                "properties": { # If this is a schema for an object, list the schema for each property of this object.
-                  "a_key": # Object with schema name: JsonSchema # A single property of this object. The value is itself a JSON Schema object describing this property.
-                },
-                "required": True or False, # Whether the parameter is required.
-                "type": "A String", # The value type for this schema. A list of values can be found here: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
-                "description": "A String", # A description of this object.
-                "format": "A String", # An additional regular expression or key that helps constrain the value. For more details see: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23
-                "default": "A String", # The default value of this property (if one exists).
-                "items": # Object with schema name: JsonSchema # If this is a schema for an array, this property is the schema for each element in the array.
-                "enum": [ # Values this parameter may take (if it is an enum).
-                  "A String",
-                ],
-                "maximum": "A String", # The maximum value of this parameter.
-                "id": "A String", # Unique identifier for this schema.
-                "enumDescriptions": [ # The descriptions for the enums. Each position maps to the corresponding value in the "enum" array.
-                  "A String",
-                ],
-                "minimum": "A String", # The minimum value of this parameter.
-                "readOnly": True or False, # The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service.
-                "location": "A String", # Whether this parameter goes in the query or the path for REST requests.
-                "pattern": "A String", # The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
-                "additionalProperties": # Object with schema name: JsonSchema # If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.
-                "repeated": True or False, # Whether this parameter may appear multiple times.
-                "annotations": { # Additional information about this property.
-                  "required": [ # A list of methods for which this property is required on requests.
-                    "A String",
-                  ],
-                },
-                "$ref": "A String", # A reference to another schema. The value of this property is the "id" of another schema.
-              },
-            },
-            "supportsMediaUpload": True or False, # Whether this method supports media uploads.
-            "etagRequired": True or False, # Whether this method requires an ETag to be specified. The ETag is sent as an HTTP If-Match or If-None-Match header.
-            "mediaUpload": { # Media upload parameters.
-              "maxSize": "A String", # Maximum size of a media upload, such as "1MB", "2GB" or "3TB".
-              "protocols": { # Supported upload protocols.
-                "simple": { # Supports uploading as a single HTTP request.
-                  "path": "A String", # The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.
-                  "multipart": true, # True if this endpoint supports upload multipart media.
-                },
-                "resumable": { # Supports the Resumable Media Upload protocol.
-                  "path": "A String", # The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.
-                  "multipart": true, # True if this endpoint supports uploading multipart media.
-                },
-              },
-              "accept": [ # MIME Media Ranges for acceptable media uploads to this method.
-                "A String",
-              ],
-            },
-            "request": { # The schema for the request.
-              "parameterName": "A String", # parameter name.
-              "$ref": "A String", # Schema ID for the request schema.
-            },
-            "response": { # The schema for the response.
-              "$ref": "A String", # Schema ID for the response schema.
-            },
-            "httpMethod": "A String", # HTTP method used by this method.
-            "supportsSubscription": True or False, # Whether this method supports subscriptions.
-            "parameterOrder": [ # Ordered list of required parameters, serves as a hint to clients on how to structure their method signatures. The array is ordered such that the "most-significant" parameter appears first.
-              "A String",
-            ],
-            "path": "A String", # The URI path of this REST method. Should be used in conjunction with the basePath property at the api-level.
-            "id": "A String", # A unique ID for this method. This property can be used to match methods between different versions of Discovery.
-            "supportsMediaDownload": True or False, # Whether this method supports media downloads.
-          },
-        },
-        "resources": { # Sub-resources on this resource.
-          "a_key": # Object with schema name: RestResource # Description for any sub-resources on this resource.
-        },
-      },
-    },
-    "revision": "A String", # The version of this API.
-    "description": "A String", # The description of this API.
-    "canonicalName": "A String", # Indicates how the API name should be capitalized and split into various parts. Useful for generating pretty class names.
-    "auth": { # Authentication information.
-      "oauth2": { # OAuth 2.0 authentication information.
-        "scopes": { # Available OAuth 2.0 scopes.
-          "a_key": { # The scope value.
-            "description": "A String", # Description of scope.
-          },
-        },
-      },
-    },
-    "packagePath": "A String", # The package of the owner of this API. See ownerDomain.
-    "kind": "discovery#restDescription", # The kind for this response.
-    "name": "A String", # The name of this API.
-    "basePath": "A String", # [DEPRECATED] The base path for REST requests.
-    "title": "A String", # The title of this API.
-    "discoveryVersion": "v1", # Indicate the version of the Discovery API used to generate this doc.
-    "documentationLink": "A String", # A link to human readable documentation for the API.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(name=None, preferred=None)</code>
-  <pre>Retrieve the list of APIs supported at this endpoint.
-
-Args:
-  name: string, Only include APIs with the given name.
-  preferred: boolean, Return only the preferred version of an API.
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # The individual directory entries. One entry per api/version pair.
-      {
-        "kind": "discovery#directoryItem", # The kind for this response.
-        "labels": [ # Labels for the status of this API, such as labs or deprecated.
-          "A String",
-        ],
-        "description": "A String", # The description of this API.
-        "icons": { # Links to 16x16 and 32x32 icons representing the API.
-          "x32": "A String", # The URL of the 32x32 icon.
-          "x16": "A String", # The URL of the 16x16 icon.
-        },
-        "discoveryRestUrl": "A String", # The URL for the discovery REST document.
-        "preferred": True or False, # True if this version is the preferred version to use.
-        "name": "A String", # The name of the API.
-        "discoveryLink": "A String", # A link to the discovery document.
-        "version": "A String", # The version of the API.
-        "title": "A String", # The title of this API.
-        "id": "A String", # The id of this API.
-        "documentationLink": "A String", # A link to human readable documentation for the API.
-      },
-    ],
-    "discoveryVersion": "v1", # Indicate the version of the Discovery API used to generate this doc.
-    "kind": "discovery#directoryList", # The kind for this response.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/discovery_v1.html b/docs/dyn/discovery_v1.html
deleted file mode 100644
index e4ac00f..0000000
--- a/docs/dyn/discovery_v1.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="discovery_v1.html">APIs Discovery Service</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="discovery_v1.apis.html">apis()</a></code>
-</p>
-<p class="firstline">Returns the apis Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/doubleclickbidmanager_v1.html b/docs/dyn/doubleclickbidmanager_v1.html
deleted file mode 100644
index e1c40d7..0000000
--- a/docs/dyn/doubleclickbidmanager_v1.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="doubleclickbidmanager_v1.html">DoubleClick Bid Manager API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="doubleclickbidmanager_v1.queries.html">queries()</a></code>
-</p>
-<p class="firstline">Returns the queries Resource.</p>
-
-<p class="toc_element">
-  <code><a href="doubleclickbidmanager_v1.reports.html">reports()</a></code>
-</p>
-<p class="firstline">Returns the reports Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/doubleclickbidmanager_v1.queries.html b/docs/dyn/doubleclickbidmanager_v1.queries.html
deleted file mode 100644
index 91e1a97..0000000
--- a/docs/dyn/doubleclickbidmanager_v1.queries.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="doubleclickbidmanager_v1.html">DoubleClick Bid Manager API</a> . <a href="doubleclickbidmanager_v1.queries.html">queries</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#createquery">createquery(body)</a></code></p>
-<p class="firstline">Creates a query.</p>
-<p class="toc_element">
-  <code><a href="#deletequery">deletequery(queryId)</a></code></p>
-<p class="firstline">Deletes a stored query as well as the associated stored reports.</p>
-<p class="toc_element">
-  <code><a href="#getquery">getquery(queryId)</a></code></p>
-<p class="firstline">Retrieves a stored query.</p>
-<p class="toc_element">
-  <code><a href="#listqueries">listqueries()</a></code></p>
-<p class="firstline">Retrieves stored queries.</p>
-<p class="toc_element">
-  <code><a href="#runquery">runquery(queryId, body)</a></code></p>
-<p class="firstline">Runs a stored query to generate a report.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="createquery">createquery(body)</code>
-  <pre>Creates a query.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a query.
-  "kind": "doubleclickbidmanager#query", # The kind, fixed to "doubleclickbidmanager#query".
-  "schedule": { # Information on how frequently and when to run a query. # Information on how often and when to run a query.
-    "endTimeMs": "A String", # Run the query periodically until the specified time.
-    "frequency": "A String", # How often the query is run.
-  },
-  "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
-  "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
-  "queryId": "A String", # Query ID.
-  "params": { # Parameters of a query or report. # Query parameters.
-    "metrics": [ # Metrics to include as columns in your report.
-      "A String",
-    ],
-    "includeInviteData": True or False, # Whether to include data from Invite Media.
-    "type": "A String", # Report type.
-    "groupBys": [ # Data is grouped by the filters listed in this field.
-      "A String",
-    ],
-    "filters": [ # Filters used to match traffic data in your report.
-      { # Filter used to match traffic data in your report.
-        "type": "A String", # Filter type.
-        "value": "A String", # Filter value.
-      },
-    ],
-  },
-  "reportDataStartTimeMs": "A String", # The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
-  "metadata": { # Query metadata. # Query metadata.
-    "googleCloudStoragePathForLatestReport": "A String", # The path to the location in Google Cloud Storage where the latest report is stored.
-    "dataRange": "A String", # Range of report data.
-    "format": "A String", # Format of the generated report.
-    "googleDrivePathForLatestReport": "A String", # The path in Google Drive for the latest report.
-    "sendNotification": True or False, # Whether to send an email notification when a report is ready. Default to false.
-    "shareEmailAddress": [ # List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.
-      "A String",
-    ],
-    "reportCount": 42, # Number of reports that have been generated for the query.
-    "running": True or False, # Whether the latest report is currently running.
-    "latestReportRunTimeMs": "A String", # The time when the latest report started to run.
-    "title": "A String", # Query title. It is used to name the reports generated from this query.
-  },
-}
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a query.
-    "kind": "doubleclickbidmanager#query", # The kind, fixed to "doubleclickbidmanager#query".
-    "schedule": { # Information on how frequently and when to run a query. # Information on how often and when to run a query.
-      "endTimeMs": "A String", # Run the query periodically until the specified time.
-      "frequency": "A String", # How often the query is run.
-    },
-    "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
-    "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
-    "queryId": "A String", # Query ID.
-    "params": { # Parameters of a query or report. # Query parameters.
-      "metrics": [ # Metrics to include as columns in your report.
-        "A String",
-      ],
-      "includeInviteData": True or False, # Whether to include data from Invite Media.
-      "type": "A String", # Report type.
-      "groupBys": [ # Data is grouped by the filters listed in this field.
-        "A String",
-      ],
-      "filters": [ # Filters used to match traffic data in your report.
-        { # Filter used to match traffic data in your report.
-          "type": "A String", # Filter type.
-          "value": "A String", # Filter value.
-        },
-      ],
-    },
-    "reportDataStartTimeMs": "A String", # The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
-    "metadata": { # Query metadata. # Query metadata.
-      "googleCloudStoragePathForLatestReport": "A String", # The path to the location in Google Cloud Storage where the latest report is stored.
-      "dataRange": "A String", # Range of report data.
-      "format": "A String", # Format of the generated report.
-      "googleDrivePathForLatestReport": "A String", # The path in Google Drive for the latest report.
-      "sendNotification": True or False, # Whether to send an email notification when a report is ready. Default to false.
-      "shareEmailAddress": [ # List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.
-        "A String",
-      ],
-      "reportCount": 42, # Number of reports that have been generated for the query.
-      "running": True or False, # Whether the latest report is currently running.
-      "latestReportRunTimeMs": "A String", # The time when the latest report started to run.
-      "title": "A String", # Query title. It is used to name the reports generated from this query.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="deletequery">deletequery(queryId)</code>
-  <pre>Deletes a stored query as well as the associated stored reports.
-
-Args:
-  queryId: string, Query ID to delete. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="getquery">getquery(queryId)</code>
-  <pre>Retrieves a stored query.
-
-Args:
-  queryId: string, Query ID to retrieve. (required)
-
-Returns:
-  An object of the form:
-
-    { # Represents a query.
-    "kind": "doubleclickbidmanager#query", # The kind, fixed to "doubleclickbidmanager#query".
-    "schedule": { # Information on how frequently and when to run a query. # Information on how often and when to run a query.
-      "endTimeMs": "A String", # Run the query periodically until the specified time.
-      "frequency": "A String", # How often the query is run.
-    },
-    "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
-    "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
-    "queryId": "A String", # Query ID.
-    "params": { # Parameters of a query or report. # Query parameters.
-      "metrics": [ # Metrics to include as columns in your report.
-        "A String",
-      ],
-      "includeInviteData": True or False, # Whether to include data from Invite Media.
-      "type": "A String", # Report type.
-      "groupBys": [ # Data is grouped by the filters listed in this field.
-        "A String",
-      ],
-      "filters": [ # Filters used to match traffic data in your report.
-        { # Filter used to match traffic data in your report.
-          "type": "A String", # Filter type.
-          "value": "A String", # Filter value.
-        },
-      ],
-    },
-    "reportDataStartTimeMs": "A String", # The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
-    "metadata": { # Query metadata. # Query metadata.
-      "googleCloudStoragePathForLatestReport": "A String", # The path to the location in Google Cloud Storage where the latest report is stored.
-      "dataRange": "A String", # Range of report data.
-      "format": "A String", # Format of the generated report.
-      "googleDrivePathForLatestReport": "A String", # The path in Google Drive for the latest report.
-      "sendNotification": True or False, # Whether to send an email notification when a report is ready. Default to false.
-      "shareEmailAddress": [ # List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.
-        "A String",
-      ],
-      "reportCount": 42, # Number of reports that have been generated for the query.
-      "running": True or False, # Whether the latest report is currently running.
-      "latestReportRunTimeMs": "A String", # The time when the latest report started to run.
-      "title": "A String", # Query title. It is used to name the reports generated from this query.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="listqueries">listqueries()</code>
-  <pre>Retrieves stored queries.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    { # List queries response.
-    "kind": "doubleclickbidmanager#listQueriesResponse", # The kind, fixed to "doubleclickbidmanager#listQueriesResponse".
-    "queries": [ # Retrieved queries.
-      { # Represents a query.
-        "kind": "doubleclickbidmanager#query", # The kind, fixed to "doubleclickbidmanager#query".
-        "schedule": { # Information on how frequently and when to run a query. # Information on how often and when to run a query.
-          "endTimeMs": "A String", # Run the query periodically until the specified time.
-          "frequency": "A String", # How often the query is run.
-        },
-        "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
-        "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
-        "queryId": "A String", # Query ID.
-        "params": { # Parameters of a query or report. # Query parameters.
-          "metrics": [ # Metrics to include as columns in your report.
-            "A String",
-          ],
-          "includeInviteData": True or False, # Whether to include data from Invite Media.
-          "type": "A String", # Report type.
-          "groupBys": [ # Data is grouped by the filters listed in this field.
-            "A String",
-          ],
-          "filters": [ # Filters used to match traffic data in your report.
-            { # Filter used to match traffic data in your report.
-              "type": "A String", # Filter type.
-              "value": "A String", # Filter value.
-            },
-          ],
-        },
-        "reportDataStartTimeMs": "A String", # The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
-        "metadata": { # Query metadata. # Query metadata.
-          "googleCloudStoragePathForLatestReport": "A String", # The path to the location in Google Cloud Storage where the latest report is stored.
-          "dataRange": "A String", # Range of report data.
-          "format": "A String", # Format of the generated report.
-          "googleDrivePathForLatestReport": "A String", # The path in Google Drive for the latest report.
-          "sendNotification": True or False, # Whether to send an email notification when a report is ready. Default to false.
-          "shareEmailAddress": [ # List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.
-            "A String",
-          ],
-          "reportCount": 42, # Number of reports that have been generated for the query.
-          "running": True or False, # Whether the latest report is currently running.
-          "latestReportRunTimeMs": "A String", # The time when the latest report started to run.
-          "title": "A String", # Query title. It is used to name the reports generated from this query.
-        },
-      },
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="runquery">runquery(queryId, body)</code>
-  <pre>Runs a stored query to generate a report.
-
-Args:
-  queryId: string, Query ID to run. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Request to run a stored query to generate a report.
-    "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if dataRange is CUSTOM_DATES and ignored otherwise.
-    "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
-    "reportDataStartTimeMs": "A String", # The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if dataRange is CUSTOM_DATES and ignored otherwise.
-    "dataRange": "A String", # Report data range used to generate the report.
-  }
-
-</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/doubleclickbidmanager_v1.reports.html b/docs/dyn/doubleclickbidmanager_v1.reports.html
deleted file mode 100644
index b901d0c..0000000
--- a/docs/dyn/doubleclickbidmanager_v1.reports.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="doubleclickbidmanager_v1.html">DoubleClick Bid Manager API</a> . <a href="doubleclickbidmanager_v1.reports.html">reports</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#listreports">listreports(queryId)</a></code></p>
-<p class="firstline">Retrieves stored reports.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="listreports">listreports(queryId)</code>
-  <pre>Retrieves stored reports.
-
-Args:
-  queryId: string, Query ID with which the reports are associated. (required)
-
-Returns:
-  An object of the form:
-
-    { # List reports response.
-    "kind": "doubleclickbidmanager#listReportsResponse", # The kind, fixed to "doubleclickbidmanager#listReportsResponse".
-    "reports": [ # Retrieved reports.
-      { # Represents a report.
-        "params": { # Parameters of a query or report. # Report parameters.
-          "metrics": [ # Metrics to include as columns in your report.
-            "A String",
-          ],
-          "includeInviteData": True or False, # Whether to include data from Invite Media.
-          "type": "A String", # Report type.
-          "groupBys": [ # Data is grouped by the filters listed in this field.
-            "A String",
-          ],
-          "filters": [ # Filters used to match traffic data in your report.
-            { # Filter used to match traffic data in your report.
-              "type": "A String", # Filter type.
-              "value": "A String", # Filter value.
-            },
-          ],
-        },
-        "key": { # Key used to identify a report. # Key used to identify a report.
-          "queryId": "A String", # Query ID.
-          "reportId": "A String", # Report ID.
-        },
-        "metadata": { # Report metadata. # Report metadata.
-          "status": { # Report status. # Report status.
-            "failure": { # An explanation of a report failure. # If the report failed, this records the cause.
-              "errorCode": "A String", # Error code that shows why the report was not created.
-            },
-            "state": "A String", # The state of the report.
-            "finishTimeMs": "A String", # The time when this report either completed successfully or failed.
-            "format": "A String", # The file type of the report.
-          },
-          "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report.
-          "googleCloudStoragePath": "A String", # The path to the location in Google Cloud Storage where the report is stored.
-          "reportDataStartTimeMs": "A String", # The starting time for the data that is shown in the report.
-        },
-      },
-    ],
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.about.html b/docs/dyn/drive_v2.about.html
deleted file mode 100644
index 24a3664..0000000
--- a/docs/dyn/drive_v2.about.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="drive_v2.html">Drive API</a> . <a href="drive_v2.about.html">about</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(includeSubscribed=None, startChangeId=None, maxChangeIdCount=None)</a></code></p>
-<p class="firstline">Gets the information about the current user along with Drive API settings</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(includeSubscribed=None, startChangeId=None, maxChangeIdCount=None)</code>
-  <pre>Gets the information about the current user along with Drive API settings
-
-Args:
-  includeSubscribed: boolean, When calculating the number of remaining change IDs, whether to include shared files and public files the user has opened. When set to false, this counts only change IDs for owned files and any shared or public files that the user has explictly added to a folder in Drive.
-  startChangeId: string, Change ID to start counting from when calculating number of remaining change IDs
-  maxChangeIdCount: string, Maximum number of remaining change IDs to count
-
-Returns:
-  An object of the form:
-
-    { # An item with user information and settings.
-    "kind": "drive#about", # This is always drive#about.
-    "features": [ # List of additional features enabled on this account.
-      {
-        "featureName": "A String", # The name of the feature.
-        "featureRate": 3.14, # The request limit rate for this feature, in queries per second.
-      },
-    ],
-    "quotaBytesUsed": "A String", # The number of quota bytes used by Google Drive.
-    "user": { # The JSON template for a user. # The authenticated user.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-    "permissionId": "A String", # The current user's ID as visible in the permissions collection.
-    "maxUploadSizes": [ # List of max upload sizes for each file type. The most specific type takes precedence.
-      {
-        "type": "A String", # The file type.
-        "size": "A String", # The max upload size for this type.
-      },
-    ],
-    "name": "A String", # The name of the current user.
-    "remainingChangeIds": "A String", # The number of remaining change ids.
-    "additionalRoleInfo": [ # Information about supported additional roles per file type. The most specific type takes precedence.
-      {
-        "roleSets": [ # The supported additional roles per primary role.
-          {
-            "primaryRole": "A String", # A primary permission role.
-            "additionalRoles": [ # The supported additional roles with the primary role.
-              "A String",
-            ],
-          },
-        ],
-        "type": "A String", # The content type that this additional role info applies to.
-      },
-    ],
-    "etag": "A String", # The ETag of the item.
-    "importFormats": [ # The allowable import formats.
-      {
-        "source": "A String", # The imported file's content type to convert from.
-        "targets": [ # The possible content types to convert to.
-          "A String",
-        ],
-      },
-    ],
-    "quotaBytesTotal": "A String", # The total number of quota bytes.
-    "rootFolderId": "A String", # The id of the root folder.
-    "largestChangeId": "A String", # The largest change id.
-    "quotaBytesUsedInTrash": "A String", # The number of quota bytes used by trashed items.
-    "exportFormats": [ # The allowable export formats.
-      {
-        "source": "A String", # The content type to convert from.
-        "targets": [ # The possible content types to convert to.
-          "A String",
-        ],
-      },
-    ],
-    "quotaBytesUsedAggregate": "A String", # The number of quota bytes used by all Google apps (Drive, Picasa, etc.).
-    "domainSharingPolicy": "A String", # The domain sharing policy for the current user.
-    "selfLink": "A String", # A link back to this item.
-    "isCurrentAppInstalled": True or False, # A boolean indicating whether the authenticated app is installed by the authenticated user.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.apps.html b/docs/dyn/drive_v2.apps.html
deleted file mode 100644
index 000d852..0000000
--- a/docs/dyn/drive_v2.apps.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="drive_v2.html">Drive API</a> . <a href="drive_v2.apps.html">apps</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(appId)</a></code></p>
-<p class="firstline">Gets a specific app.</p>
-<p class="toc_element">
-  <code><a href="#list">list()</a></code></p>
-<p class="firstline">Lists a user's installed apps.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(appId)</code>
-  <pre>Gets a specific app.
-
-Args:
-  appId: string, The ID of the app. (required)
-
-Returns:
-  An object of the form:
-
-    { # The apps resource provides a list of the apps that a user has installed, with information about each app's supported MIME types, file extensions, and other details.
-    "kind": "drive#app", # This is always drive#app.
-    "primaryFileExtensions": [ # The list of primary file extensions.
-      "A String",
-    ],
-    "secondaryMimeTypes": [ # The list of secondary mime types.
-      "A String",
-    ],
-    "name": "A String", # The name of the app.
-    "icons": [ # The various icons for the app.
-      {
-        "category": "A String", # Category of the icon. Allowed values are:
-            # - application - icon for the application
-            # - document - icon for a file associated with the app
-            # - documentShared - icon for a shared file associated with the app
-        "iconUrl": "A String", # URL for the icon.
-        "size": 42, # Size of the icon. Represented as the maximum of the width and height.
-      },
-    ],
-    "shortDescription": "A String", # A short description of the app.
-    "secondaryFileExtensions": [ # The list of secondary file extensions.
-      "A String",
-    ],
-    "useByDefault": True or False, # Whether the app is selected as the default handler for the types it supports.
-    "installed": True or False, # Whether the app is installed.
-    "supportsMultiOpen": True or False, # Whether this app supports opening more than one file.
-    "productUrl": "A String", # A link to the product listing for this app.
-    "productId": "A String", # The ID of the product listing for this app.
-    "authorized": True or False, # Whether the app is authorized to access data on the user's Drive.
-    "supportsCreate": True or False, # Whether this app supports creating new objects.
-    "supportsImport": True or False, # Whether this app supports importing Google Docs.
-    "openUrlTemplate": "A String", # The template url for opening files with this app. The template will contain {ids} and/or {exportIds} to be replaced by the actual file ids.
-    "longDescription": "A String", # A long description of the app.
-    "primaryMimeTypes": [ # The list of primary mime types.
-      "A String",
-    ],
-    "id": "A String", # The ID of the app.
-    "objectType": "A String", # The type of object this app creates (e.g. Chart). If empty, the app name should be used instead.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list()</code>
-  <pre>Lists a user's installed apps.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    { # A list of third-party applications which the user has installed or given access to Google Drive.
-    "items": [ # The actual list of apps.
-      { # The apps resource provides a list of the apps that a user has installed, with information about each app's supported MIME types, file extensions, and other details.
-        "kind": "drive#app", # This is always drive#app.
-        "primaryFileExtensions": [ # The list of primary file extensions.
-          "A String",
-        ],
-        "secondaryMimeTypes": [ # The list of secondary mime types.
-          "A String",
-        ],
-        "name": "A String", # The name of the app.
-        "icons": [ # The various icons for the app.
-          {
-            "category": "A String", # Category of the icon. Allowed values are:
-                # - application - icon for the application
-                # - document - icon for a file associated with the app
-                # - documentShared - icon for a shared file associated with the app
-            "iconUrl": "A String", # URL for the icon.
-            "size": 42, # Size of the icon. Represented as the maximum of the width and height.
-          },
-        ],
-        "shortDescription": "A String", # A short description of the app.
-        "secondaryFileExtensions": [ # The list of secondary file extensions.
-          "A String",
-        ],
-        "useByDefault": True or False, # Whether the app is selected as the default handler for the types it supports.
-        "installed": True or False, # Whether the app is installed.
-        "supportsMultiOpen": True or False, # Whether this app supports opening more than one file.
-        "productUrl": "A String", # A link to the product listing for this app.
-        "productId": "A String", # The ID of the product listing for this app.
-        "authorized": True or False, # Whether the app is authorized to access data on the user's Drive.
-        "supportsCreate": True or False, # Whether this app supports creating new objects.
-        "supportsImport": True or False, # Whether this app supports importing Google Docs.
-        "openUrlTemplate": "A String", # The template url for opening files with this app. The template will contain {ids} and/or {exportIds} to be replaced by the actual file ids.
-        "longDescription": "A String", # A long description of the app.
-        "primaryMimeTypes": [ # The list of primary mime types.
-          "A String",
-        ],
-        "id": "A String", # The ID of the app.
-        "objectType": "A String", # The type of object this app creates (e.g. Chart). If empty, the app name should be used instead.
-      },
-    ],
-    "kind": "drive#appList", # This is always drive#appList.
-    "etag": "A String", # The ETag of the list.
-    "selfLink": "A String", # A link back to this list.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.changes.html b/docs/dyn/drive_v2.changes.html
deleted file mode 100644
index f069e26..0000000
--- a/docs/dyn/drive_v2.changes.html
+++ /dev/null
@@ -1,504 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="drive_v2.html">Drive API</a> . <a href="drive_v2.changes.html">changes</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(changeId)</a></code></p>
-<p class="firstline">Gets a specific change.</p>
-<p class="toc_element">
-  <code><a href="#list">list(includeSubscribed=None, includeDeleted=None, pageToken=None, maxResults=None, startChangeId=None)</a></code></p>
-<p class="firstline">Lists the changes for a user.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#watch">watch(body, includeSubscribed=None, includeDeleted=None, pageToken=None, maxResults=None, startChangeId=None)</a></code></p>
-<p class="firstline">Subscribe to changes for a user.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(changeId)</code>
-  <pre>Gets a specific change.
-
-Args:
-  changeId: string, The ID of the change. (required)
-
-Returns:
-  An object of the form:
-
-    { # Representation of a change to a file.
-    "kind": "drive#change", # This is always drive#change.
-    "deleted": True or False, # Whether the file has been deleted.
-    "file": { # The metadata for a file. # The updated state of the file. Present if the file has not been deleted.
-      "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
-      "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
-      "appDataContents": True or False, # Whether this file is in the appdata folder.
-      "thumbnailLink": "A String", # A link to the file's thumbnail.
-      "labels": { # A group of labels for the file.
-        "restricted": True or False, # Whether viewers are prevented from downloading this file.
-        "hidden": True or False, # Whether this file is hidden from the user.
-        "viewed": True or False, # Whether this file has been viewed by this user.
-        "starred": True or False, # Whether this file is starred by the user.
-        "trashed": True or False, # Whether this file has been trashed.
-      },
-      "indexableText": { # Indexable text attributes for the file (can only be written)
-        "text": "A String", # The text to be indexed for this file.
-      },
-      "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-      "lastModifyingUserName": "A String", # Name of the last user to modify this file.
-      "writersCanShare": True or False, # Whether writers can share the document with other users.
-      "owners": [ # The owner(s) of this file.
-        { # The JSON template for a user.
-          "picture": { # The user's profile picture.
-            "url": "A String", # A URL that points to a profile picture of this user.
-          },
-          "kind": "drive#user", # This is always drive#user.
-          "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-          "displayName": "A String", # A plain text displayable name for this user.
-          "permissionId": "A String", # The user's ID as visible in the permissions collection.
-        },
-      ],
-      "id": "A String", # The ID of the file.
-      "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
-        "picture": { # The user's profile picture.
-          "url": "A String", # A URL that points to a profile picture of this user.
-        },
-        "kind": "drive#user", # This is always drive#user.
-        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-        "displayName": "A String", # A plain text displayable name for this user.
-        "permissionId": "A String", # The user's ID as visible in the permissions collection.
-      },
-      "copyable": True or False, # Whether the file can be copied by the current user.
-      "ownerNames": [ # Name(s) of the owner(s) of this file.
-        "A String",
-      ],
-      "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
-      "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-      "etag": "A String", # ETag of the file.
-      "parents": [ # Collection of parent folders which contain this file.
-          # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
-        { # A reference to a file's parent.
-          "selfLink": "A String", # A link back to this reference.
-          "kind": "drive#parentReference", # This is always drive#parentReference.
-          "id": "A String", # The ID of the parent.
-          "isRoot": True or False, # Whether or not the parent is the root folder.
-          "parentLink": "A String", # A link to the parent.
-        },
-      ],
-      "exportLinks": { # Links for exporting Google Docs to specific formats.
-        "a_key": "A String", # A mapping from export format to URL
-      },
-      "shared": True or False, # Whether the file has been shared.
-      "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
-        "mimeType": "A String", # The MIME type of the thumbnail.
-        "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
-      },
-      "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
-        "a_key": "A String",
-      },
-      "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
-        "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
-        "exposureTime": 3.14, # The length of the exposure, in seconds.
-        "cameraMake": "A String", # The make of the camera used to create the photo.
-        "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
-        "isoSpeed": 42, # The ISO speed used to create the photo.
-        "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
-        "exposureMode": "A String", # The exposure mode used to create the photo.
-        "colorSpace": "A String", # The color space of the photo.
-        "location": { # Geographic location information stored in the image.
-          "latitude": 3.14, # The latitude stored in the image.
-          "altitude": 3.14, # The altitude stored in the image.
-          "longitude": 3.14, # The longitude stored in the image.
-        },
-        "subjectDistance": 42, # The distance to the subject of the photo, in meters.
-        "height": 42, # The height of the image in pixels.
-        "lens": "A String", # The lens used to create the photo.
-        "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
-        "width": 42, # The width of the image in pixels.
-        "meteringMode": "A String", # The metering mode used to create the photo.
-        "flashUsed": True or False, # Whether a flash was used to create the photo.
-        "aperture": 3.14, # The aperture used to create the photo (f-number).
-        "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
-        "sensor": "A String", # The type of sensor used to create the photo.
-        "whiteBalance": "A String", # The white balance mode used to create the photo.
-        "cameraModel": "A String", # The model of the camera used to create the photo.
-      },
-      "description": "A String", # A short description of the file.
-      "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-      "editable": True or False, # Whether the file can be edited by the current user.
-      "kind": "drive#file", # The type of file. This is always drive#file.
-      "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-      "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-      "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-      "properties": [ # The list of properties.
-        { # A key-value pair that is either public or private to an application.
-          "kind": "drive#property", # This is always drive#property.
-          "value": "A String", # The value of this property.
-          "etag": "A String", # ETag of the property.
-          "visibility": "A String", # The visibility of this property.
-          "key": "A String", # The key of this property.
-          "selfLink": "A String", # The link back to this property.
-        },
-      ],
-      "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-      "iconLink": "A String", # A link to the file's icon.
-      "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
-      "embedLink": "A String", # A link for embedding the file.
-      "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
-      "title": "A String", # The title of this file.
-      "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
-      "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
-      "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
-        "withLink": True or False, # Whether the link is required for this permission.
-        "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-        "name": "A String", # The name for this permission.
-        "kind": "drive#permission", # This is always drive#permission.
-        "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-        "id": "A String", # The ID of the permission.
-        "authKey": "A String", # The authkey parameter required for this permission.
-        "etag": "A String", # The ETag of the permission.
-        "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-        "photoLink": "A String", # A link to the profile photo, if available.
-        "role": "A String", # The primary role for this user. Allowed values are:
-            # - owner
-            # - reader
-            # - writer
-        "type": "A String", # The account type. Allowed values are:
-            # - user
-            # - group
-            # - domain
-            # - anyone
-        "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-          "A String",
-        ],
-        "selfLink": "A String", # A link back to this permission.
-      },
-      "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-      "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
-      "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
-      "selfLink": "A String", # A link back to this file.
-      "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
-    },
-    "modificationDate": "A String", # The time of this modification.
-    "id": "A String", # The ID of the change.
-    "selfLink": "A String", # A link back to this change.
-    "fileId": "A String", # The ID of the file associated with this change.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(includeSubscribed=None, includeDeleted=None, pageToken=None, maxResults=None, startChangeId=None)</code>
-  <pre>Lists the changes for a user.
-
-Args:
-  includeSubscribed: boolean, Whether to include shared files and public files the user has opened. When set to false, the list will include owned files plus any shared or public files the user has explictly added to a folder in Drive.
-  includeDeleted: boolean, Whether to include deleted items.
-  pageToken: string, Page token for changes.
-  maxResults: integer, Maximum number of changes to return.
-  startChangeId: string, Change ID to start listing changes from.
-
-Returns:
-  An object of the form:
-
-    { # A list of changes for a user.
-    "nextPageToken": "A String", # The page token for the next page of changes.
-    "kind": "drive#changeList", # This is always drive#changeList.
-    "items": [ # The actual list of changes.
-      { # Representation of a change to a file.
-        "kind": "drive#change", # This is always drive#change.
-        "deleted": True or False, # Whether the file has been deleted.
-        "file": { # The metadata for a file. # The updated state of the file. Present if the file has not been deleted.
-          "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
-          "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
-          "appDataContents": True or False, # Whether this file is in the appdata folder.
-          "thumbnailLink": "A String", # A link to the file's thumbnail.
-          "labels": { # A group of labels for the file.
-            "restricted": True or False, # Whether viewers are prevented from downloading this file.
-            "hidden": True or False, # Whether this file is hidden from the user.
-            "viewed": True or False, # Whether this file has been viewed by this user.
-            "starred": True or False, # Whether this file is starred by the user.
-            "trashed": True or False, # Whether this file has been trashed.
-          },
-          "indexableText": { # Indexable text attributes for the file (can only be written)
-            "text": "A String", # The text to be indexed for this file.
-          },
-          "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-          "lastModifyingUserName": "A String", # Name of the last user to modify this file.
-          "writersCanShare": True or False, # Whether writers can share the document with other users.
-          "owners": [ # The owner(s) of this file.
-            { # The JSON template for a user.
-              "picture": { # The user's profile picture.
-                "url": "A String", # A URL that points to a profile picture of this user.
-              },
-              "kind": "drive#user", # This is always drive#user.
-              "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-              "displayName": "A String", # A plain text displayable name for this user.
-              "permissionId": "A String", # The user's ID as visible in the permissions collection.
-            },
-          ],
-          "id": "A String", # The ID of the file.
-          "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
-            "picture": { # The user's profile picture.
-              "url": "A String", # A URL that points to a profile picture of this user.
-            },
-            "kind": "drive#user", # This is always drive#user.
-            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-            "displayName": "A String", # A plain text displayable name for this user.
-            "permissionId": "A String", # The user's ID as visible in the permissions collection.
-          },
-          "copyable": True or False, # Whether the file can be copied by the current user.
-          "ownerNames": [ # Name(s) of the owner(s) of this file.
-            "A String",
-          ],
-          "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
-          "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-          "etag": "A String", # ETag of the file.
-          "parents": [ # Collection of parent folders which contain this file.
-              # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
-            { # A reference to a file's parent.
-              "selfLink": "A String", # A link back to this reference.
-              "kind": "drive#parentReference", # This is always drive#parentReference.
-              "id": "A String", # The ID of the parent.
-              "isRoot": True or False, # Whether or not the parent is the root folder.
-              "parentLink": "A String", # A link to the parent.
-            },
-          ],
-          "exportLinks": { # Links for exporting Google Docs to specific formats.
-            "a_key": "A String", # A mapping from export format to URL
-          },
-          "shared": True or False, # Whether the file has been shared.
-          "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
-            "mimeType": "A String", # The MIME type of the thumbnail.
-            "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
-          },
-          "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
-            "a_key": "A String",
-          },
-          "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
-            "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
-            "exposureTime": 3.14, # The length of the exposure, in seconds.
-            "cameraMake": "A String", # The make of the camera used to create the photo.
-            "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
-            "isoSpeed": 42, # The ISO speed used to create the photo.
-            "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
-            "exposureMode": "A String", # The exposure mode used to create the photo.
-            "colorSpace": "A String", # The color space of the photo.
-            "location": { # Geographic location information stored in the image.
-              "latitude": 3.14, # The latitude stored in the image.
-              "altitude": 3.14, # The altitude stored in the image.
-              "longitude": 3.14, # The longitude stored in the image.
-            },
-            "subjectDistance": 42, # The distance to the subject of the photo, in meters.
-            "height": 42, # The height of the image in pixels.
-            "lens": "A String", # The lens used to create the photo.
-            "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
-            "width": 42, # The width of the image in pixels.
-            "meteringMode": "A String", # The metering mode used to create the photo.
-            "flashUsed": True or False, # Whether a flash was used to create the photo.
-            "aperture": 3.14, # The aperture used to create the photo (f-number).
-            "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
-            "sensor": "A String", # The type of sensor used to create the photo.
-            "whiteBalance": "A String", # The white balance mode used to create the photo.
-            "cameraModel": "A String", # The model of the camera used to create the photo.
-          },
-          "description": "A String", # A short description of the file.
-          "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-          "editable": True or False, # Whether the file can be edited by the current user.
-          "kind": "drive#file", # The type of file. This is always drive#file.
-          "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-          "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-          "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-          "properties": [ # The list of properties.
-            { # A key-value pair that is either public or private to an application.
-              "kind": "drive#property", # This is always drive#property.
-              "value": "A String", # The value of this property.
-              "etag": "A String", # ETag of the property.
-              "visibility": "A String", # The visibility of this property.
-              "key": "A String", # The key of this property.
-              "selfLink": "A String", # The link back to this property.
-            },
-          ],
-          "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-          "iconLink": "A String", # A link to the file's icon.
-          "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
-          "embedLink": "A String", # A link for embedding the file.
-          "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
-          "title": "A String", # The title of this file.
-          "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
-          "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
-          "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
-            "withLink": True or False, # Whether the link is required for this permission.
-            "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-            "name": "A String", # The name for this permission.
-            "kind": "drive#permission", # This is always drive#permission.
-            "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-            "id": "A String", # The ID of the permission.
-            "authKey": "A String", # The authkey parameter required for this permission.
-            "etag": "A String", # The ETag of the permission.
-            "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-            "photoLink": "A String", # A link to the profile photo, if available.
-            "role": "A String", # The primary role for this user. Allowed values are:
-                # - owner
-                # - reader
-                # - writer
-            "type": "A String", # The account type. Allowed values are:
-                # - user
-                # - group
-                # - domain
-                # - anyone
-            "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-              "A String",
-            ],
-            "selfLink": "A String", # A link back to this permission.
-          },
-          "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-          "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
-          "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
-          "selfLink": "A String", # A link back to this file.
-          "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
-        },
-        "modificationDate": "A String", # The time of this modification.
-        "id": "A String", # The ID of the change.
-        "selfLink": "A String", # A link back to this change.
-        "fileId": "A String", # The ID of the file associated with this change.
-      },
-    ],
-    "nextLink": "A String", # A link to the next page of changes.
-    "etag": "A String", # The ETag of the list.
-    "largestChangeId": "A String", # The current largest change ID.
-    "selfLink": "A String", # A link back to this list.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="watch">watch(body, includeSubscribed=None, includeDeleted=None, pageToken=None, maxResults=None, startChangeId=None)</code>
-  <pre>Subscribe to changes for a user.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "resourceUri": "A String", # The canonicalized ID of the watched resource.
-    "kind": "api#channel", # A channel watching an API resource
-    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
-    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
-    "params": { # Additional parameters controlling delivery channel behavior
-      "a_key": "A String", # Declares a new parameter by name.
-    },
-    "expiration": "A String", # The expiration instant for this channel if it is defined.
-    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
-    "type": "A String", # The type of delivery mechanism used by this channel
-    "id": "A String", # A UUID for the channel
-  }
-
-  includeSubscribed: boolean, Whether to include shared files and public files the user has opened. When set to false, the list will include owned files plus any shared or public files the user has explictly added to a folder in Drive.
-  includeDeleted: boolean, Whether to include deleted items.
-  pageToken: string, Page token for changes.
-  maxResults: integer, Maximum number of changes to return.
-  startChangeId: string, Change ID to start listing changes from.
-
-Returns:
-  An object of the form:
-
-    {
-      "resourceUri": "A String", # The canonicalized ID of the watched resource.
-      "kind": "api#channel", # A channel watching an API resource
-      "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
-      "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
-      "params": { # Additional parameters controlling delivery channel behavior
-        "a_key": "A String", # Declares a new parameter by name.
-      },
-      "expiration": "A String", # The expiration instant for this channel if it is defined.
-      "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
-      "type": "A String", # The type of delivery mechanism used by this channel
-      "id": "A String", # A UUID for the channel
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.channels.html b/docs/dyn/drive_v2.channels.html
deleted file mode 100644
index 6eaf6f7..0000000
--- a/docs/dyn/drive_v2.channels.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="drive_v2.html">Drive API</a> . <a href="drive_v2.channels.html">channels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#stop">stop(body)</a></code></p>
-<p class="firstline">A description of how to use this function</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="stop">stop(body)</code>
-  <pre>A description of how to use this function
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "resourceUri": "A String", # The canonicalized ID of the watched resource.
-    "kind": "api#channel", # A channel watching an API resource
-    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
-    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
-    "params": { # Additional parameters controlling delivery channel behavior
-      "a_key": "A String", # Declares a new parameter by name.
-    },
-    "expiration": "A String", # The expiration instant for this channel if it is defined.
-    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
-    "type": "A String", # The type of delivery mechanism used by this channel
-    "id": "A String", # A UUID for the channel
-  }
-
-</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.children.html b/docs/dyn/drive_v2.children.html
deleted file mode 100644
index 6babcde..0000000
--- a/docs/dyn/drive_v2.children.html
+++ /dev/null
@@ -1,194 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="drive_v2.html">Drive API</a> . <a href="drive_v2.children.html">children</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(folderId, childId)</a></code></p>
-<p class="firstline">Removes a child from a folder.</p>
-<p class="toc_element">
-  <code><a href="#get">get(folderId, childId)</a></code></p>
-<p class="firstline">Gets a specific child reference.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(folderId, body)</a></code></p>
-<p class="firstline">Inserts a file into a folder.</p>
-<p class="toc_element">
-  <code><a href="#list">list(folderId, q=None, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Lists a folder's children.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(folderId, childId)</code>
-  <pre>Removes a child from a folder.
-
-Args:
-  folderId: string, The ID of the folder. (required)
-  childId: string, The ID of the child. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(folderId, childId)</code>
-  <pre>Gets a specific child reference.
-
-Args:
-  folderId: string, The ID of the folder. (required)
-  childId: string, The ID of the child. (required)
-
-Returns:
-  An object of the form:
-
-    { # A reference to a folder's child.
-      "kind": "drive#childReference", # This is always drive#childReference.
-      "childLink": "A String", # A link to the child.
-      "id": "A String", # The ID of the child.
-      "selfLink": "A String", # A link back to this reference.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(folderId, body)</code>
-  <pre>Inserts a file into a folder.
-
-Args:
-  folderId: string, The ID of the folder. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A reference to a folder's child.
-    "kind": "drive#childReference", # This is always drive#childReference.
-    "childLink": "A String", # A link to the child.
-    "id": "A String", # The ID of the child.
-    "selfLink": "A String", # A link back to this reference.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A reference to a folder's child.
-      "kind": "drive#childReference", # This is always drive#childReference.
-      "childLink": "A String", # A link to the child.
-      "id": "A String", # The ID of the child.
-      "selfLink": "A String", # A link back to this reference.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(folderId, q=None, pageToken=None, maxResults=None)</code>
-  <pre>Lists a folder's children.
-
-Args:
-  folderId: string, The ID of the folder. (required)
-  q: string, Query string for searching children.
-  pageToken: string, Page token for children.
-  maxResults: integer, Maximum number of children to return.
-
-Returns:
-  An object of the form:
-
-    { # A list of children of a file.
-    "nextPageToken": "A String", # The page token for the next page of children.
-    "kind": "drive#childList", # This is always drive#childList.
-    "items": [ # The actual list of children.
-      { # A reference to a folder's child.
-          "kind": "drive#childReference", # This is always drive#childReference.
-          "childLink": "A String", # A link to the child.
-          "id": "A String", # The ID of the child.
-          "selfLink": "A String", # A link back to this reference.
-        },
-    ],
-    "nextLink": "A String", # A link to the next page of children.
-    "etag": "A String", # The ETag of the list.
-    "selfLink": "A String", # A link back to this list.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.comments.html b/docs/dyn/drive_v2.comments.html
deleted file mode 100644
index 5d95ed3..0000000
--- a/docs/dyn/drive_v2.comments.html
+++ /dev/null
@@ -1,627 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="drive_v2.html">Drive API</a> . <a href="drive_v2.comments.html">comments</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(fileId, commentId)</a></code></p>
-<p class="firstline">Deletes a comment.</p>
-<p class="toc_element">
-  <code><a href="#get">get(fileId, commentId, includeDeleted=None)</a></code></p>
-<p class="firstline">Gets a comment by ID.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(fileId, body)</a></code></p>
-<p class="firstline">Creates a new comment on the given file.</p>
-<p class="toc_element">
-  <code><a href="#list">list(fileId, includeDeleted=None, pageToken=None, updatedMin=None, maxResults=None)</a></code></p>
-<p class="firstline">Lists a file's comments.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(fileId, commentId, body)</a></code></p>
-<p class="firstline">Updates an existing comment. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(fileId, commentId, body)</a></code></p>
-<p class="firstline">Updates an existing comment.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(fileId, commentId)</code>
-  <pre>Deletes a comment.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  commentId: string, The ID of the comment. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(fileId, commentId, includeDeleted=None)</code>
-  <pre>Gets a comment by ID.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  commentId: string, The ID of the comment. (required)
-  includeDeleted: boolean, If set, this will succeed when retrieving a deleted comment, and will include any deleted replies.
-
-Returns:
-  An object of the form:
-
-    { # A JSON representation of a comment on a file in Google Drive.
-      "status": "A String", # The status of this comment. Status can be changed by posting a reply to a comment with the desired status.
-          # - "open" - The comment is still open.
-          # - "resolved" - The comment has been resolved by one of its replies.
-      "selfLink": "A String", # A link back to this comment.
-      "kind": "drive#comment", # This is always drive#comment.
-      "author": { # The JSON template for a user. # The user who wrote this comment.
-        "picture": { # The user's profile picture.
-          "url": "A String", # A URL that points to a profile picture of this user.
-        },
-        "kind": "drive#user", # This is always drive#user.
-        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-        "displayName": "A String", # A plain text displayable name for this user.
-        "permissionId": "A String", # The user's ID as visible in the permissions collection.
-      },
-      "deleted": True or False, # Whether this comment has been deleted. If a comment has been deleted the content will be cleared and this will only represent a comment that once existed.
-      "replies": [ # Replies to this post.
-        { # A JSON representation of a reply to a comment on a file in Google Drive.
-          "kind": "drive#commentReply", # This is always drive#commentReply.
-          "author": { # The JSON template for a user. # The user who wrote this reply.
-            "picture": { # The user's profile picture.
-              "url": "A String", # A URL that points to a profile picture of this user.
-            },
-            "kind": "drive#user", # This is always drive#user.
-            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-            "displayName": "A String", # A plain text displayable name for this user.
-            "permissionId": "A String", # The user's ID as visible in the permissions collection.
-          },
-          "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
-          "htmlContent": "A String", # HTML formatted content for this reply.
-          "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
-          "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
-              # - "resolve" - To resolve a comment.
-              # - "reopen" - To reopen (un-resolve) a comment.
-          "replyId": "A String", # The ID of the reply.
-          "modifiedDate": "A String", # The date when this reply was last modified.
-          "createdDate": "A String", # The date when this reply was first created.
-        },
-      ],
-      "htmlContent": "A String", # HTML formatted content for this comment.
-      "content": "A String", # The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content.
-      "modifiedDate": "A String", # The date when this comment or any of its replies were last modified.
-      "context": { # The context of the file which is being commented on.
-        "type": "A String", # The MIME type of the context snippet.
-        "value": "A String", # Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about.
-      },
-      "createdDate": "A String", # The date when this comment was first created.
-      "commentId": "A String", # The ID of the comment.
-      "anchor": "A String", # A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties.
-      "fileTitle": "A String", # The title of the file which this comment is addressing.
-      "fileId": "A String", # The file which this comment is addressing.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(fileId, body)</code>
-  <pre>Creates a new comment on the given file.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A JSON representation of a comment on a file in Google Drive.
-    "status": "A String", # The status of this comment. Status can be changed by posting a reply to a comment with the desired status.
-        # - "open" - The comment is still open.
-        # - "resolved" - The comment has been resolved by one of its replies.
-    "selfLink": "A String", # A link back to this comment.
-    "kind": "drive#comment", # This is always drive#comment.
-    "author": { # The JSON template for a user. # The user who wrote this comment.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-    "deleted": True or False, # Whether this comment has been deleted. If a comment has been deleted the content will be cleared and this will only represent a comment that once existed.
-    "replies": [ # Replies to this post.
-      { # A JSON representation of a reply to a comment on a file in Google Drive.
-        "kind": "drive#commentReply", # This is always drive#commentReply.
-        "author": { # The JSON template for a user. # The user who wrote this reply.
-          "picture": { # The user's profile picture.
-            "url": "A String", # A URL that points to a profile picture of this user.
-          },
-          "kind": "drive#user", # This is always drive#user.
-          "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-          "displayName": "A String", # A plain text displayable name for this user.
-          "permissionId": "A String", # The user's ID as visible in the permissions collection.
-        },
-        "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
-        "htmlContent": "A String", # HTML formatted content for this reply.
-        "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
-        "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
-            # - "resolve" - To resolve a comment.
-            # - "reopen" - To reopen (un-resolve) a comment.
-        "replyId": "A String", # The ID of the reply.
-        "modifiedDate": "A String", # The date when this reply was last modified.
-        "createdDate": "A String", # The date when this reply was first created.
-      },
-    ],
-    "htmlContent": "A String", # HTML formatted content for this comment.
-    "content": "A String", # The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content.
-    "modifiedDate": "A String", # The date when this comment or any of its replies were last modified.
-    "context": { # The context of the file which is being commented on.
-      "type": "A String", # The MIME type of the context snippet.
-      "value": "A String", # Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about.
-    },
-    "createdDate": "A String", # The date when this comment was first created.
-    "commentId": "A String", # The ID of the comment.
-    "anchor": "A String", # A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties.
-    "fileTitle": "A String", # The title of the file which this comment is addressing.
-    "fileId": "A String", # The file which this comment is addressing.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A JSON representation of a comment on a file in Google Drive.
-      "status": "A String", # The status of this comment. Status can be changed by posting a reply to a comment with the desired status.
-          # - "open" - The comment is still open.
-          # - "resolved" - The comment has been resolved by one of its replies.
-      "selfLink": "A String", # A link back to this comment.
-      "kind": "drive#comment", # This is always drive#comment.
-      "author": { # The JSON template for a user. # The user who wrote this comment.
-        "picture": { # The user's profile picture.
-          "url": "A String", # A URL that points to a profile picture of this user.
-        },
-        "kind": "drive#user", # This is always drive#user.
-        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-        "displayName": "A String", # A plain text displayable name for this user.
-        "permissionId": "A String", # The user's ID as visible in the permissions collection.
-      },
-      "deleted": True or False, # Whether this comment has been deleted. If a comment has been deleted the content will be cleared and this will only represent a comment that once existed.
-      "replies": [ # Replies to this post.
-        { # A JSON representation of a reply to a comment on a file in Google Drive.
-          "kind": "drive#commentReply", # This is always drive#commentReply.
-          "author": { # The JSON template for a user. # The user who wrote this reply.
-            "picture": { # The user's profile picture.
-              "url": "A String", # A URL that points to a profile picture of this user.
-            },
-            "kind": "drive#user", # This is always drive#user.
-            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-            "displayName": "A String", # A plain text displayable name for this user.
-            "permissionId": "A String", # The user's ID as visible in the permissions collection.
-          },
-          "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
-          "htmlContent": "A String", # HTML formatted content for this reply.
-          "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
-          "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
-              # - "resolve" - To resolve a comment.
-              # - "reopen" - To reopen (un-resolve) a comment.
-          "replyId": "A String", # The ID of the reply.
-          "modifiedDate": "A String", # The date when this reply was last modified.
-          "createdDate": "A String", # The date when this reply was first created.
-        },
-      ],
-      "htmlContent": "A String", # HTML formatted content for this comment.
-      "content": "A String", # The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content.
-      "modifiedDate": "A String", # The date when this comment or any of its replies were last modified.
-      "context": { # The context of the file which is being commented on.
-        "type": "A String", # The MIME type of the context snippet.
-        "value": "A String", # Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about.
-      },
-      "createdDate": "A String", # The date when this comment was first created.
-      "commentId": "A String", # The ID of the comment.
-      "anchor": "A String", # A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties.
-      "fileTitle": "A String", # The title of the file which this comment is addressing.
-      "fileId": "A String", # The file which this comment is addressing.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(fileId, includeDeleted=None, pageToken=None, updatedMin=None, maxResults=None)</code>
-  <pre>Lists a file's comments.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  includeDeleted: boolean, If set, all comments and replies, including deleted comments and replies (with content stripped) will be returned.
-  pageToken: string, The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
-  updatedMin: string, Only discussions that were updated after this timestamp will be returned. Formatted as an RFC 3339 timestamp.
-  maxResults: integer, The maximum number of discussions to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    { # A JSON representation of a list of comments on a file in Google Drive.
-    "nextPageToken": "A String", # The token to use to request the next page of results.
-    "items": [ # List of comments.
-      { # A JSON representation of a comment on a file in Google Drive.
-          "status": "A String", # The status of this comment. Status can be changed by posting a reply to a comment with the desired status.
-              # - "open" - The comment is still open.
-              # - "resolved" - The comment has been resolved by one of its replies.
-          "selfLink": "A String", # A link back to this comment.
-          "kind": "drive#comment", # This is always drive#comment.
-          "author": { # The JSON template for a user. # The user who wrote this comment.
-            "picture": { # The user's profile picture.
-              "url": "A String", # A URL that points to a profile picture of this user.
-            },
-            "kind": "drive#user", # This is always drive#user.
-            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-            "displayName": "A String", # A plain text displayable name for this user.
-            "permissionId": "A String", # The user's ID as visible in the permissions collection.
-          },
-          "deleted": True or False, # Whether this comment has been deleted. If a comment has been deleted the content will be cleared and this will only represent a comment that once existed.
-          "replies": [ # Replies to this post.
-            { # A JSON representation of a reply to a comment on a file in Google Drive.
-              "kind": "drive#commentReply", # This is always drive#commentReply.
-              "author": { # The JSON template for a user. # The user who wrote this reply.
-                "picture": { # The user's profile picture.
-                  "url": "A String", # A URL that points to a profile picture of this user.
-                },
-                "kind": "drive#user", # This is always drive#user.
-                "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-                "displayName": "A String", # A plain text displayable name for this user.
-                "permissionId": "A String", # The user's ID as visible in the permissions collection.
-              },
-              "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
-              "htmlContent": "A String", # HTML formatted content for this reply.
-              "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
-              "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
-                  # - "resolve" - To resolve a comment.
-                  # - "reopen" - To reopen (un-resolve) a comment.
-              "replyId": "A String", # The ID of the reply.
-              "modifiedDate": "A String", # The date when this reply was last modified.
-              "createdDate": "A String", # The date when this reply was first created.
-            },
-          ],
-          "htmlContent": "A String", # HTML formatted content for this comment.
-          "content": "A String", # The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content.
-          "modifiedDate": "A String", # The date when this comment or any of its replies were last modified.
-          "context": { # The context of the file which is being commented on.
-            "type": "A String", # The MIME type of the context snippet.
-            "value": "A String", # Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about.
-          },
-          "createdDate": "A String", # The date when this comment was first created.
-          "commentId": "A String", # The ID of the comment.
-          "anchor": "A String", # A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties.
-          "fileTitle": "A String", # The title of the file which this comment is addressing.
-          "fileId": "A String", # The file which this comment is addressing.
-        },
-    ],
-    "kind": "drive#commentList", # This is always drive#commentList.
-    "selfLink": "A String", # A link back to this list.
-    "nextLink": "A String", # A link to the next page of comments.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(fileId, commentId, body)</code>
-  <pre>Updates an existing comment. This method supports patch semantics.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  commentId: string, The ID of the comment. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A JSON representation of a comment on a file in Google Drive.
-    "status": "A String", # The status of this comment. Status can be changed by posting a reply to a comment with the desired status.
-        # - "open" - The comment is still open.
-        # - "resolved" - The comment has been resolved by one of its replies.
-    "selfLink": "A String", # A link back to this comment.
-    "kind": "drive#comment", # This is always drive#comment.
-    "author": { # The JSON template for a user. # The user who wrote this comment.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-    "deleted": True or False, # Whether this comment has been deleted. If a comment has been deleted the content will be cleared and this will only represent a comment that once existed.
-    "replies": [ # Replies to this post.
-      { # A JSON representation of a reply to a comment on a file in Google Drive.
-        "kind": "drive#commentReply", # This is always drive#commentReply.
-        "author": { # The JSON template for a user. # The user who wrote this reply.
-          "picture": { # The user's profile picture.
-            "url": "A String", # A URL that points to a profile picture of this user.
-          },
-          "kind": "drive#user", # This is always drive#user.
-          "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-          "displayName": "A String", # A plain text displayable name for this user.
-          "permissionId": "A String", # The user's ID as visible in the permissions collection.
-        },
-        "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
-        "htmlContent": "A String", # HTML formatted content for this reply.
-        "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
-        "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
-            # - "resolve" - To resolve a comment.
-            # - "reopen" - To reopen (un-resolve) a comment.
-        "replyId": "A String", # The ID of the reply.
-        "modifiedDate": "A String", # The date when this reply was last modified.
-        "createdDate": "A String", # The date when this reply was first created.
-      },
-    ],
-    "htmlContent": "A String", # HTML formatted content for this comment.
-    "content": "A String", # The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content.
-    "modifiedDate": "A String", # The date when this comment or any of its replies were last modified.
-    "context": { # The context of the file which is being commented on.
-      "type": "A String", # The MIME type of the context snippet.
-      "value": "A String", # Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about.
-    },
-    "createdDate": "A String", # The date when this comment was first created.
-    "commentId": "A String", # The ID of the comment.
-    "anchor": "A String", # A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties.
-    "fileTitle": "A String", # The title of the file which this comment is addressing.
-    "fileId": "A String", # The file which this comment is addressing.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A JSON representation of a comment on a file in Google Drive.
-      "status": "A String", # The status of this comment. Status can be changed by posting a reply to a comment with the desired status.
-          # - "open" - The comment is still open.
-          # - "resolved" - The comment has been resolved by one of its replies.
-      "selfLink": "A String", # A link back to this comment.
-      "kind": "drive#comment", # This is always drive#comment.
-      "author": { # The JSON template for a user. # The user who wrote this comment.
-        "picture": { # The user's profile picture.
-          "url": "A String", # A URL that points to a profile picture of this user.
-        },
-        "kind": "drive#user", # This is always drive#user.
-        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-        "displayName": "A String", # A plain text displayable name for this user.
-        "permissionId": "A String", # The user's ID as visible in the permissions collection.
-      },
-      "deleted": True or False, # Whether this comment has been deleted. If a comment has been deleted the content will be cleared and this will only represent a comment that once existed.
-      "replies": [ # Replies to this post.
-        { # A JSON representation of a reply to a comment on a file in Google Drive.
-          "kind": "drive#commentReply", # This is always drive#commentReply.
-          "author": { # The JSON template for a user. # The user who wrote this reply.
-            "picture": { # The user's profile picture.
-              "url": "A String", # A URL that points to a profile picture of this user.
-            },
-            "kind": "drive#user", # This is always drive#user.
-            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-            "displayName": "A String", # A plain text displayable name for this user.
-            "permissionId": "A String", # The user's ID as visible in the permissions collection.
-          },
-          "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
-          "htmlContent": "A String", # HTML formatted content for this reply.
-          "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
-          "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
-              # - "resolve" - To resolve a comment.
-              # - "reopen" - To reopen (un-resolve) a comment.
-          "replyId": "A String", # The ID of the reply.
-          "modifiedDate": "A String", # The date when this reply was last modified.
-          "createdDate": "A String", # The date when this reply was first created.
-        },
-      ],
-      "htmlContent": "A String", # HTML formatted content for this comment.
-      "content": "A String", # The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content.
-      "modifiedDate": "A String", # The date when this comment or any of its replies were last modified.
-      "context": { # The context of the file which is being commented on.
-        "type": "A String", # The MIME type of the context snippet.
-        "value": "A String", # Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about.
-      },
-      "createdDate": "A String", # The date when this comment was first created.
-      "commentId": "A String", # The ID of the comment.
-      "anchor": "A String", # A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties.
-      "fileTitle": "A String", # The title of the file which this comment is addressing.
-      "fileId": "A String", # The file which this comment is addressing.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(fileId, commentId, body)</code>
-  <pre>Updates an existing comment.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  commentId: string, The ID of the comment. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A JSON representation of a comment on a file in Google Drive.
-    "status": "A String", # The status of this comment. Status can be changed by posting a reply to a comment with the desired status.
-        # - "open" - The comment is still open.
-        # - "resolved" - The comment has been resolved by one of its replies.
-    "selfLink": "A String", # A link back to this comment.
-    "kind": "drive#comment", # This is always drive#comment.
-    "author": { # The JSON template for a user. # The user who wrote this comment.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-    "deleted": True or False, # Whether this comment has been deleted. If a comment has been deleted the content will be cleared and this will only represent a comment that once existed.
-    "replies": [ # Replies to this post.
-      { # A JSON representation of a reply to a comment on a file in Google Drive.
-        "kind": "drive#commentReply", # This is always drive#commentReply.
-        "author": { # The JSON template for a user. # The user who wrote this reply.
-          "picture": { # The user's profile picture.
-            "url": "A String", # A URL that points to a profile picture of this user.
-          },
-          "kind": "drive#user", # This is always drive#user.
-          "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-          "displayName": "A String", # A plain text displayable name for this user.
-          "permissionId": "A String", # The user's ID as visible in the permissions collection.
-        },
-        "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
-        "htmlContent": "A String", # HTML formatted content for this reply.
-        "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
-        "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
-            # - "resolve" - To resolve a comment.
-            # - "reopen" - To reopen (un-resolve) a comment.
-        "replyId": "A String", # The ID of the reply.
-        "modifiedDate": "A String", # The date when this reply was last modified.
-        "createdDate": "A String", # The date when this reply was first created.
-      },
-    ],
-    "htmlContent": "A String", # HTML formatted content for this comment.
-    "content": "A String", # The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content.
-    "modifiedDate": "A String", # The date when this comment or any of its replies were last modified.
-    "context": { # The context of the file which is being commented on.
-      "type": "A String", # The MIME type of the context snippet.
-      "value": "A String", # Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about.
-    },
-    "createdDate": "A String", # The date when this comment was first created.
-    "commentId": "A String", # The ID of the comment.
-    "anchor": "A String", # A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties.
-    "fileTitle": "A String", # The title of the file which this comment is addressing.
-    "fileId": "A String", # The file which this comment is addressing.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A JSON representation of a comment on a file in Google Drive.
-      "status": "A String", # The status of this comment. Status can be changed by posting a reply to a comment with the desired status.
-          # - "open" - The comment is still open.
-          # - "resolved" - The comment has been resolved by one of its replies.
-      "selfLink": "A String", # A link back to this comment.
-      "kind": "drive#comment", # This is always drive#comment.
-      "author": { # The JSON template for a user. # The user who wrote this comment.
-        "picture": { # The user's profile picture.
-          "url": "A String", # A URL that points to a profile picture of this user.
-        },
-        "kind": "drive#user", # This is always drive#user.
-        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-        "displayName": "A String", # A plain text displayable name for this user.
-        "permissionId": "A String", # The user's ID as visible in the permissions collection.
-      },
-      "deleted": True or False, # Whether this comment has been deleted. If a comment has been deleted the content will be cleared and this will only represent a comment that once existed.
-      "replies": [ # Replies to this post.
-        { # A JSON representation of a reply to a comment on a file in Google Drive.
-          "kind": "drive#commentReply", # This is always drive#commentReply.
-          "author": { # The JSON template for a user. # The user who wrote this reply.
-            "picture": { # The user's profile picture.
-              "url": "A String", # A URL that points to a profile picture of this user.
-            },
-            "kind": "drive#user", # This is always drive#user.
-            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-            "displayName": "A String", # A plain text displayable name for this user.
-            "permissionId": "A String", # The user's ID as visible in the permissions collection.
-          },
-          "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
-          "htmlContent": "A String", # HTML formatted content for this reply.
-          "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
-          "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
-              # - "resolve" - To resolve a comment.
-              # - "reopen" - To reopen (un-resolve) a comment.
-          "replyId": "A String", # The ID of the reply.
-          "modifiedDate": "A String", # The date when this reply was last modified.
-          "createdDate": "A String", # The date when this reply was first created.
-        },
-      ],
-      "htmlContent": "A String", # HTML formatted content for this comment.
-      "content": "A String", # The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content.
-      "modifiedDate": "A String", # The date when this comment or any of its replies were last modified.
-      "context": { # The context of the file which is being commented on.
-        "type": "A String", # The MIME type of the context snippet.
-        "value": "A String", # Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about.
-      },
-      "createdDate": "A String", # The date when this comment was first created.
-      "commentId": "A String", # The ID of the comment.
-      "anchor": "A String", # A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties.
-      "fileTitle": "A String", # The title of the file which this comment is addressing.
-      "fileId": "A String", # The file which this comment is addressing.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.files.html b/docs/dyn/drive_v2.files.html
deleted file mode 100644
index acbcd80..0000000
--- a/docs/dyn/drive_v2.files.html
+++ /dev/null
@@ -1,2320 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="drive_v2.html">Drive API</a> . <a href="drive_v2.files.html">files</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#copy">copy(fileId, body, pinned=None, convert=None, visibility=None, ocrLanguage=None, ocr=None, timedTextLanguage=None, timedTextTrackName=None)</a></code></p>
-<p class="firstline">Creates a copy of the specified file.</p>
-<p class="toc_element">
-  <code><a href="#delete">delete(fileId)</a></code></p>
-<p class="firstline">Permanently deletes a file by ID. Skips the trash.</p>
-<p class="toc_element">
-  <code><a href="#get">get(fileId, projection=None, updateViewedDate=None)</a></code></p>
-<p class="firstline">Gets a file's metadata by ID.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(body=None, media_body=None, convert=None, useContentAsIndexableText=None, visibility=None, ocrLanguage=None, ocr=None, timedTextLanguage=None, timedTextTrackName=None, pinned=None)</a></code></p>
-<p class="firstline">Insert a new file.</p>
-<p class="toc_element">
-  <code><a href="#list">list(q=None, projection=None, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Lists the user's files.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(fileId, body, newRevision=None, pinned=None, ocrLanguage=None, ocr=None, updateViewedDate=None, timedTextTrackName=None, convert=None, useContentAsIndexableText=None, setModifiedDate=None, timedTextLanguage=None)</a></code></p>
-<p class="firstline">Updates file metadata and/or content. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#touch">touch(fileId)</a></code></p>
-<p class="firstline">Set the file's updated time to the current server time.</p>
-<p class="toc_element">
-  <code><a href="#trash">trash(fileId)</a></code></p>
-<p class="firstline">Moves a file to the trash.</p>
-<p class="toc_element">
-  <code><a href="#untrash">untrash(fileId)</a></code></p>
-<p class="firstline">Restores a file from the trash.</p>
-<p class="toc_element">
-  <code><a href="#update">update(fileId, body=None, newRevision=None, media_body=None, ocrLanguage=None, ocr=None, pinned=None, updateViewedDate=None, timedTextTrackName=None, convert=None, useContentAsIndexableText=None, setModifiedDate=None, timedTextLanguage=None)</a></code></p>
-<p class="firstline">Updates file metadata and/or content.</p>
-<p class="toc_element">
-  <code><a href="#watch">watch(fileId, body, projection=None, updateViewedDate=None)</a></code></p>
-<p class="firstline">Subscribe to changes on a file</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="copy">copy(fileId, body, pinned=None, convert=None, visibility=None, ocrLanguage=None, ocr=None, timedTextLanguage=None, timedTextTrackName=None)</code>
-  <pre>Creates a copy of the specified file.
-
-Args:
-  fileId: string, The ID of the file to copy. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # The metadata for a file.
-  "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
-  "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
-  "appDataContents": True or False, # Whether this file is in the appdata folder.
-  "thumbnailLink": "A String", # A link to the file's thumbnail.
-  "labels": { # A group of labels for the file.
-    "restricted": True or False, # Whether viewers are prevented from downloading this file.
-    "hidden": True or False, # Whether this file is hidden from the user.
-    "viewed": True or False, # Whether this file has been viewed by this user.
-    "starred": True or False, # Whether this file is starred by the user.
-    "trashed": True or False, # Whether this file has been trashed.
-  },
-  "indexableText": { # Indexable text attributes for the file (can only be written)
-    "text": "A String", # The text to be indexed for this file.
-  },
-  "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-  "lastModifyingUserName": "A String", # Name of the last user to modify this file.
-  "writersCanShare": True or False, # Whether writers can share the document with other users.
-  "owners": [ # The owner(s) of this file.
-    { # The JSON template for a user.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-  ],
-  "id": "A String", # The ID of the file.
-  "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
-    "picture": { # The user's profile picture.
-      "url": "A String", # A URL that points to a profile picture of this user.
-    },
-    "kind": "drive#user", # This is always drive#user.
-    "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-    "displayName": "A String", # A plain text displayable name for this user.
-    "permissionId": "A String", # The user's ID as visible in the permissions collection.
-  },
-  "copyable": True or False, # Whether the file can be copied by the current user.
-  "ownerNames": [ # Name(s) of the owner(s) of this file.
-    "A String",
-  ],
-  "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
-  "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-  "etag": "A String", # ETag of the file.
-  "parents": [ # Collection of parent folders which contain this file.
-      # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
-    { # A reference to a file's parent.
-      "selfLink": "A String", # A link back to this reference.
-      "kind": "drive#parentReference", # This is always drive#parentReference.
-      "id": "A String", # The ID of the parent.
-      "isRoot": True or False, # Whether or not the parent is the root folder.
-      "parentLink": "A String", # A link to the parent.
-    },
-  ],
-  "exportLinks": { # Links for exporting Google Docs to specific formats.
-    "a_key": "A String", # A mapping from export format to URL
-  },
-  "shared": True or False, # Whether the file has been shared.
-  "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
-    "mimeType": "A String", # The MIME type of the thumbnail.
-    "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
-  },
-  "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
-    "a_key": "A String",
-  },
-  "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
-    "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
-    "exposureTime": 3.14, # The length of the exposure, in seconds.
-    "cameraMake": "A String", # The make of the camera used to create the photo.
-    "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
-    "isoSpeed": 42, # The ISO speed used to create the photo.
-    "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
-    "exposureMode": "A String", # The exposure mode used to create the photo.
-    "colorSpace": "A String", # The color space of the photo.
-    "location": { # Geographic location information stored in the image.
-      "latitude": 3.14, # The latitude stored in the image.
-      "altitude": 3.14, # The altitude stored in the image.
-      "longitude": 3.14, # The longitude stored in the image.
-    },
-    "subjectDistance": 42, # The distance to the subject of the photo, in meters.
-    "height": 42, # The height of the image in pixels.
-    "lens": "A String", # The lens used to create the photo.
-    "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
-    "width": 42, # The width of the image in pixels.
-    "meteringMode": "A String", # The metering mode used to create the photo.
-    "flashUsed": True or False, # Whether a flash was used to create the photo.
-    "aperture": 3.14, # The aperture used to create the photo (f-number).
-    "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
-    "sensor": "A String", # The type of sensor used to create the photo.
-    "whiteBalance": "A String", # The white balance mode used to create the photo.
-    "cameraModel": "A String", # The model of the camera used to create the photo.
-  },
-  "description": "A String", # A short description of the file.
-  "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-  "editable": True or False, # Whether the file can be edited by the current user.
-  "kind": "drive#file", # The type of file. This is always drive#file.
-  "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-  "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-  "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-  "properties": [ # The list of properties.
-    { # A key-value pair that is either public or private to an application.
-      "kind": "drive#property", # This is always drive#property.
-      "value": "A String", # The value of this property.
-      "etag": "A String", # ETag of the property.
-      "visibility": "A String", # The visibility of this property.
-      "key": "A String", # The key of this property.
-      "selfLink": "A String", # The link back to this property.
-    },
-  ],
-  "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-  "iconLink": "A String", # A link to the file's icon.
-  "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
-  "embedLink": "A String", # A link for embedding the file.
-  "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
-  "title": "A String", # The title of this file.
-  "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
-  "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
-  "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
-    "withLink": True or False, # Whether the link is required for this permission.
-    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-    "name": "A String", # The name for this permission.
-    "kind": "drive#permission", # This is always drive#permission.
-    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-    "id": "A String", # The ID of the permission.
-    "authKey": "A String", # The authkey parameter required for this permission.
-    "etag": "A String", # The ETag of the permission.
-    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-    "photoLink": "A String", # A link to the profile photo, if available.
-    "role": "A String", # The primary role for this user. Allowed values are:
-        # - owner
-        # - reader
-        # - writer
-    "type": "A String", # The account type. Allowed values are:
-        # - user
-        # - group
-        # - domain
-        # - anyone
-    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-      "A String",
-    ],
-    "selfLink": "A String", # A link back to this permission.
-  },
-  "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-  "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
-  "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
-  "selfLink": "A String", # A link back to this file.
-  "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
-}
-
-  pinned: boolean, Whether to pin the head revision of the new copy.
-  convert: boolean, Whether to convert this file to the corresponding Google Docs format.
-  visibility: string, The visibility of the new file. This parameter is only relevant when the source is not a native Google Doc and convert=false.
-    Allowed values
-      DEFAULT - The visibility of the new file is determined by the user's default visibility/sharing policies.
-      PRIVATE - The new file will be visible to only the owner.
-  ocrLanguage: string, If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes.
-  ocr: boolean, Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.
-  timedTextLanguage: string, The language of the timed text.
-  timedTextTrackName: string, The timed text track name.
-
-Returns:
-  An object of the form:
-
-    { # The metadata for a file.
-    "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
-    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
-    "appDataContents": True or False, # Whether this file is in the appdata folder.
-    "thumbnailLink": "A String", # A link to the file's thumbnail.
-    "labels": { # A group of labels for the file.
-      "restricted": True or False, # Whether viewers are prevented from downloading this file.
-      "hidden": True or False, # Whether this file is hidden from the user.
-      "viewed": True or False, # Whether this file has been viewed by this user.
-      "starred": True or False, # Whether this file is starred by the user.
-      "trashed": True or False, # Whether this file has been trashed.
-    },
-    "indexableText": { # Indexable text attributes for the file (can only be written)
-      "text": "A String", # The text to be indexed for this file.
-    },
-    "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-    "lastModifyingUserName": "A String", # Name of the last user to modify this file.
-    "writersCanShare": True or False, # Whether writers can share the document with other users.
-    "owners": [ # The owner(s) of this file.
-      { # The JSON template for a user.
-        "picture": { # The user's profile picture.
-          "url": "A String", # A URL that points to a profile picture of this user.
-        },
-        "kind": "drive#user", # This is always drive#user.
-        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-        "displayName": "A String", # A plain text displayable name for this user.
-        "permissionId": "A String", # The user's ID as visible in the permissions collection.
-      },
-    ],
-    "id": "A String", # The ID of the file.
-    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-    "copyable": True or False, # Whether the file can be copied by the current user.
-    "ownerNames": [ # Name(s) of the owner(s) of this file.
-      "A String",
-    ],
-    "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
-    "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-    "etag": "A String", # ETag of the file.
-    "parents": [ # Collection of parent folders which contain this file.
-        # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
-      { # A reference to a file's parent.
-        "selfLink": "A String", # A link back to this reference.
-        "kind": "drive#parentReference", # This is always drive#parentReference.
-        "id": "A String", # The ID of the parent.
-        "isRoot": True or False, # Whether or not the parent is the root folder.
-        "parentLink": "A String", # A link to the parent.
-      },
-    ],
-    "exportLinks": { # Links for exporting Google Docs to specific formats.
-      "a_key": "A String", # A mapping from export format to URL
-    },
-    "shared": True or False, # Whether the file has been shared.
-    "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
-      "mimeType": "A String", # The MIME type of the thumbnail.
-      "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
-    },
-    "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
-      "a_key": "A String",
-    },
-    "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
-      "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
-      "exposureTime": 3.14, # The length of the exposure, in seconds.
-      "cameraMake": "A String", # The make of the camera used to create the photo.
-      "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
-      "isoSpeed": 42, # The ISO speed used to create the photo.
-      "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
-      "exposureMode": "A String", # The exposure mode used to create the photo.
-      "colorSpace": "A String", # The color space of the photo.
-      "location": { # Geographic location information stored in the image.
-        "latitude": 3.14, # The latitude stored in the image.
-        "altitude": 3.14, # The altitude stored in the image.
-        "longitude": 3.14, # The longitude stored in the image.
-      },
-      "subjectDistance": 42, # The distance to the subject of the photo, in meters.
-      "height": 42, # The height of the image in pixels.
-      "lens": "A String", # The lens used to create the photo.
-      "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
-      "width": 42, # The width of the image in pixels.
-      "meteringMode": "A String", # The metering mode used to create the photo.
-      "flashUsed": True or False, # Whether a flash was used to create the photo.
-      "aperture": 3.14, # The aperture used to create the photo (f-number).
-      "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
-      "sensor": "A String", # The type of sensor used to create the photo.
-      "whiteBalance": "A String", # The white balance mode used to create the photo.
-      "cameraModel": "A String", # The model of the camera used to create the photo.
-    },
-    "description": "A String", # A short description of the file.
-    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-    "editable": True or False, # Whether the file can be edited by the current user.
-    "kind": "drive#file", # The type of file. This is always drive#file.
-    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-    "properties": [ # The list of properties.
-      { # A key-value pair that is either public or private to an application.
-        "kind": "drive#property", # This is always drive#property.
-        "value": "A String", # The value of this property.
-        "etag": "A String", # ETag of the property.
-        "visibility": "A String", # The visibility of this property.
-        "key": "A String", # The key of this property.
-        "selfLink": "A String", # The link back to this property.
-      },
-    ],
-    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-    "iconLink": "A String", # A link to the file's icon.
-    "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
-    "embedLink": "A String", # A link for embedding the file.
-    "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
-    "title": "A String", # The title of this file.
-    "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
-    "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
-    "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
-      "withLink": True or False, # Whether the link is required for this permission.
-      "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-      "name": "A String", # The name for this permission.
-      "kind": "drive#permission", # This is always drive#permission.
-      "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-      "id": "A String", # The ID of the permission.
-      "authKey": "A String", # The authkey parameter required for this permission.
-      "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-      "photoLink": "A String", # A link to the profile photo, if available.
-      "role": "A String", # The primary role for this user. Allowed values are:
-          # - owner
-          # - reader
-          # - writer
-      "type": "A String", # The account type. Allowed values are:
-          # - user
-          # - group
-          # - domain
-          # - anyone
-      "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-        "A String",
-      ],
-      "selfLink": "A String", # A link back to this permission.
-    },
-    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-    "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
-    "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
-    "selfLink": "A String", # A link back to this file.
-    "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(fileId)</code>
-  <pre>Permanently deletes a file by ID. Skips the trash.
-
-Args:
-  fileId: string, The ID of the file to delete. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(fileId, projection=None, updateViewedDate=None)</code>
-  <pre>Gets a file's metadata by ID.
-
-Args:
-  fileId: string, The ID for the file in question. (required)
-  projection: string, This parameter is deprecated and has no function.
-    Allowed values
-      BASIC - Deprecated
-      FULL - Deprecated
-  updateViewedDate: boolean, Whether to update the view date after successfully retrieving the file.
-
-Returns:
-  An object of the form:
-
-    { # The metadata for a file.
-    "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
-    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
-    "appDataContents": True or False, # Whether this file is in the appdata folder.
-    "thumbnailLink": "A String", # A link to the file's thumbnail.
-    "labels": { # A group of labels for the file.
-      "restricted": True or False, # Whether viewers are prevented from downloading this file.
-      "hidden": True or False, # Whether this file is hidden from the user.
-      "viewed": True or False, # Whether this file has been viewed by this user.
-      "starred": True or False, # Whether this file is starred by the user.
-      "trashed": True or False, # Whether this file has been trashed.
-    },
-    "indexableText": { # Indexable text attributes for the file (can only be written)
-      "text": "A String", # The text to be indexed for this file.
-    },
-    "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-    "lastModifyingUserName": "A String", # Name of the last user to modify this file.
-    "writersCanShare": True or False, # Whether writers can share the document with other users.
-    "owners": [ # The owner(s) of this file.
-      { # The JSON template for a user.
-        "picture": { # The user's profile picture.
-          "url": "A String", # A URL that points to a profile picture of this user.
-        },
-        "kind": "drive#user", # This is always drive#user.
-        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-        "displayName": "A String", # A plain text displayable name for this user.
-        "permissionId": "A String", # The user's ID as visible in the permissions collection.
-      },
-    ],
-    "id": "A String", # The ID of the file.
-    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-    "copyable": True or False, # Whether the file can be copied by the current user.
-    "ownerNames": [ # Name(s) of the owner(s) of this file.
-      "A String",
-    ],
-    "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
-    "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-    "etag": "A String", # ETag of the file.
-    "parents": [ # Collection of parent folders which contain this file.
-        # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
-      { # A reference to a file's parent.
-        "selfLink": "A String", # A link back to this reference.
-        "kind": "drive#parentReference", # This is always drive#parentReference.
-        "id": "A String", # The ID of the parent.
-        "isRoot": True or False, # Whether or not the parent is the root folder.
-        "parentLink": "A String", # A link to the parent.
-      },
-    ],
-    "exportLinks": { # Links for exporting Google Docs to specific formats.
-      "a_key": "A String", # A mapping from export format to URL
-    },
-    "shared": True or False, # Whether the file has been shared.
-    "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
-      "mimeType": "A String", # The MIME type of the thumbnail.
-      "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
-    },
-    "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
-      "a_key": "A String",
-    },
-    "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
-      "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
-      "exposureTime": 3.14, # The length of the exposure, in seconds.
-      "cameraMake": "A String", # The make of the camera used to create the photo.
-      "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
-      "isoSpeed": 42, # The ISO speed used to create the photo.
-      "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
-      "exposureMode": "A String", # The exposure mode used to create the photo.
-      "colorSpace": "A String", # The color space of the photo.
-      "location": { # Geographic location information stored in the image.
-        "latitude": 3.14, # The latitude stored in the image.
-        "altitude": 3.14, # The altitude stored in the image.
-        "longitude": 3.14, # The longitude stored in the image.
-      },
-      "subjectDistance": 42, # The distance to the subject of the photo, in meters.
-      "height": 42, # The height of the image in pixels.
-      "lens": "A String", # The lens used to create the photo.
-      "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
-      "width": 42, # The width of the image in pixels.
-      "meteringMode": "A String", # The metering mode used to create the photo.
-      "flashUsed": True or False, # Whether a flash was used to create the photo.
-      "aperture": 3.14, # The aperture used to create the photo (f-number).
-      "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
-      "sensor": "A String", # The type of sensor used to create the photo.
-      "whiteBalance": "A String", # The white balance mode used to create the photo.
-      "cameraModel": "A String", # The model of the camera used to create the photo.
-    },
-    "description": "A String", # A short description of the file.
-    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-    "editable": True or False, # Whether the file can be edited by the current user.
-    "kind": "drive#file", # The type of file. This is always drive#file.
-    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-    "properties": [ # The list of properties.
-      { # A key-value pair that is either public or private to an application.
-        "kind": "drive#property", # This is always drive#property.
-        "value": "A String", # The value of this property.
-        "etag": "A String", # ETag of the property.
-        "visibility": "A String", # The visibility of this property.
-        "key": "A String", # The key of this property.
-        "selfLink": "A String", # The link back to this property.
-      },
-    ],
-    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-    "iconLink": "A String", # A link to the file's icon.
-    "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
-    "embedLink": "A String", # A link for embedding the file.
-    "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
-    "title": "A String", # The title of this file.
-    "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
-    "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
-    "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
-      "withLink": True or False, # Whether the link is required for this permission.
-      "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-      "name": "A String", # The name for this permission.
-      "kind": "drive#permission", # This is always drive#permission.
-      "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-      "id": "A String", # The ID of the permission.
-      "authKey": "A String", # The authkey parameter required for this permission.
-      "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-      "photoLink": "A String", # A link to the profile photo, if available.
-      "role": "A String", # The primary role for this user. Allowed values are:
-          # - owner
-          # - reader
-          # - writer
-      "type": "A String", # The account type. Allowed values are:
-          # - user
-          # - group
-          # - domain
-          # - anyone
-      "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-        "A String",
-      ],
-      "selfLink": "A String", # A link back to this permission.
-    },
-    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-    "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
-    "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
-    "selfLink": "A String", # A link back to this file.
-    "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(body=None, media_body=None, convert=None, useContentAsIndexableText=None, visibility=None, ocrLanguage=None, ocr=None, timedTextLanguage=None, timedTextTrackName=None, pinned=None)</code>
-  <pre>Insert a new file.
-
-Args:
-  body: object, The request body.
-    The object takes the form of:
-
-{ # The metadata for a file.
-  "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
-  "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
-  "appDataContents": True or False, # Whether this file is in the appdata folder.
-  "thumbnailLink": "A String", # A link to the file's thumbnail.
-  "labels": { # A group of labels for the file.
-    "restricted": True or False, # Whether viewers are prevented from downloading this file.
-    "hidden": True or False, # Whether this file is hidden from the user.
-    "viewed": True or False, # Whether this file has been viewed by this user.
-    "starred": True or False, # Whether this file is starred by the user.
-    "trashed": True or False, # Whether this file has been trashed.
-  },
-  "indexableText": { # Indexable text attributes for the file (can only be written)
-    "text": "A String", # The text to be indexed for this file.
-  },
-  "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-  "lastModifyingUserName": "A String", # Name of the last user to modify this file.
-  "writersCanShare": True or False, # Whether writers can share the document with other users.
-  "owners": [ # The owner(s) of this file.
-    { # The JSON template for a user.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-  ],
-  "id": "A String", # The ID of the file.
-  "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
-    "picture": { # The user's profile picture.
-      "url": "A String", # A URL that points to a profile picture of this user.
-    },
-    "kind": "drive#user", # This is always drive#user.
-    "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-    "displayName": "A String", # A plain text displayable name for this user.
-    "permissionId": "A String", # The user's ID as visible in the permissions collection.
-  },
-  "copyable": True or False, # Whether the file can be copied by the current user.
-  "ownerNames": [ # Name(s) of the owner(s) of this file.
-    "A String",
-  ],
-  "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
-  "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-  "etag": "A String", # ETag of the file.
-  "parents": [ # Collection of parent folders which contain this file.
-      # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
-    { # A reference to a file's parent.
-      "selfLink": "A String", # A link back to this reference.
-      "kind": "drive#parentReference", # This is always drive#parentReference.
-      "id": "A String", # The ID of the parent.
-      "isRoot": True or False, # Whether or not the parent is the root folder.
-      "parentLink": "A String", # A link to the parent.
-    },
-  ],
-  "exportLinks": { # Links for exporting Google Docs to specific formats.
-    "a_key": "A String", # A mapping from export format to URL
-  },
-  "shared": True or False, # Whether the file has been shared.
-  "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
-    "mimeType": "A String", # The MIME type of the thumbnail.
-    "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
-  },
-  "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
-    "a_key": "A String",
-  },
-  "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
-    "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
-    "exposureTime": 3.14, # The length of the exposure, in seconds.
-    "cameraMake": "A String", # The make of the camera used to create the photo.
-    "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
-    "isoSpeed": 42, # The ISO speed used to create the photo.
-    "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
-    "exposureMode": "A String", # The exposure mode used to create the photo.
-    "colorSpace": "A String", # The color space of the photo.
-    "location": { # Geographic location information stored in the image.
-      "latitude": 3.14, # The latitude stored in the image.
-      "altitude": 3.14, # The altitude stored in the image.
-      "longitude": 3.14, # The longitude stored in the image.
-    },
-    "subjectDistance": 42, # The distance to the subject of the photo, in meters.
-    "height": 42, # The height of the image in pixels.
-    "lens": "A String", # The lens used to create the photo.
-    "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
-    "width": 42, # The width of the image in pixels.
-    "meteringMode": "A String", # The metering mode used to create the photo.
-    "flashUsed": True or False, # Whether a flash was used to create the photo.
-    "aperture": 3.14, # The aperture used to create the photo (f-number).
-    "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
-    "sensor": "A String", # The type of sensor used to create the photo.
-    "whiteBalance": "A String", # The white balance mode used to create the photo.
-    "cameraModel": "A String", # The model of the camera used to create the photo.
-  },
-  "description": "A String", # A short description of the file.
-  "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-  "editable": True or False, # Whether the file can be edited by the current user.
-  "kind": "drive#file", # The type of file. This is always drive#file.
-  "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-  "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-  "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-  "properties": [ # The list of properties.
-    { # A key-value pair that is either public or private to an application.
-      "kind": "drive#property", # This is always drive#property.
-      "value": "A String", # The value of this property.
-      "etag": "A String", # ETag of the property.
-      "visibility": "A String", # The visibility of this property.
-      "key": "A String", # The key of this property.
-      "selfLink": "A String", # The link back to this property.
-    },
-  ],
-  "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-  "iconLink": "A String", # A link to the file's icon.
-  "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
-  "embedLink": "A String", # A link for embedding the file.
-  "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
-  "title": "A String", # The title of this file.
-  "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
-  "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
-  "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
-    "withLink": True or False, # Whether the link is required for this permission.
-    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-    "name": "A String", # The name for this permission.
-    "kind": "drive#permission", # This is always drive#permission.
-    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-    "id": "A String", # The ID of the permission.
-    "authKey": "A String", # The authkey parameter required for this permission.
-    "etag": "A String", # The ETag of the permission.
-    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-    "photoLink": "A String", # A link to the profile photo, if available.
-    "role": "A String", # The primary role for this user. Allowed values are:
-        # - owner
-        # - reader
-        # - writer
-    "type": "A String", # The account type. Allowed values are:
-        # - user
-        # - group
-        # - domain
-        # - anyone
-    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-      "A String",
-    ],
-    "selfLink": "A String", # A link back to this permission.
-  },
-  "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-  "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
-  "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
-  "selfLink": "A String", # A link back to this file.
-  "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
-}
-
-  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
-  convert: boolean, Whether to convert this file to the corresponding Google Docs format.
-  useContentAsIndexableText: boolean, Whether to use the content as indexable text.
-  visibility: string, The visibility of the new file. This parameter is only relevant when convert=false.
-    Allowed values
-      DEFAULT - The visibility of the new file is determined by the user's default visibility/sharing policies.
-      PRIVATE - The new file will be visible to only the owner.
-  ocrLanguage: string, If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes.
-  ocr: boolean, Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.
-  timedTextLanguage: string, The language of the timed text.
-  timedTextTrackName: string, The timed text track name.
-  pinned: boolean, Whether to pin the head revision of the uploaded file.
-
-Returns:
-  An object of the form:
-
-    { # The metadata for a file.
-    "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
-    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
-    "appDataContents": True or False, # Whether this file is in the appdata folder.
-    "thumbnailLink": "A String", # A link to the file's thumbnail.
-    "labels": { # A group of labels for the file.
-      "restricted": True or False, # Whether viewers are prevented from downloading this file.
-      "hidden": True or False, # Whether this file is hidden from the user.
-      "viewed": True or False, # Whether this file has been viewed by this user.
-      "starred": True or False, # Whether this file is starred by the user.
-      "trashed": True or False, # Whether this file has been trashed.
-    },
-    "indexableText": { # Indexable text attributes for the file (can only be written)
-      "text": "A String", # The text to be indexed for this file.
-    },
-    "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-    "lastModifyingUserName": "A String", # Name of the last user to modify this file.
-    "writersCanShare": True or False, # Whether writers can share the document with other users.
-    "owners": [ # The owner(s) of this file.
-      { # The JSON template for a user.
-        "picture": { # The user's profile picture.
-          "url": "A String", # A URL that points to a profile picture of this user.
-        },
-        "kind": "drive#user", # This is always drive#user.
-        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-        "displayName": "A String", # A plain text displayable name for this user.
-        "permissionId": "A String", # The user's ID as visible in the permissions collection.
-      },
-    ],
-    "id": "A String", # The ID of the file.
-    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-    "copyable": True or False, # Whether the file can be copied by the current user.
-    "ownerNames": [ # Name(s) of the owner(s) of this file.
-      "A String",
-    ],
-    "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
-    "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-    "etag": "A String", # ETag of the file.
-    "parents": [ # Collection of parent folders which contain this file.
-        # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
-      { # A reference to a file's parent.
-        "selfLink": "A String", # A link back to this reference.
-        "kind": "drive#parentReference", # This is always drive#parentReference.
-        "id": "A String", # The ID of the parent.
-        "isRoot": True or False, # Whether or not the parent is the root folder.
-        "parentLink": "A String", # A link to the parent.
-      },
-    ],
-    "exportLinks": { # Links for exporting Google Docs to specific formats.
-      "a_key": "A String", # A mapping from export format to URL
-    },
-    "shared": True or False, # Whether the file has been shared.
-    "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
-      "mimeType": "A String", # The MIME type of the thumbnail.
-      "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
-    },
-    "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
-      "a_key": "A String",
-    },
-    "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
-      "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
-      "exposureTime": 3.14, # The length of the exposure, in seconds.
-      "cameraMake": "A String", # The make of the camera used to create the photo.
-      "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
-      "isoSpeed": 42, # The ISO speed used to create the photo.
-      "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
-      "exposureMode": "A String", # The exposure mode used to create the photo.
-      "colorSpace": "A String", # The color space of the photo.
-      "location": { # Geographic location information stored in the image.
-        "latitude": 3.14, # The latitude stored in the image.
-        "altitude": 3.14, # The altitude stored in the image.
-        "longitude": 3.14, # The longitude stored in the image.
-      },
-      "subjectDistance": 42, # The distance to the subject of the photo, in meters.
-      "height": 42, # The height of the image in pixels.
-      "lens": "A String", # The lens used to create the photo.
-      "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
-      "width": 42, # The width of the image in pixels.
-      "meteringMode": "A String", # The metering mode used to create the photo.
-      "flashUsed": True or False, # Whether a flash was used to create the photo.
-      "aperture": 3.14, # The aperture used to create the photo (f-number).
-      "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
-      "sensor": "A String", # The type of sensor used to create the photo.
-      "whiteBalance": "A String", # The white balance mode used to create the photo.
-      "cameraModel": "A String", # The model of the camera used to create the photo.
-    },
-    "description": "A String", # A short description of the file.
-    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-    "editable": True or False, # Whether the file can be edited by the current user.
-    "kind": "drive#file", # The type of file. This is always drive#file.
-    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-    "properties": [ # The list of properties.
-      { # A key-value pair that is either public or private to an application.
-        "kind": "drive#property", # This is always drive#property.
-        "value": "A String", # The value of this property.
-        "etag": "A String", # ETag of the property.
-        "visibility": "A String", # The visibility of this property.
-        "key": "A String", # The key of this property.
-        "selfLink": "A String", # The link back to this property.
-      },
-    ],
-    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-    "iconLink": "A String", # A link to the file's icon.
-    "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
-    "embedLink": "A String", # A link for embedding the file.
-    "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
-    "title": "A String", # The title of this file.
-    "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
-    "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
-    "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
-      "withLink": True or False, # Whether the link is required for this permission.
-      "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-      "name": "A String", # The name for this permission.
-      "kind": "drive#permission", # This is always drive#permission.
-      "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-      "id": "A String", # The ID of the permission.
-      "authKey": "A String", # The authkey parameter required for this permission.
-      "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-      "photoLink": "A String", # A link to the profile photo, if available.
-      "role": "A String", # The primary role for this user. Allowed values are:
-          # - owner
-          # - reader
-          # - writer
-      "type": "A String", # The account type. Allowed values are:
-          # - user
-          # - group
-          # - domain
-          # - anyone
-      "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-        "A String",
-      ],
-      "selfLink": "A String", # A link back to this permission.
-    },
-    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-    "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
-    "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
-    "selfLink": "A String", # A link back to this file.
-    "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(q=None, projection=None, pageToken=None, maxResults=None)</code>
-  <pre>Lists the user's files.
-
-Args:
-  q: string, Query string for searching files.
-  projection: string, This parameter is deprecated and has no function.
-    Allowed values
-      BASIC - Deprecated
-      FULL - Deprecated
-  pageToken: string, Page token for files.
-  maxResults: integer, Maximum number of files to return.
-
-Returns:
-  An object of the form:
-
-    { # A list of files.
-    "nextPageToken": "A String", # The page token for the next page of files.
-    "kind": "drive#fileList", # This is always drive#fileList.
-    "items": [ # The actual list of files.
-      { # The metadata for a file.
-        "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
-        "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
-        "appDataContents": True or False, # Whether this file is in the appdata folder.
-        "thumbnailLink": "A String", # A link to the file's thumbnail.
-        "labels": { # A group of labels for the file.
-          "restricted": True or False, # Whether viewers are prevented from downloading this file.
-          "hidden": True or False, # Whether this file is hidden from the user.
-          "viewed": True or False, # Whether this file has been viewed by this user.
-          "starred": True or False, # Whether this file is starred by the user.
-          "trashed": True or False, # Whether this file has been trashed.
-        },
-        "indexableText": { # Indexable text attributes for the file (can only be written)
-          "text": "A String", # The text to be indexed for this file.
-        },
-        "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-        "lastModifyingUserName": "A String", # Name of the last user to modify this file.
-        "writersCanShare": True or False, # Whether writers can share the document with other users.
-        "owners": [ # The owner(s) of this file.
-          { # The JSON template for a user.
-            "picture": { # The user's profile picture.
-              "url": "A String", # A URL that points to a profile picture of this user.
-            },
-            "kind": "drive#user", # This is always drive#user.
-            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-            "displayName": "A String", # A plain text displayable name for this user.
-            "permissionId": "A String", # The user's ID as visible in the permissions collection.
-          },
-        ],
-        "id": "A String", # The ID of the file.
-        "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
-          "picture": { # The user's profile picture.
-            "url": "A String", # A URL that points to a profile picture of this user.
-          },
-          "kind": "drive#user", # This is always drive#user.
-          "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-          "displayName": "A String", # A plain text displayable name for this user.
-          "permissionId": "A String", # The user's ID as visible in the permissions collection.
-        },
-        "copyable": True or False, # Whether the file can be copied by the current user.
-        "ownerNames": [ # Name(s) of the owner(s) of this file.
-          "A String",
-        ],
-        "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
-        "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-        "etag": "A String", # ETag of the file.
-        "parents": [ # Collection of parent folders which contain this file.
-            # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
-          { # A reference to a file's parent.
-            "selfLink": "A String", # A link back to this reference.
-            "kind": "drive#parentReference", # This is always drive#parentReference.
-            "id": "A String", # The ID of the parent.
-            "isRoot": True or False, # Whether or not the parent is the root folder.
-            "parentLink": "A String", # A link to the parent.
-          },
-        ],
-        "exportLinks": { # Links for exporting Google Docs to specific formats.
-          "a_key": "A String", # A mapping from export format to URL
-        },
-        "shared": True or False, # Whether the file has been shared.
-        "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
-          "mimeType": "A String", # The MIME type of the thumbnail.
-          "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
-        },
-        "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
-          "a_key": "A String",
-        },
-        "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
-          "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
-          "exposureTime": 3.14, # The length of the exposure, in seconds.
-          "cameraMake": "A String", # The make of the camera used to create the photo.
-          "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
-          "isoSpeed": 42, # The ISO speed used to create the photo.
-          "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
-          "exposureMode": "A String", # The exposure mode used to create the photo.
-          "colorSpace": "A String", # The color space of the photo.
-          "location": { # Geographic location information stored in the image.
-            "latitude": 3.14, # The latitude stored in the image.
-            "altitude": 3.14, # The altitude stored in the image.
-            "longitude": 3.14, # The longitude stored in the image.
-          },
-          "subjectDistance": 42, # The distance to the subject of the photo, in meters.
-          "height": 42, # The height of the image in pixels.
-          "lens": "A String", # The lens used to create the photo.
-          "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
-          "width": 42, # The width of the image in pixels.
-          "meteringMode": "A String", # The metering mode used to create the photo.
-          "flashUsed": True or False, # Whether a flash was used to create the photo.
-          "aperture": 3.14, # The aperture used to create the photo (f-number).
-          "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
-          "sensor": "A String", # The type of sensor used to create the photo.
-          "whiteBalance": "A String", # The white balance mode used to create the photo.
-          "cameraModel": "A String", # The model of the camera used to create the photo.
-        },
-        "description": "A String", # A short description of the file.
-        "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-        "editable": True or False, # Whether the file can be edited by the current user.
-        "kind": "drive#file", # The type of file. This is always drive#file.
-        "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-        "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-        "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-        "properties": [ # The list of properties.
-          { # A key-value pair that is either public or private to an application.
-            "kind": "drive#property", # This is always drive#property.
-            "value": "A String", # The value of this property.
-            "etag": "A String", # ETag of the property.
-            "visibility": "A String", # The visibility of this property.
-            "key": "A String", # The key of this property.
-            "selfLink": "A String", # The link back to this property.
-          },
-        ],
-        "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-        "iconLink": "A String", # A link to the file's icon.
-        "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
-        "embedLink": "A String", # A link for embedding the file.
-        "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
-        "title": "A String", # The title of this file.
-        "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
-        "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
-        "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
-          "withLink": True or False, # Whether the link is required for this permission.
-          "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-          "name": "A String", # The name for this permission.
-          "kind": "drive#permission", # This is always drive#permission.
-          "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-          "id": "A String", # The ID of the permission.
-          "authKey": "A String", # The authkey parameter required for this permission.
-          "etag": "A String", # The ETag of the permission.
-          "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-          "photoLink": "A String", # A link to the profile photo, if available.
-          "role": "A String", # The primary role for this user. Allowed values are:
-              # - owner
-              # - reader
-              # - writer
-          "type": "A String", # The account type. Allowed values are:
-              # - user
-              # - group
-              # - domain
-              # - anyone
-          "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-            "A String",
-          ],
-          "selfLink": "A String", # A link back to this permission.
-        },
-        "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-        "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
-        "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
-        "selfLink": "A String", # A link back to this file.
-        "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
-      },
-    ],
-    "nextLink": "A String", # A link to the next page of files.
-    "etag": "A String", # The ETag of the list.
-    "selfLink": "A String", # A link back to this list.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(fileId, body, newRevision=None, pinned=None, ocrLanguage=None, ocr=None, updateViewedDate=None, timedTextTrackName=None, convert=None, useContentAsIndexableText=None, setModifiedDate=None, timedTextLanguage=None)</code>
-  <pre>Updates file metadata and/or content. This method supports patch semantics.
-
-Args:
-  fileId: string, The ID of the file to update. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # The metadata for a file.
-  "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
-  "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
-  "appDataContents": True or False, # Whether this file is in the appdata folder.
-  "thumbnailLink": "A String", # A link to the file's thumbnail.
-  "labels": { # A group of labels for the file.
-    "restricted": True or False, # Whether viewers are prevented from downloading this file.
-    "hidden": True or False, # Whether this file is hidden from the user.
-    "viewed": True or False, # Whether this file has been viewed by this user.
-    "starred": True or False, # Whether this file is starred by the user.
-    "trashed": True or False, # Whether this file has been trashed.
-  },
-  "indexableText": { # Indexable text attributes for the file (can only be written)
-    "text": "A String", # The text to be indexed for this file.
-  },
-  "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-  "lastModifyingUserName": "A String", # Name of the last user to modify this file.
-  "writersCanShare": True or False, # Whether writers can share the document with other users.
-  "owners": [ # The owner(s) of this file.
-    { # The JSON template for a user.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-  ],
-  "id": "A String", # The ID of the file.
-  "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
-    "picture": { # The user's profile picture.
-      "url": "A String", # A URL that points to a profile picture of this user.
-    },
-    "kind": "drive#user", # This is always drive#user.
-    "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-    "displayName": "A String", # A plain text displayable name for this user.
-    "permissionId": "A String", # The user's ID as visible in the permissions collection.
-  },
-  "copyable": True or False, # Whether the file can be copied by the current user.
-  "ownerNames": [ # Name(s) of the owner(s) of this file.
-    "A String",
-  ],
-  "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
-  "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-  "etag": "A String", # ETag of the file.
-  "parents": [ # Collection of parent folders which contain this file.
-      # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
-    { # A reference to a file's parent.
-      "selfLink": "A String", # A link back to this reference.
-      "kind": "drive#parentReference", # This is always drive#parentReference.
-      "id": "A String", # The ID of the parent.
-      "isRoot": True or False, # Whether or not the parent is the root folder.
-      "parentLink": "A String", # A link to the parent.
-    },
-  ],
-  "exportLinks": { # Links for exporting Google Docs to specific formats.
-    "a_key": "A String", # A mapping from export format to URL
-  },
-  "shared": True or False, # Whether the file has been shared.
-  "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
-    "mimeType": "A String", # The MIME type of the thumbnail.
-    "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
-  },
-  "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
-    "a_key": "A String",
-  },
-  "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
-    "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
-    "exposureTime": 3.14, # The length of the exposure, in seconds.
-    "cameraMake": "A String", # The make of the camera used to create the photo.
-    "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
-    "isoSpeed": 42, # The ISO speed used to create the photo.
-    "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
-    "exposureMode": "A String", # The exposure mode used to create the photo.
-    "colorSpace": "A String", # The color space of the photo.
-    "location": { # Geographic location information stored in the image.
-      "latitude": 3.14, # The latitude stored in the image.
-      "altitude": 3.14, # The altitude stored in the image.
-      "longitude": 3.14, # The longitude stored in the image.
-    },
-    "subjectDistance": 42, # The distance to the subject of the photo, in meters.
-    "height": 42, # The height of the image in pixels.
-    "lens": "A String", # The lens used to create the photo.
-    "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
-    "width": 42, # The width of the image in pixels.
-    "meteringMode": "A String", # The metering mode used to create the photo.
-    "flashUsed": True or False, # Whether a flash was used to create the photo.
-    "aperture": 3.14, # The aperture used to create the photo (f-number).
-    "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
-    "sensor": "A String", # The type of sensor used to create the photo.
-    "whiteBalance": "A String", # The white balance mode used to create the photo.
-    "cameraModel": "A String", # The model of the camera used to create the photo.
-  },
-  "description": "A String", # A short description of the file.
-  "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-  "editable": True or False, # Whether the file can be edited by the current user.
-  "kind": "drive#file", # The type of file. This is always drive#file.
-  "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-  "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-  "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-  "properties": [ # The list of properties.
-    { # A key-value pair that is either public or private to an application.
-      "kind": "drive#property", # This is always drive#property.
-      "value": "A String", # The value of this property.
-      "etag": "A String", # ETag of the property.
-      "visibility": "A String", # The visibility of this property.
-      "key": "A String", # The key of this property.
-      "selfLink": "A String", # The link back to this property.
-    },
-  ],
-  "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-  "iconLink": "A String", # A link to the file's icon.
-  "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
-  "embedLink": "A String", # A link for embedding the file.
-  "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
-  "title": "A String", # The title of this file.
-  "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
-  "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
-  "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
-    "withLink": True or False, # Whether the link is required for this permission.
-    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-    "name": "A String", # The name for this permission.
-    "kind": "drive#permission", # This is always drive#permission.
-    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-    "id": "A String", # The ID of the permission.
-    "authKey": "A String", # The authkey parameter required for this permission.
-    "etag": "A String", # The ETag of the permission.
-    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-    "photoLink": "A String", # A link to the profile photo, if available.
-    "role": "A String", # The primary role for this user. Allowed values are:
-        # - owner
-        # - reader
-        # - writer
-    "type": "A String", # The account type. Allowed values are:
-        # - user
-        # - group
-        # - domain
-        # - anyone
-    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-      "A String",
-    ],
-    "selfLink": "A String", # A link back to this permission.
-  },
-  "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-  "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
-  "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
-  "selfLink": "A String", # A link back to this file.
-  "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
-}
-
-  newRevision: boolean, Whether a blob upload should create a new revision. If not set or false, the blob data in the current head revision is replaced. If true, a new blob is created as head revision, and previous revisions are preserved (causing increased use of the user's data storage quota).
-  pinned: boolean, Whether to pin the new revision.
-  ocrLanguage: string, If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes.
-  ocr: boolean, Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.
-  updateViewedDate: boolean, Whether to update the view date after successfully updating the file.
-  timedTextTrackName: string, The timed text track name.
-  convert: boolean, Whether to convert this file to the corresponding Google Docs format.
-  useContentAsIndexableText: boolean, Whether to use the content as indexable text.
-  setModifiedDate: boolean, Whether to set the modified date with the supplied modified date.
-  timedTextLanguage: string, The language of the timed text.
-
-Returns:
-  An object of the form:
-
-    { # The metadata for a file.
-    "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
-    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
-    "appDataContents": True or False, # Whether this file is in the appdata folder.
-    "thumbnailLink": "A String", # A link to the file's thumbnail.
-    "labels": { # A group of labels for the file.
-      "restricted": True or False, # Whether viewers are prevented from downloading this file.
-      "hidden": True or False, # Whether this file is hidden from the user.
-      "viewed": True or False, # Whether this file has been viewed by this user.
-      "starred": True or False, # Whether this file is starred by the user.
-      "trashed": True or False, # Whether this file has been trashed.
-    },
-    "indexableText": { # Indexable text attributes for the file (can only be written)
-      "text": "A String", # The text to be indexed for this file.
-    },
-    "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-    "lastModifyingUserName": "A String", # Name of the last user to modify this file.
-    "writersCanShare": True or False, # Whether writers can share the document with other users.
-    "owners": [ # The owner(s) of this file.
-      { # The JSON template for a user.
-        "picture": { # The user's profile picture.
-          "url": "A String", # A URL that points to a profile picture of this user.
-        },
-        "kind": "drive#user", # This is always drive#user.
-        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-        "displayName": "A String", # A plain text displayable name for this user.
-        "permissionId": "A String", # The user's ID as visible in the permissions collection.
-      },
-    ],
-    "id": "A String", # The ID of the file.
-    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-    "copyable": True or False, # Whether the file can be copied by the current user.
-    "ownerNames": [ # Name(s) of the owner(s) of this file.
-      "A String",
-    ],
-    "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
-    "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-    "etag": "A String", # ETag of the file.
-    "parents": [ # Collection of parent folders which contain this file.
-        # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
-      { # A reference to a file's parent.
-        "selfLink": "A String", # A link back to this reference.
-        "kind": "drive#parentReference", # This is always drive#parentReference.
-        "id": "A String", # The ID of the parent.
-        "isRoot": True or False, # Whether or not the parent is the root folder.
-        "parentLink": "A String", # A link to the parent.
-      },
-    ],
-    "exportLinks": { # Links for exporting Google Docs to specific formats.
-      "a_key": "A String", # A mapping from export format to URL
-    },
-    "shared": True or False, # Whether the file has been shared.
-    "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
-      "mimeType": "A String", # The MIME type of the thumbnail.
-      "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
-    },
-    "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
-      "a_key": "A String",
-    },
-    "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
-      "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
-      "exposureTime": 3.14, # The length of the exposure, in seconds.
-      "cameraMake": "A String", # The make of the camera used to create the photo.
-      "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
-      "isoSpeed": 42, # The ISO speed used to create the photo.
-      "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
-      "exposureMode": "A String", # The exposure mode used to create the photo.
-      "colorSpace": "A String", # The color space of the photo.
-      "location": { # Geographic location information stored in the image.
-        "latitude": 3.14, # The latitude stored in the image.
-        "altitude": 3.14, # The altitude stored in the image.
-        "longitude": 3.14, # The longitude stored in the image.
-      },
-      "subjectDistance": 42, # The distance to the subject of the photo, in meters.
-      "height": 42, # The height of the image in pixels.
-      "lens": "A String", # The lens used to create the photo.
-      "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
-      "width": 42, # The width of the image in pixels.
-      "meteringMode": "A String", # The metering mode used to create the photo.
-      "flashUsed": True or False, # Whether a flash was used to create the photo.
-      "aperture": 3.14, # The aperture used to create the photo (f-number).
-      "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
-      "sensor": "A String", # The type of sensor used to create the photo.
-      "whiteBalance": "A String", # The white balance mode used to create the photo.
-      "cameraModel": "A String", # The model of the camera used to create the photo.
-    },
-    "description": "A String", # A short description of the file.
-    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-    "editable": True or False, # Whether the file can be edited by the current user.
-    "kind": "drive#file", # The type of file. This is always drive#file.
-    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-    "properties": [ # The list of properties.
-      { # A key-value pair that is either public or private to an application.
-        "kind": "drive#property", # This is always drive#property.
-        "value": "A String", # The value of this property.
-        "etag": "A String", # ETag of the property.
-        "visibility": "A String", # The visibility of this property.
-        "key": "A String", # The key of this property.
-        "selfLink": "A String", # The link back to this property.
-      },
-    ],
-    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-    "iconLink": "A String", # A link to the file's icon.
-    "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
-    "embedLink": "A String", # A link for embedding the file.
-    "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
-    "title": "A String", # The title of this file.
-    "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
-    "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
-    "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
-      "withLink": True or False, # Whether the link is required for this permission.
-      "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-      "name": "A String", # The name for this permission.
-      "kind": "drive#permission", # This is always drive#permission.
-      "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-      "id": "A String", # The ID of the permission.
-      "authKey": "A String", # The authkey parameter required for this permission.
-      "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-      "photoLink": "A String", # A link to the profile photo, if available.
-      "role": "A String", # The primary role for this user. Allowed values are:
-          # - owner
-          # - reader
-          # - writer
-      "type": "A String", # The account type. Allowed values are:
-          # - user
-          # - group
-          # - domain
-          # - anyone
-      "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-        "A String",
-      ],
-      "selfLink": "A String", # A link back to this permission.
-    },
-    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-    "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
-    "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
-    "selfLink": "A String", # A link back to this file.
-    "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="touch">touch(fileId)</code>
-  <pre>Set the file's updated time to the current server time.
-
-Args:
-  fileId: string, The ID of the file to update. (required)
-
-Returns:
-  An object of the form:
-
-    { # The metadata for a file.
-    "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
-    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
-    "appDataContents": True or False, # Whether this file is in the appdata folder.
-    "thumbnailLink": "A String", # A link to the file's thumbnail.
-    "labels": { # A group of labels for the file.
-      "restricted": True or False, # Whether viewers are prevented from downloading this file.
-      "hidden": True or False, # Whether this file is hidden from the user.
-      "viewed": True or False, # Whether this file has been viewed by this user.
-      "starred": True or False, # Whether this file is starred by the user.
-      "trashed": True or False, # Whether this file has been trashed.
-    },
-    "indexableText": { # Indexable text attributes for the file (can only be written)
-      "text": "A String", # The text to be indexed for this file.
-    },
-    "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-    "lastModifyingUserName": "A String", # Name of the last user to modify this file.
-    "writersCanShare": True or False, # Whether writers can share the document with other users.
-    "owners": [ # The owner(s) of this file.
-      { # The JSON template for a user.
-        "picture": { # The user's profile picture.
-          "url": "A String", # A URL that points to a profile picture of this user.
-        },
-        "kind": "drive#user", # This is always drive#user.
-        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-        "displayName": "A String", # A plain text displayable name for this user.
-        "permissionId": "A String", # The user's ID as visible in the permissions collection.
-      },
-    ],
-    "id": "A String", # The ID of the file.
-    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-    "copyable": True or False, # Whether the file can be copied by the current user.
-    "ownerNames": [ # Name(s) of the owner(s) of this file.
-      "A String",
-    ],
-    "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
-    "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-    "etag": "A String", # ETag of the file.
-    "parents": [ # Collection of parent folders which contain this file.
-        # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
-      { # A reference to a file's parent.
-        "selfLink": "A String", # A link back to this reference.
-        "kind": "drive#parentReference", # This is always drive#parentReference.
-        "id": "A String", # The ID of the parent.
-        "isRoot": True or False, # Whether or not the parent is the root folder.
-        "parentLink": "A String", # A link to the parent.
-      },
-    ],
-    "exportLinks": { # Links for exporting Google Docs to specific formats.
-      "a_key": "A String", # A mapping from export format to URL
-    },
-    "shared": True or False, # Whether the file has been shared.
-    "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
-      "mimeType": "A String", # The MIME type of the thumbnail.
-      "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
-    },
-    "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
-      "a_key": "A String",
-    },
-    "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
-      "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
-      "exposureTime": 3.14, # The length of the exposure, in seconds.
-      "cameraMake": "A String", # The make of the camera used to create the photo.
-      "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
-      "isoSpeed": 42, # The ISO speed used to create the photo.
-      "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
-      "exposureMode": "A String", # The exposure mode used to create the photo.
-      "colorSpace": "A String", # The color space of the photo.
-      "location": { # Geographic location information stored in the image.
-        "latitude": 3.14, # The latitude stored in the image.
-        "altitude": 3.14, # The altitude stored in the image.
-        "longitude": 3.14, # The longitude stored in the image.
-      },
-      "subjectDistance": 42, # The distance to the subject of the photo, in meters.
-      "height": 42, # The height of the image in pixels.
-      "lens": "A String", # The lens used to create the photo.
-      "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
-      "width": 42, # The width of the image in pixels.
-      "meteringMode": "A String", # The metering mode used to create the photo.
-      "flashUsed": True or False, # Whether a flash was used to create the photo.
-      "aperture": 3.14, # The aperture used to create the photo (f-number).
-      "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
-      "sensor": "A String", # The type of sensor used to create the photo.
-      "whiteBalance": "A String", # The white balance mode used to create the photo.
-      "cameraModel": "A String", # The model of the camera used to create the photo.
-    },
-    "description": "A String", # A short description of the file.
-    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-    "editable": True or False, # Whether the file can be edited by the current user.
-    "kind": "drive#file", # The type of file. This is always drive#file.
-    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-    "properties": [ # The list of properties.
-      { # A key-value pair that is either public or private to an application.
-        "kind": "drive#property", # This is always drive#property.
-        "value": "A String", # The value of this property.
-        "etag": "A String", # ETag of the property.
-        "visibility": "A String", # The visibility of this property.
-        "key": "A String", # The key of this property.
-        "selfLink": "A String", # The link back to this property.
-      },
-    ],
-    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-    "iconLink": "A String", # A link to the file's icon.
-    "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
-    "embedLink": "A String", # A link for embedding the file.
-    "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
-    "title": "A String", # The title of this file.
-    "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
-    "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
-    "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
-      "withLink": True or False, # Whether the link is required for this permission.
-      "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-      "name": "A String", # The name for this permission.
-      "kind": "drive#permission", # This is always drive#permission.
-      "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-      "id": "A String", # The ID of the permission.
-      "authKey": "A String", # The authkey parameter required for this permission.
-      "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-      "photoLink": "A String", # A link to the profile photo, if available.
-      "role": "A String", # The primary role for this user. Allowed values are:
-          # - owner
-          # - reader
-          # - writer
-      "type": "A String", # The account type. Allowed values are:
-          # - user
-          # - group
-          # - domain
-          # - anyone
-      "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-        "A String",
-      ],
-      "selfLink": "A String", # A link back to this permission.
-    },
-    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-    "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
-    "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
-    "selfLink": "A String", # A link back to this file.
-    "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="trash">trash(fileId)</code>
-  <pre>Moves a file to the trash.
-
-Args:
-  fileId: string, The ID of the file to trash. (required)
-
-Returns:
-  An object of the form:
-
-    { # The metadata for a file.
-    "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
-    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
-    "appDataContents": True or False, # Whether this file is in the appdata folder.
-    "thumbnailLink": "A String", # A link to the file's thumbnail.
-    "labels": { # A group of labels for the file.
-      "restricted": True or False, # Whether viewers are prevented from downloading this file.
-      "hidden": True or False, # Whether this file is hidden from the user.
-      "viewed": True or False, # Whether this file has been viewed by this user.
-      "starred": True or False, # Whether this file is starred by the user.
-      "trashed": True or False, # Whether this file has been trashed.
-    },
-    "indexableText": { # Indexable text attributes for the file (can only be written)
-      "text": "A String", # The text to be indexed for this file.
-    },
-    "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-    "lastModifyingUserName": "A String", # Name of the last user to modify this file.
-    "writersCanShare": True or False, # Whether writers can share the document with other users.
-    "owners": [ # The owner(s) of this file.
-      { # The JSON template for a user.
-        "picture": { # The user's profile picture.
-          "url": "A String", # A URL that points to a profile picture of this user.
-        },
-        "kind": "drive#user", # This is always drive#user.
-        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-        "displayName": "A String", # A plain text displayable name for this user.
-        "permissionId": "A String", # The user's ID as visible in the permissions collection.
-      },
-    ],
-    "id": "A String", # The ID of the file.
-    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-    "copyable": True or False, # Whether the file can be copied by the current user.
-    "ownerNames": [ # Name(s) of the owner(s) of this file.
-      "A String",
-    ],
-    "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
-    "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-    "etag": "A String", # ETag of the file.
-    "parents": [ # Collection of parent folders which contain this file.
-        # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
-      { # A reference to a file's parent.
-        "selfLink": "A String", # A link back to this reference.
-        "kind": "drive#parentReference", # This is always drive#parentReference.
-        "id": "A String", # The ID of the parent.
-        "isRoot": True or False, # Whether or not the parent is the root folder.
-        "parentLink": "A String", # A link to the parent.
-      },
-    ],
-    "exportLinks": { # Links for exporting Google Docs to specific formats.
-      "a_key": "A String", # A mapping from export format to URL
-    },
-    "shared": True or False, # Whether the file has been shared.
-    "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
-      "mimeType": "A String", # The MIME type of the thumbnail.
-      "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
-    },
-    "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
-      "a_key": "A String",
-    },
-    "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
-      "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
-      "exposureTime": 3.14, # The length of the exposure, in seconds.
-      "cameraMake": "A String", # The make of the camera used to create the photo.
-      "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
-      "isoSpeed": 42, # The ISO speed used to create the photo.
-      "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
-      "exposureMode": "A String", # The exposure mode used to create the photo.
-      "colorSpace": "A String", # The color space of the photo.
-      "location": { # Geographic location information stored in the image.
-        "latitude": 3.14, # The latitude stored in the image.
-        "altitude": 3.14, # The altitude stored in the image.
-        "longitude": 3.14, # The longitude stored in the image.
-      },
-      "subjectDistance": 42, # The distance to the subject of the photo, in meters.
-      "height": 42, # The height of the image in pixels.
-      "lens": "A String", # The lens used to create the photo.
-      "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
-      "width": 42, # The width of the image in pixels.
-      "meteringMode": "A String", # The metering mode used to create the photo.
-      "flashUsed": True or False, # Whether a flash was used to create the photo.
-      "aperture": 3.14, # The aperture used to create the photo (f-number).
-      "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
-      "sensor": "A String", # The type of sensor used to create the photo.
-      "whiteBalance": "A String", # The white balance mode used to create the photo.
-      "cameraModel": "A String", # The model of the camera used to create the photo.
-    },
-    "description": "A String", # A short description of the file.
-    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-    "editable": True or False, # Whether the file can be edited by the current user.
-    "kind": "drive#file", # The type of file. This is always drive#file.
-    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-    "properties": [ # The list of properties.
-      { # A key-value pair that is either public or private to an application.
-        "kind": "drive#property", # This is always drive#property.
-        "value": "A String", # The value of this property.
-        "etag": "A String", # ETag of the property.
-        "visibility": "A String", # The visibility of this property.
-        "key": "A String", # The key of this property.
-        "selfLink": "A String", # The link back to this property.
-      },
-    ],
-    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-    "iconLink": "A String", # A link to the file's icon.
-    "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
-    "embedLink": "A String", # A link for embedding the file.
-    "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
-    "title": "A String", # The title of this file.
-    "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
-    "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
-    "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
-      "withLink": True or False, # Whether the link is required for this permission.
-      "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-      "name": "A String", # The name for this permission.
-      "kind": "drive#permission", # This is always drive#permission.
-      "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-      "id": "A String", # The ID of the permission.
-      "authKey": "A String", # The authkey parameter required for this permission.
-      "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-      "photoLink": "A String", # A link to the profile photo, if available.
-      "role": "A String", # The primary role for this user. Allowed values are:
-          # - owner
-          # - reader
-          # - writer
-      "type": "A String", # The account type. Allowed values are:
-          # - user
-          # - group
-          # - domain
-          # - anyone
-      "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-        "A String",
-      ],
-      "selfLink": "A String", # A link back to this permission.
-    },
-    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-    "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
-    "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
-    "selfLink": "A String", # A link back to this file.
-    "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="untrash">untrash(fileId)</code>
-  <pre>Restores a file from the trash.
-
-Args:
-  fileId: string, The ID of the file to untrash. (required)
-
-Returns:
-  An object of the form:
-
-    { # The metadata for a file.
-    "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
-    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
-    "appDataContents": True or False, # Whether this file is in the appdata folder.
-    "thumbnailLink": "A String", # A link to the file's thumbnail.
-    "labels": { # A group of labels for the file.
-      "restricted": True or False, # Whether viewers are prevented from downloading this file.
-      "hidden": True or False, # Whether this file is hidden from the user.
-      "viewed": True or False, # Whether this file has been viewed by this user.
-      "starred": True or False, # Whether this file is starred by the user.
-      "trashed": True or False, # Whether this file has been trashed.
-    },
-    "indexableText": { # Indexable text attributes for the file (can only be written)
-      "text": "A String", # The text to be indexed for this file.
-    },
-    "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-    "lastModifyingUserName": "A String", # Name of the last user to modify this file.
-    "writersCanShare": True or False, # Whether writers can share the document with other users.
-    "owners": [ # The owner(s) of this file.
-      { # The JSON template for a user.
-        "picture": { # The user's profile picture.
-          "url": "A String", # A URL that points to a profile picture of this user.
-        },
-        "kind": "drive#user", # This is always drive#user.
-        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-        "displayName": "A String", # A plain text displayable name for this user.
-        "permissionId": "A String", # The user's ID as visible in the permissions collection.
-      },
-    ],
-    "id": "A String", # The ID of the file.
-    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-    "copyable": True or False, # Whether the file can be copied by the current user.
-    "ownerNames": [ # Name(s) of the owner(s) of this file.
-      "A String",
-    ],
-    "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
-    "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-    "etag": "A String", # ETag of the file.
-    "parents": [ # Collection of parent folders which contain this file.
-        # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
-      { # A reference to a file's parent.
-        "selfLink": "A String", # A link back to this reference.
-        "kind": "drive#parentReference", # This is always drive#parentReference.
-        "id": "A String", # The ID of the parent.
-        "isRoot": True or False, # Whether or not the parent is the root folder.
-        "parentLink": "A String", # A link to the parent.
-      },
-    ],
-    "exportLinks": { # Links for exporting Google Docs to specific formats.
-      "a_key": "A String", # A mapping from export format to URL
-    },
-    "shared": True or False, # Whether the file has been shared.
-    "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
-      "mimeType": "A String", # The MIME type of the thumbnail.
-      "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
-    },
-    "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
-      "a_key": "A String",
-    },
-    "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
-      "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
-      "exposureTime": 3.14, # The length of the exposure, in seconds.
-      "cameraMake": "A String", # The make of the camera used to create the photo.
-      "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
-      "isoSpeed": 42, # The ISO speed used to create the photo.
-      "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
-      "exposureMode": "A String", # The exposure mode used to create the photo.
-      "colorSpace": "A String", # The color space of the photo.
-      "location": { # Geographic location information stored in the image.
-        "latitude": 3.14, # The latitude stored in the image.
-        "altitude": 3.14, # The altitude stored in the image.
-        "longitude": 3.14, # The longitude stored in the image.
-      },
-      "subjectDistance": 42, # The distance to the subject of the photo, in meters.
-      "height": 42, # The height of the image in pixels.
-      "lens": "A String", # The lens used to create the photo.
-      "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
-      "width": 42, # The width of the image in pixels.
-      "meteringMode": "A String", # The metering mode used to create the photo.
-      "flashUsed": True or False, # Whether a flash was used to create the photo.
-      "aperture": 3.14, # The aperture used to create the photo (f-number).
-      "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
-      "sensor": "A String", # The type of sensor used to create the photo.
-      "whiteBalance": "A String", # The white balance mode used to create the photo.
-      "cameraModel": "A String", # The model of the camera used to create the photo.
-    },
-    "description": "A String", # A short description of the file.
-    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-    "editable": True or False, # Whether the file can be edited by the current user.
-    "kind": "drive#file", # The type of file. This is always drive#file.
-    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-    "properties": [ # The list of properties.
-      { # A key-value pair that is either public or private to an application.
-        "kind": "drive#property", # This is always drive#property.
-        "value": "A String", # The value of this property.
-        "etag": "A String", # ETag of the property.
-        "visibility": "A String", # The visibility of this property.
-        "key": "A String", # The key of this property.
-        "selfLink": "A String", # The link back to this property.
-      },
-    ],
-    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-    "iconLink": "A String", # A link to the file's icon.
-    "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
-    "embedLink": "A String", # A link for embedding the file.
-    "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
-    "title": "A String", # The title of this file.
-    "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
-    "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
-    "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
-      "withLink": True or False, # Whether the link is required for this permission.
-      "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-      "name": "A String", # The name for this permission.
-      "kind": "drive#permission", # This is always drive#permission.
-      "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-      "id": "A String", # The ID of the permission.
-      "authKey": "A String", # The authkey parameter required for this permission.
-      "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-      "photoLink": "A String", # A link to the profile photo, if available.
-      "role": "A String", # The primary role for this user. Allowed values are:
-          # - owner
-          # - reader
-          # - writer
-      "type": "A String", # The account type. Allowed values are:
-          # - user
-          # - group
-          # - domain
-          # - anyone
-      "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-        "A String",
-      ],
-      "selfLink": "A String", # A link back to this permission.
-    },
-    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-    "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
-    "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
-    "selfLink": "A String", # A link back to this file.
-    "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(fileId, body=None, newRevision=None, media_body=None, ocrLanguage=None, ocr=None, pinned=None, updateViewedDate=None, timedTextTrackName=None, convert=None, useContentAsIndexableText=None, setModifiedDate=None, timedTextLanguage=None)</code>
-  <pre>Updates file metadata and/or content.
-
-Args:
-  fileId: string, The ID of the file to update. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # The metadata for a file.
-  "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
-  "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
-  "appDataContents": True or False, # Whether this file is in the appdata folder.
-  "thumbnailLink": "A String", # A link to the file's thumbnail.
-  "labels": { # A group of labels for the file.
-    "restricted": True or False, # Whether viewers are prevented from downloading this file.
-    "hidden": True or False, # Whether this file is hidden from the user.
-    "viewed": True or False, # Whether this file has been viewed by this user.
-    "starred": True or False, # Whether this file is starred by the user.
-    "trashed": True or False, # Whether this file has been trashed.
-  },
-  "indexableText": { # Indexable text attributes for the file (can only be written)
-    "text": "A String", # The text to be indexed for this file.
-  },
-  "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-  "lastModifyingUserName": "A String", # Name of the last user to modify this file.
-  "writersCanShare": True or False, # Whether writers can share the document with other users.
-  "owners": [ # The owner(s) of this file.
-    { # The JSON template for a user.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-  ],
-  "id": "A String", # The ID of the file.
-  "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
-    "picture": { # The user's profile picture.
-      "url": "A String", # A URL that points to a profile picture of this user.
-    },
-    "kind": "drive#user", # This is always drive#user.
-    "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-    "displayName": "A String", # A plain text displayable name for this user.
-    "permissionId": "A String", # The user's ID as visible in the permissions collection.
-  },
-  "copyable": True or False, # Whether the file can be copied by the current user.
-  "ownerNames": [ # Name(s) of the owner(s) of this file.
-    "A String",
-  ],
-  "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
-  "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-  "etag": "A String", # ETag of the file.
-  "parents": [ # Collection of parent folders which contain this file.
-      # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
-    { # A reference to a file's parent.
-      "selfLink": "A String", # A link back to this reference.
-      "kind": "drive#parentReference", # This is always drive#parentReference.
-      "id": "A String", # The ID of the parent.
-      "isRoot": True or False, # Whether or not the parent is the root folder.
-      "parentLink": "A String", # A link to the parent.
-    },
-  ],
-  "exportLinks": { # Links for exporting Google Docs to specific formats.
-    "a_key": "A String", # A mapping from export format to URL
-  },
-  "shared": True or False, # Whether the file has been shared.
-  "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
-    "mimeType": "A String", # The MIME type of the thumbnail.
-    "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
-  },
-  "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
-    "a_key": "A String",
-  },
-  "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
-    "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
-    "exposureTime": 3.14, # The length of the exposure, in seconds.
-    "cameraMake": "A String", # The make of the camera used to create the photo.
-    "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
-    "isoSpeed": 42, # The ISO speed used to create the photo.
-    "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
-    "exposureMode": "A String", # The exposure mode used to create the photo.
-    "colorSpace": "A String", # The color space of the photo.
-    "location": { # Geographic location information stored in the image.
-      "latitude": 3.14, # The latitude stored in the image.
-      "altitude": 3.14, # The altitude stored in the image.
-      "longitude": 3.14, # The longitude stored in the image.
-    },
-    "subjectDistance": 42, # The distance to the subject of the photo, in meters.
-    "height": 42, # The height of the image in pixels.
-    "lens": "A String", # The lens used to create the photo.
-    "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
-    "width": 42, # The width of the image in pixels.
-    "meteringMode": "A String", # The metering mode used to create the photo.
-    "flashUsed": True or False, # Whether a flash was used to create the photo.
-    "aperture": 3.14, # The aperture used to create the photo (f-number).
-    "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
-    "sensor": "A String", # The type of sensor used to create the photo.
-    "whiteBalance": "A String", # The white balance mode used to create the photo.
-    "cameraModel": "A String", # The model of the camera used to create the photo.
-  },
-  "description": "A String", # A short description of the file.
-  "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-  "editable": True or False, # Whether the file can be edited by the current user.
-  "kind": "drive#file", # The type of file. This is always drive#file.
-  "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-  "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-  "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-  "properties": [ # The list of properties.
-    { # A key-value pair that is either public or private to an application.
-      "kind": "drive#property", # This is always drive#property.
-      "value": "A String", # The value of this property.
-      "etag": "A String", # ETag of the property.
-      "visibility": "A String", # The visibility of this property.
-      "key": "A String", # The key of this property.
-      "selfLink": "A String", # The link back to this property.
-    },
-  ],
-  "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-  "iconLink": "A String", # A link to the file's icon.
-  "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
-  "embedLink": "A String", # A link for embedding the file.
-  "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
-  "title": "A String", # The title of this file.
-  "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
-  "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
-  "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
-    "withLink": True or False, # Whether the link is required for this permission.
-    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-    "name": "A String", # The name for this permission.
-    "kind": "drive#permission", # This is always drive#permission.
-    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-    "id": "A String", # The ID of the permission.
-    "authKey": "A String", # The authkey parameter required for this permission.
-    "etag": "A String", # The ETag of the permission.
-    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-    "photoLink": "A String", # A link to the profile photo, if available.
-    "role": "A String", # The primary role for this user. Allowed values are:
-        # - owner
-        # - reader
-        # - writer
-    "type": "A String", # The account type. Allowed values are:
-        # - user
-        # - group
-        # - domain
-        # - anyone
-    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-      "A String",
-    ],
-    "selfLink": "A String", # A link back to this permission.
-  },
-  "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-  "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
-  "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
-  "selfLink": "A String", # A link back to this file.
-  "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
-}
-
-  newRevision: boolean, Whether a blob upload should create a new revision. If not set or false, the blob data in the current head revision is replaced. If true, a new blob is created as head revision, and previous revisions are preserved (causing increased use of the user's data storage quota).
-  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
-  ocrLanguage: string, If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes.
-  ocr: boolean, Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.
-  pinned: boolean, Whether to pin the new revision.
-  updateViewedDate: boolean, Whether to update the view date after successfully updating the file.
-  timedTextTrackName: string, The timed text track name.
-  convert: boolean, Whether to convert this file to the corresponding Google Docs format.
-  useContentAsIndexableText: boolean, Whether to use the content as indexable text.
-  setModifiedDate: boolean, Whether to set the modified date with the supplied modified date.
-  timedTextLanguage: string, The language of the timed text.
-
-Returns:
-  An object of the form:
-
-    { # The metadata for a file.
-    "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
-    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
-    "appDataContents": True or False, # Whether this file is in the appdata folder.
-    "thumbnailLink": "A String", # A link to the file's thumbnail.
-    "labels": { # A group of labels for the file.
-      "restricted": True or False, # Whether viewers are prevented from downloading this file.
-      "hidden": True or False, # Whether this file is hidden from the user.
-      "viewed": True or False, # Whether this file has been viewed by this user.
-      "starred": True or False, # Whether this file is starred by the user.
-      "trashed": True or False, # Whether this file has been trashed.
-    },
-    "indexableText": { # Indexable text attributes for the file (can only be written)
-      "text": "A String", # The text to be indexed for this file.
-    },
-    "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-    "lastModifyingUserName": "A String", # Name of the last user to modify this file.
-    "writersCanShare": True or False, # Whether writers can share the document with other users.
-    "owners": [ # The owner(s) of this file.
-      { # The JSON template for a user.
-        "picture": { # The user's profile picture.
-          "url": "A String", # A URL that points to a profile picture of this user.
-        },
-        "kind": "drive#user", # This is always drive#user.
-        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-        "displayName": "A String", # A plain text displayable name for this user.
-        "permissionId": "A String", # The user's ID as visible in the permissions collection.
-      },
-    ],
-    "id": "A String", # The ID of the file.
-    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-    "copyable": True or False, # Whether the file can be copied by the current user.
-    "ownerNames": [ # Name(s) of the owner(s) of this file.
-      "A String",
-    ],
-    "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
-    "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-    "etag": "A String", # ETag of the file.
-    "parents": [ # Collection of parent folders which contain this file.
-        # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
-      { # A reference to a file's parent.
-        "selfLink": "A String", # A link back to this reference.
-        "kind": "drive#parentReference", # This is always drive#parentReference.
-        "id": "A String", # The ID of the parent.
-        "isRoot": True or False, # Whether or not the parent is the root folder.
-        "parentLink": "A String", # A link to the parent.
-      },
-    ],
-    "exportLinks": { # Links for exporting Google Docs to specific formats.
-      "a_key": "A String", # A mapping from export format to URL
-    },
-    "shared": True or False, # Whether the file has been shared.
-    "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
-      "mimeType": "A String", # The MIME type of the thumbnail.
-      "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
-    },
-    "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
-      "a_key": "A String",
-    },
-    "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
-      "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
-      "exposureTime": 3.14, # The length of the exposure, in seconds.
-      "cameraMake": "A String", # The make of the camera used to create the photo.
-      "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
-      "isoSpeed": 42, # The ISO speed used to create the photo.
-      "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
-      "exposureMode": "A String", # The exposure mode used to create the photo.
-      "colorSpace": "A String", # The color space of the photo.
-      "location": { # Geographic location information stored in the image.
-        "latitude": 3.14, # The latitude stored in the image.
-        "altitude": 3.14, # The altitude stored in the image.
-        "longitude": 3.14, # The longitude stored in the image.
-      },
-      "subjectDistance": 42, # The distance to the subject of the photo, in meters.
-      "height": 42, # The height of the image in pixels.
-      "lens": "A String", # The lens used to create the photo.
-      "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
-      "width": 42, # The width of the image in pixels.
-      "meteringMode": "A String", # The metering mode used to create the photo.
-      "flashUsed": True or False, # Whether a flash was used to create the photo.
-      "aperture": 3.14, # The aperture used to create the photo (f-number).
-      "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
-      "sensor": "A String", # The type of sensor used to create the photo.
-      "whiteBalance": "A String", # The white balance mode used to create the photo.
-      "cameraModel": "A String", # The model of the camera used to create the photo.
-    },
-    "description": "A String", # A short description of the file.
-    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-    "editable": True or False, # Whether the file can be edited by the current user.
-    "kind": "drive#file", # The type of file. This is always drive#file.
-    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-    "properties": [ # The list of properties.
-      { # A key-value pair that is either public or private to an application.
-        "kind": "drive#property", # This is always drive#property.
-        "value": "A String", # The value of this property.
-        "etag": "A String", # ETag of the property.
-        "visibility": "A String", # The visibility of this property.
-        "key": "A String", # The key of this property.
-        "selfLink": "A String", # The link back to this property.
-      },
-    ],
-    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-    "iconLink": "A String", # A link to the file's icon.
-    "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
-    "embedLink": "A String", # A link for embedding the file.
-    "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
-    "title": "A String", # The title of this file.
-    "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
-    "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
-    "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
-      "withLink": True or False, # Whether the link is required for this permission.
-      "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-      "name": "A String", # The name for this permission.
-      "kind": "drive#permission", # This is always drive#permission.
-      "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-      "id": "A String", # The ID of the permission.
-      "authKey": "A String", # The authkey parameter required for this permission.
-      "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-      "photoLink": "A String", # A link to the profile photo, if available.
-      "role": "A String", # The primary role for this user. Allowed values are:
-          # - owner
-          # - reader
-          # - writer
-      "type": "A String", # The account type. Allowed values are:
-          # - user
-          # - group
-          # - domain
-          # - anyone
-      "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-        "A String",
-      ],
-      "selfLink": "A String", # A link back to this permission.
-    },
-    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-    "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
-    "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
-    "selfLink": "A String", # A link back to this file.
-    "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="watch">watch(fileId, body, projection=None, updateViewedDate=None)</code>
-  <pre>Subscribe to changes on a file
-
-Args:
-  fileId: string, The ID for the file in question. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "resourceUri": "A String", # The canonicalized ID of the watched resource.
-    "kind": "api#channel", # A channel watching an API resource
-    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
-    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
-    "params": { # Additional parameters controlling delivery channel behavior
-      "a_key": "A String", # Declares a new parameter by name.
-    },
-    "expiration": "A String", # The expiration instant for this channel if it is defined.
-    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
-    "type": "A String", # The type of delivery mechanism used by this channel
-    "id": "A String", # A UUID for the channel
-  }
-
-  projection: string, This parameter is deprecated and has no function.
-    Allowed values
-      BASIC - Deprecated
-      FULL - Deprecated
-  updateViewedDate: boolean, Whether to update the view date after successfully retrieving the file.
-
-Returns:
-  An object of the form:
-
-    {
-      "resourceUri": "A String", # The canonicalized ID of the watched resource.
-      "kind": "api#channel", # A channel watching an API resource
-      "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
-      "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
-      "params": { # Additional parameters controlling delivery channel behavior
-        "a_key": "A String", # Declares a new parameter by name.
-      },
-      "expiration": "A String", # The expiration instant for this channel if it is defined.
-      "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
-      "type": "A String", # The type of delivery mechanism used by this channel
-      "id": "A String", # A UUID for the channel
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.html b/docs/dyn/drive_v2.html
deleted file mode 100644
index 471c46c..0000000
--- a/docs/dyn/drive_v2.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="drive_v2.html">Drive API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="drive_v2.about.html">about()</a></code>
-</p>
-<p class="firstline">Returns the about Resource.</p>
-
-<p class="toc_element">
-  <code><a href="drive_v2.apps.html">apps()</a></code>
-</p>
-<p class="firstline">Returns the apps Resource.</p>
-
-<p class="toc_element">
-  <code><a href="drive_v2.changes.html">changes()</a></code>
-</p>
-<p class="firstline">Returns the changes Resource.</p>
-
-<p class="toc_element">
-  <code><a href="drive_v2.channels.html">channels()</a></code>
-</p>
-<p class="firstline">Returns the channels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="drive_v2.children.html">children()</a></code>
-</p>
-<p class="firstline">Returns the children Resource.</p>
-
-<p class="toc_element">
-  <code><a href="drive_v2.comments.html">comments()</a></code>
-</p>
-<p class="firstline">Returns the comments Resource.</p>
-
-<p class="toc_element">
-  <code><a href="drive_v2.files.html">files()</a></code>
-</p>
-<p class="firstline">Returns the files Resource.</p>
-
-<p class="toc_element">
-  <code><a href="drive_v2.parents.html">parents()</a></code>
-</p>
-<p class="firstline">Returns the parents Resource.</p>
-
-<p class="toc_element">
-  <code><a href="drive_v2.permissions.html">permissions()</a></code>
-</p>
-<p class="firstline">Returns the permissions Resource.</p>
-
-<p class="toc_element">
-  <code><a href="drive_v2.properties.html">properties()</a></code>
-</p>
-<p class="firstline">Returns the properties Resource.</p>
-
-<p class="toc_element">
-  <code><a href="drive_v2.realtime.html">realtime()</a></code>
-</p>
-<p class="firstline">Returns the realtime Resource.</p>
-
-<p class="toc_element">
-  <code><a href="drive_v2.replies.html">replies()</a></code>
-</p>
-<p class="firstline">Returns the replies Resource.</p>
-
-<p class="toc_element">
-  <code><a href="drive_v2.revisions.html">revisions()</a></code>
-</p>
-<p class="firstline">Returns the revisions Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.parents.html b/docs/dyn/drive_v2.parents.html
deleted file mode 100644
index 4dc0671..0000000
--- a/docs/dyn/drive_v2.parents.html
+++ /dev/null
@@ -1,176 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="drive_v2.html">Drive API</a> . <a href="drive_v2.parents.html">parents</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(fileId, parentId)</a></code></p>
-<p class="firstline">Removes a parent from a file.</p>
-<p class="toc_element">
-  <code><a href="#get">get(fileId, parentId)</a></code></p>
-<p class="firstline">Gets a specific parent reference.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(fileId, body)</a></code></p>
-<p class="firstline">Adds a parent folder for a file.</p>
-<p class="toc_element">
-  <code><a href="#list">list(fileId)</a></code></p>
-<p class="firstline">Lists a file's parents.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(fileId, parentId)</code>
-  <pre>Removes a parent from a file.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  parentId: string, The ID of the parent. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(fileId, parentId)</code>
-  <pre>Gets a specific parent reference.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  parentId: string, The ID of the parent. (required)
-
-Returns:
-  An object of the form:
-
-    { # A reference to a file's parent.
-    "selfLink": "A String", # A link back to this reference.
-    "kind": "drive#parentReference", # This is always drive#parentReference.
-    "id": "A String", # The ID of the parent.
-    "isRoot": True or False, # Whether or not the parent is the root folder.
-    "parentLink": "A String", # A link to the parent.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(fileId, body)</code>
-  <pre>Adds a parent folder for a file.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A reference to a file's parent.
-  "selfLink": "A String", # A link back to this reference.
-  "kind": "drive#parentReference", # This is always drive#parentReference.
-  "id": "A String", # The ID of the parent.
-  "isRoot": True or False, # Whether or not the parent is the root folder.
-  "parentLink": "A String", # A link to the parent.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # A reference to a file's parent.
-    "selfLink": "A String", # A link back to this reference.
-    "kind": "drive#parentReference", # This is always drive#parentReference.
-    "id": "A String", # The ID of the parent.
-    "isRoot": True or False, # Whether or not the parent is the root folder.
-    "parentLink": "A String", # A link to the parent.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(fileId)</code>
-  <pre>Lists a file's parents.
-
-Args:
-  fileId: string, The ID of the file. (required)
-
-Returns:
-  An object of the form:
-
-    { # A list of a file's parents.
-    "items": [ # The actual list of parents.
-      { # A reference to a file's parent.
-        "selfLink": "A String", # A link back to this reference.
-        "kind": "drive#parentReference", # This is always drive#parentReference.
-        "id": "A String", # The ID of the parent.
-        "isRoot": True or False, # Whether or not the parent is the root folder.
-        "parentLink": "A String", # A link to the parent.
-      },
-    ],
-    "kind": "drive#parentList", # This is always drive#parentList.
-    "etag": "A String", # The ETag of the list.
-    "selfLink": "A String", # A link back to this list.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.permissions.html b/docs/dyn/drive_v2.permissions.html
deleted file mode 100644
index dddaf83..0000000
--- a/docs/dyn/drive_v2.permissions.html
+++ /dev/null
@@ -1,392 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="drive_v2.html">Drive API</a> . <a href="drive_v2.permissions.html">permissions</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(fileId, permissionId)</a></code></p>
-<p class="firstline">Deletes a permission from a file.</p>
-<p class="toc_element">
-  <code><a href="#get">get(fileId, permissionId)</a></code></p>
-<p class="firstline">Gets a permission by ID.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(fileId, body, sendNotificationEmails=None, emailMessage=None)</a></code></p>
-<p class="firstline">Inserts a permission for a file.</p>
-<p class="toc_element">
-  <code><a href="#list">list(fileId)</a></code></p>
-<p class="firstline">Lists a file's permissions.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(fileId, permissionId, body, transferOwnership=None)</a></code></p>
-<p class="firstline">Updates a permission. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(fileId, permissionId, body, transferOwnership=None)</a></code></p>
-<p class="firstline">Updates a permission.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(fileId, permissionId)</code>
-  <pre>Deletes a permission from a file.
-
-Args:
-  fileId: string, The ID for the file. (required)
-  permissionId: string, The ID for the permission. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(fileId, permissionId)</code>
-  <pre>Gets a permission by ID.
-
-Args:
-  fileId: string, The ID for the file. (required)
-  permissionId: string, The ID for the permission. (required)
-
-Returns:
-  An object of the form:
-
-    { # A permission for a file.
-    "withLink": True or False, # Whether the link is required for this permission.
-    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-    "name": "A String", # The name for this permission.
-    "kind": "drive#permission", # This is always drive#permission.
-    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-    "id": "A String", # The ID of the permission.
-    "authKey": "A String", # The authkey parameter required for this permission.
-    "etag": "A String", # The ETag of the permission.
-    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-    "photoLink": "A String", # A link to the profile photo, if available.
-    "role": "A String", # The primary role for this user. Allowed values are:
-        # - owner
-        # - reader
-        # - writer
-    "type": "A String", # The account type. Allowed values are:
-        # - user
-        # - group
-        # - domain
-        # - anyone
-    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-      "A String",
-    ],
-    "selfLink": "A String", # A link back to this permission.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(fileId, body, sendNotificationEmails=None, emailMessage=None)</code>
-  <pre>Inserts a permission for a file.
-
-Args:
-  fileId: string, The ID for the file. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A permission for a file.
-  "withLink": True or False, # Whether the link is required for this permission.
-  "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-  "name": "A String", # The name for this permission.
-  "kind": "drive#permission", # This is always drive#permission.
-  "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-  "id": "A String", # The ID of the permission.
-  "authKey": "A String", # The authkey parameter required for this permission.
-  "etag": "A String", # The ETag of the permission.
-  "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-  "photoLink": "A String", # A link to the profile photo, if available.
-  "role": "A String", # The primary role for this user. Allowed values are:
-      # - owner
-      # - reader
-      # - writer
-  "type": "A String", # The account type. Allowed values are:
-      # - user
-      # - group
-      # - domain
-      # - anyone
-  "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-    "A String",
-  ],
-  "selfLink": "A String", # A link back to this permission.
-}
-
-  sendNotificationEmails: boolean, Whether to send notification emails when sharing to users or groups.
-  emailMessage: string, A custom message to include in notification emails.
-
-Returns:
-  An object of the form:
-
-    { # A permission for a file.
-    "withLink": True or False, # Whether the link is required for this permission.
-    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-    "name": "A String", # The name for this permission.
-    "kind": "drive#permission", # This is always drive#permission.
-    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-    "id": "A String", # The ID of the permission.
-    "authKey": "A String", # The authkey parameter required for this permission.
-    "etag": "A String", # The ETag of the permission.
-    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-    "photoLink": "A String", # A link to the profile photo, if available.
-    "role": "A String", # The primary role for this user. Allowed values are:
-        # - owner
-        # - reader
-        # - writer
-    "type": "A String", # The account type. Allowed values are:
-        # - user
-        # - group
-        # - domain
-        # - anyone
-    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-      "A String",
-    ],
-    "selfLink": "A String", # A link back to this permission.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(fileId)</code>
-  <pre>Lists a file's permissions.
-
-Args:
-  fileId: string, The ID for the file. (required)
-
-Returns:
-  An object of the form:
-
-    { # A list of permissions associated with a file.
-    "items": [ # The actual list of permissions.
-      { # A permission for a file.
-        "withLink": True or False, # Whether the link is required for this permission.
-        "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-        "name": "A String", # The name for this permission.
-        "kind": "drive#permission", # This is always drive#permission.
-        "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-        "id": "A String", # The ID of the permission.
-        "authKey": "A String", # The authkey parameter required for this permission.
-        "etag": "A String", # The ETag of the permission.
-        "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-        "photoLink": "A String", # A link to the profile photo, if available.
-        "role": "A String", # The primary role for this user. Allowed values are:
-            # - owner
-            # - reader
-            # - writer
-        "type": "A String", # The account type. Allowed values are:
-            # - user
-            # - group
-            # - domain
-            # - anyone
-        "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-          "A String",
-        ],
-        "selfLink": "A String", # A link back to this permission.
-      },
-    ],
-    "kind": "drive#permissionList", # This is always drive#permissionList.
-    "etag": "A String", # The ETag of the list.
-    "selfLink": "A String", # A link back to this list.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(fileId, permissionId, body, transferOwnership=None)</code>
-  <pre>Updates a permission. This method supports patch semantics.
-
-Args:
-  fileId: string, The ID for the file. (required)
-  permissionId: string, The ID for the permission. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A permission for a file.
-  "withLink": True or False, # Whether the link is required for this permission.
-  "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-  "name": "A String", # The name for this permission.
-  "kind": "drive#permission", # This is always drive#permission.
-  "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-  "id": "A String", # The ID of the permission.
-  "authKey": "A String", # The authkey parameter required for this permission.
-  "etag": "A String", # The ETag of the permission.
-  "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-  "photoLink": "A String", # A link to the profile photo, if available.
-  "role": "A String", # The primary role for this user. Allowed values are:
-      # - owner
-      # - reader
-      # - writer
-  "type": "A String", # The account type. Allowed values are:
-      # - user
-      # - group
-      # - domain
-      # - anyone
-  "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-    "A String",
-  ],
-  "selfLink": "A String", # A link back to this permission.
-}
-
-  transferOwnership: boolean, Whether changing a role to 'owner' should also downgrade the current owners to writers.
-
-Returns:
-  An object of the form:
-
-    { # A permission for a file.
-    "withLink": True or False, # Whether the link is required for this permission.
-    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-    "name": "A String", # The name for this permission.
-    "kind": "drive#permission", # This is always drive#permission.
-    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-    "id": "A String", # The ID of the permission.
-    "authKey": "A String", # The authkey parameter required for this permission.
-    "etag": "A String", # The ETag of the permission.
-    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-    "photoLink": "A String", # A link to the profile photo, if available.
-    "role": "A String", # The primary role for this user. Allowed values are:
-        # - owner
-        # - reader
-        # - writer
-    "type": "A String", # The account type. Allowed values are:
-        # - user
-        # - group
-        # - domain
-        # - anyone
-    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-      "A String",
-    ],
-    "selfLink": "A String", # A link back to this permission.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(fileId, permissionId, body, transferOwnership=None)</code>
-  <pre>Updates a permission.
-
-Args:
-  fileId: string, The ID for the file. (required)
-  permissionId: string, The ID for the permission. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A permission for a file.
-  "withLink": True or False, # Whether the link is required for this permission.
-  "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-  "name": "A String", # The name for this permission.
-  "kind": "drive#permission", # This is always drive#permission.
-  "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-  "id": "A String", # The ID of the permission.
-  "authKey": "A String", # The authkey parameter required for this permission.
-  "etag": "A String", # The ETag of the permission.
-  "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-  "photoLink": "A String", # A link to the profile photo, if available.
-  "role": "A String", # The primary role for this user. Allowed values are:
-      # - owner
-      # - reader
-      # - writer
-  "type": "A String", # The account type. Allowed values are:
-      # - user
-      # - group
-      # - domain
-      # - anyone
-  "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-    "A String",
-  ],
-  "selfLink": "A String", # A link back to this permission.
-}
-
-  transferOwnership: boolean, Whether changing a role to 'owner' should also downgrade the current owners to writers.
-
-Returns:
-  An object of the form:
-
-    { # A permission for a file.
-    "withLink": True or False, # Whether the link is required for this permission.
-    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
-    "name": "A String", # The name for this permission.
-    "kind": "drive#permission", # This is always drive#permission.
-    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
-    "id": "A String", # The ID of the permission.
-    "authKey": "A String", # The authkey parameter required for this permission.
-    "etag": "A String", # The ETag of the permission.
-    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
-    "photoLink": "A String", # A link to the profile photo, if available.
-    "role": "A String", # The primary role for this user. Allowed values are:
-        # - owner
-        # - reader
-        # - writer
-    "type": "A String", # The account type. Allowed values are:
-        # - user
-        # - group
-        # - domain
-        # - anyone
-    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
-      "A String",
-    ],
-    "selfLink": "A String", # A link back to this permission.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.properties.html b/docs/dyn/drive_v2.properties.html
deleted file mode 100644
index a5f7e24..0000000
--- a/docs/dyn/drive_v2.properties.html
+++ /dev/null
@@ -1,256 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="drive_v2.html">Drive API</a> . <a href="drive_v2.properties.html">properties</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(fileId, propertyKey, visibility=None)</a></code></p>
-<p class="firstline">Deletes a property.</p>
-<p class="toc_element">
-  <code><a href="#get">get(fileId, propertyKey, visibility=None)</a></code></p>
-<p class="firstline">Gets a property by its key.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(fileId, body)</a></code></p>
-<p class="firstline">Adds a property to a file.</p>
-<p class="toc_element">
-  <code><a href="#list">list(fileId)</a></code></p>
-<p class="firstline">Lists a file's properties.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(fileId, propertyKey, body, visibility=None)</a></code></p>
-<p class="firstline">Updates a property. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(fileId, propertyKey, body, visibility=None)</a></code></p>
-<p class="firstline">Updates a property.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(fileId, propertyKey, visibility=None)</code>
-  <pre>Deletes a property.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  propertyKey: string, The key of the property. (required)
-  visibility: string, The visibility of the property.
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(fileId, propertyKey, visibility=None)</code>
-  <pre>Gets a property by its key.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  propertyKey: string, The key of the property. (required)
-  visibility: string, The visibility of the property.
-
-Returns:
-  An object of the form:
-
-    { # A key-value pair that is either public or private to an application.
-    "kind": "drive#property", # This is always drive#property.
-    "value": "A String", # The value of this property.
-    "etag": "A String", # ETag of the property.
-    "visibility": "A String", # The visibility of this property.
-    "key": "A String", # The key of this property.
-    "selfLink": "A String", # The link back to this property.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(fileId, body)</code>
-  <pre>Adds a property to a file.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A key-value pair that is either public or private to an application.
-  "kind": "drive#property", # This is always drive#property.
-  "value": "A String", # The value of this property.
-  "etag": "A String", # ETag of the property.
-  "visibility": "A String", # The visibility of this property.
-  "key": "A String", # The key of this property.
-  "selfLink": "A String", # The link back to this property.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # A key-value pair that is either public or private to an application.
-    "kind": "drive#property", # This is always drive#property.
-    "value": "A String", # The value of this property.
-    "etag": "A String", # ETag of the property.
-    "visibility": "A String", # The visibility of this property.
-    "key": "A String", # The key of this property.
-    "selfLink": "A String", # The link back to this property.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(fileId)</code>
-  <pre>Lists a file's properties.
-
-Args:
-  fileId: string, The ID of the file. (required)
-
-Returns:
-  An object of the form:
-
-    { # A collection of properties, key-value pairs that are either public or private to an application.
-    "items": [ # The list of properties.
-      { # A key-value pair that is either public or private to an application.
-        "kind": "drive#property", # This is always drive#property.
-        "value": "A String", # The value of this property.
-        "etag": "A String", # ETag of the property.
-        "visibility": "A String", # The visibility of this property.
-        "key": "A String", # The key of this property.
-        "selfLink": "A String", # The link back to this property.
-      },
-    ],
-    "kind": "drive#propertyList", # This is always drive#propertyList.
-    "etag": "A String", # The ETag of the list.
-    "selfLink": "A String", # The link back to this list.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(fileId, propertyKey, body, visibility=None)</code>
-  <pre>Updates a property. This method supports patch semantics.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  propertyKey: string, The key of the property. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A key-value pair that is either public or private to an application.
-  "kind": "drive#property", # This is always drive#property.
-  "value": "A String", # The value of this property.
-  "etag": "A String", # ETag of the property.
-  "visibility": "A String", # The visibility of this property.
-  "key": "A String", # The key of this property.
-  "selfLink": "A String", # The link back to this property.
-}
-
-  visibility: string, The visibility of the property.
-
-Returns:
-  An object of the form:
-
-    { # A key-value pair that is either public or private to an application.
-    "kind": "drive#property", # This is always drive#property.
-    "value": "A String", # The value of this property.
-    "etag": "A String", # ETag of the property.
-    "visibility": "A String", # The visibility of this property.
-    "key": "A String", # The key of this property.
-    "selfLink": "A String", # The link back to this property.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(fileId, propertyKey, body, visibility=None)</code>
-  <pre>Updates a property.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  propertyKey: string, The key of the property. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A key-value pair that is either public or private to an application.
-  "kind": "drive#property", # This is always drive#property.
-  "value": "A String", # The value of this property.
-  "etag": "A String", # ETag of the property.
-  "visibility": "A String", # The visibility of this property.
-  "key": "A String", # The key of this property.
-  "selfLink": "A String", # The link back to this property.
-}
-
-  visibility: string, The visibility of the property.
-
-Returns:
-  An object of the form:
-
-    { # A key-value pair that is either public or private to an application.
-    "kind": "drive#property", # This is always drive#property.
-    "value": "A String", # The value of this property.
-    "etag": "A String", # ETag of the property.
-    "visibility": "A String", # The visibility of this property.
-    "key": "A String", # The key of this property.
-    "selfLink": "A String", # The link back to this property.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.realtime.html b/docs/dyn/drive_v2.realtime.html
deleted file mode 100644
index cea77ee..0000000
--- a/docs/dyn/drive_v2.realtime.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="drive_v2.html">Drive API</a> . <a href="drive_v2.realtime.html">realtime</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(fileId)</a></code></p>
-<p class="firstline">Exports the contents of the Realtime API data model associated with this file as JSON.</p>
-<p class="toc_element">
-  <code><a href="#get_media">get_media(fileId)</a></code></p>
-<p class="firstline">Exports the contents of the Realtime API data model associated with this file as JSON.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(fileId)</code>
-  <pre>Exports the contents of the Realtime API data model associated with this file as JSON.
-
-Args:
-  fileId: string, The ID of the file that the Realtime API data model is associated with. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get_media">get_media(fileId)</code>
-  <pre>Exports the contents of the Realtime API data model associated with this file as JSON.
-
-Args:
-  fileId: string, The ID of the file that the Realtime API data model is associated with. (required)
-</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.replies.html b/docs/dyn/drive_v2.replies.html
deleted file mode 100644
index e393640..0000000
--- a/docs/dyn/drive_v2.replies.html
+++ /dev/null
@@ -1,384 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="drive_v2.html">Drive API</a> . <a href="drive_v2.replies.html">replies</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(fileId, commentId, replyId)</a></code></p>
-<p class="firstline">Deletes a reply.</p>
-<p class="toc_element">
-  <code><a href="#get">get(fileId, commentId, replyId, includeDeleted=None)</a></code></p>
-<p class="firstline">Gets a reply.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(fileId, commentId, body)</a></code></p>
-<p class="firstline">Creates a new reply to the given comment.</p>
-<p class="toc_element">
-  <code><a href="#list">list(fileId, commentId, includeDeleted=None, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Lists all of the replies to a comment.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(fileId, commentId, replyId, body)</a></code></p>
-<p class="firstline">Updates an existing reply. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(fileId, commentId, replyId, body)</a></code></p>
-<p class="firstline">Updates an existing reply.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(fileId, commentId, replyId)</code>
-  <pre>Deletes a reply.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  commentId: string, The ID of the comment. (required)
-  replyId: string, The ID of the reply. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(fileId, commentId, replyId, includeDeleted=None)</code>
-  <pre>Gets a reply.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  commentId: string, The ID of the comment. (required)
-  replyId: string, The ID of the reply. (required)
-  includeDeleted: boolean, If set, this will succeed when retrieving a deleted reply.
-
-Returns:
-  An object of the form:
-
-    { # A JSON representation of a reply to a comment on a file in Google Drive.
-    "kind": "drive#commentReply", # This is always drive#commentReply.
-    "author": { # The JSON template for a user. # The user who wrote this reply.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-    "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
-    "htmlContent": "A String", # HTML formatted content for this reply.
-    "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
-    "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
-        # - "resolve" - To resolve a comment.
-        # - "reopen" - To reopen (un-resolve) a comment.
-    "replyId": "A String", # The ID of the reply.
-    "modifiedDate": "A String", # The date when this reply was last modified.
-    "createdDate": "A String", # The date when this reply was first created.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(fileId, commentId, body)</code>
-  <pre>Creates a new reply to the given comment.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  commentId: string, The ID of the comment. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A JSON representation of a reply to a comment on a file in Google Drive.
-  "kind": "drive#commentReply", # This is always drive#commentReply.
-  "author": { # The JSON template for a user. # The user who wrote this reply.
-    "picture": { # The user's profile picture.
-      "url": "A String", # A URL that points to a profile picture of this user.
-    },
-    "kind": "drive#user", # This is always drive#user.
-    "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-    "displayName": "A String", # A plain text displayable name for this user.
-    "permissionId": "A String", # The user's ID as visible in the permissions collection.
-  },
-  "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
-  "htmlContent": "A String", # HTML formatted content for this reply.
-  "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
-  "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
-      # - "resolve" - To resolve a comment.
-      # - "reopen" - To reopen (un-resolve) a comment.
-  "replyId": "A String", # The ID of the reply.
-  "modifiedDate": "A String", # The date when this reply was last modified.
-  "createdDate": "A String", # The date when this reply was first created.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # A JSON representation of a reply to a comment on a file in Google Drive.
-    "kind": "drive#commentReply", # This is always drive#commentReply.
-    "author": { # The JSON template for a user. # The user who wrote this reply.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-    "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
-    "htmlContent": "A String", # HTML formatted content for this reply.
-    "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
-    "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
-        # - "resolve" - To resolve a comment.
-        # - "reopen" - To reopen (un-resolve) a comment.
-    "replyId": "A String", # The ID of the reply.
-    "modifiedDate": "A String", # The date when this reply was last modified.
-    "createdDate": "A String", # The date when this reply was first created.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(fileId, commentId, includeDeleted=None, pageToken=None, maxResults=None)</code>
-  <pre>Lists all of the replies to a comment.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  commentId: string, The ID of the comment. (required)
-  includeDeleted: boolean, If set, all replies, including deleted replies (with content stripped) will be returned.
-  pageToken: string, The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of replies to include in the response, used for paging.
-
-Returns:
-  An object of the form:
-
-    { # A JSON representation of a list of replies to a comment on a file in Google Drive.
-    "nextPageToken": "A String", # The token to use to request the next page of results.
-    "items": [ # List of reply.
-      { # A JSON representation of a reply to a comment on a file in Google Drive.
-        "kind": "drive#commentReply", # This is always drive#commentReply.
-        "author": { # The JSON template for a user. # The user who wrote this reply.
-          "picture": { # The user's profile picture.
-            "url": "A String", # A URL that points to a profile picture of this user.
-          },
-          "kind": "drive#user", # This is always drive#user.
-          "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-          "displayName": "A String", # A plain text displayable name for this user.
-          "permissionId": "A String", # The user's ID as visible in the permissions collection.
-        },
-        "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
-        "htmlContent": "A String", # HTML formatted content for this reply.
-        "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
-        "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
-            # - "resolve" - To resolve a comment.
-            # - "reopen" - To reopen (un-resolve) a comment.
-        "replyId": "A String", # The ID of the reply.
-        "modifiedDate": "A String", # The date when this reply was last modified.
-        "createdDate": "A String", # The date when this reply was first created.
-      },
-    ],
-    "kind": "drive#commentReplyList", # This is always drive#commentReplyList.
-    "selfLink": "A String", # A link back to this list.
-    "nextLink": "A String", # A link to the next page of replies.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(fileId, commentId, replyId, body)</code>
-  <pre>Updates an existing reply. This method supports patch semantics.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  commentId: string, The ID of the comment. (required)
-  replyId: string, The ID of the reply. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A JSON representation of a reply to a comment on a file in Google Drive.
-  "kind": "drive#commentReply", # This is always drive#commentReply.
-  "author": { # The JSON template for a user. # The user who wrote this reply.
-    "picture": { # The user's profile picture.
-      "url": "A String", # A URL that points to a profile picture of this user.
-    },
-    "kind": "drive#user", # This is always drive#user.
-    "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-    "displayName": "A String", # A plain text displayable name for this user.
-    "permissionId": "A String", # The user's ID as visible in the permissions collection.
-  },
-  "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
-  "htmlContent": "A String", # HTML formatted content for this reply.
-  "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
-  "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
-      # - "resolve" - To resolve a comment.
-      # - "reopen" - To reopen (un-resolve) a comment.
-  "replyId": "A String", # The ID of the reply.
-  "modifiedDate": "A String", # The date when this reply was last modified.
-  "createdDate": "A String", # The date when this reply was first created.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # A JSON representation of a reply to a comment on a file in Google Drive.
-    "kind": "drive#commentReply", # This is always drive#commentReply.
-    "author": { # The JSON template for a user. # The user who wrote this reply.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-    "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
-    "htmlContent": "A String", # HTML formatted content for this reply.
-    "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
-    "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
-        # - "resolve" - To resolve a comment.
-        # - "reopen" - To reopen (un-resolve) a comment.
-    "replyId": "A String", # The ID of the reply.
-    "modifiedDate": "A String", # The date when this reply was last modified.
-    "createdDate": "A String", # The date when this reply was first created.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(fileId, commentId, replyId, body)</code>
-  <pre>Updates an existing reply.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  commentId: string, The ID of the comment. (required)
-  replyId: string, The ID of the reply. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A JSON representation of a reply to a comment on a file in Google Drive.
-  "kind": "drive#commentReply", # This is always drive#commentReply.
-  "author": { # The JSON template for a user. # The user who wrote this reply.
-    "picture": { # The user's profile picture.
-      "url": "A String", # A URL that points to a profile picture of this user.
-    },
-    "kind": "drive#user", # This is always drive#user.
-    "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-    "displayName": "A String", # A plain text displayable name for this user.
-    "permissionId": "A String", # The user's ID as visible in the permissions collection.
-  },
-  "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
-  "htmlContent": "A String", # HTML formatted content for this reply.
-  "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
-  "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
-      # - "resolve" - To resolve a comment.
-      # - "reopen" - To reopen (un-resolve) a comment.
-  "replyId": "A String", # The ID of the reply.
-  "modifiedDate": "A String", # The date when this reply was last modified.
-  "createdDate": "A String", # The date when this reply was first created.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # A JSON representation of a reply to a comment on a file in Google Drive.
-    "kind": "drive#commentReply", # This is always drive#commentReply.
-    "author": { # The JSON template for a user. # The user who wrote this reply.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-    "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
-    "htmlContent": "A String", # HTML formatted content for this reply.
-    "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
-    "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
-        # - "resolve" - To resolve a comment.
-        # - "reopen" - To reopen (un-resolve) a comment.
-    "replyId": "A String", # The ID of the reply.
-    "modifiedDate": "A String", # The date when this reply was last modified.
-    "createdDate": "A String", # The date when this reply was first created.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.revisions.html b/docs/dyn/drive_v2.revisions.html
deleted file mode 100644
index 1d9645d..0000000
--- a/docs/dyn/drive_v2.revisions.html
+++ /dev/null
@@ -1,349 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="drive_v2.html">Drive API</a> . <a href="drive_v2.revisions.html">revisions</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(fileId, revisionId)</a></code></p>
-<p class="firstline">Removes a revision.</p>
-<p class="toc_element">
-  <code><a href="#get">get(fileId, revisionId)</a></code></p>
-<p class="firstline">Gets a specific revision.</p>
-<p class="toc_element">
-  <code><a href="#list">list(fileId)</a></code></p>
-<p class="firstline">Lists a file's revisions.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(fileId, revisionId, body)</a></code></p>
-<p class="firstline">Updates a revision. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(fileId, revisionId, body)</a></code></p>
-<p class="firstline">Updates a revision.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(fileId, revisionId)</code>
-  <pre>Removes a revision.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  revisionId: string, The ID of the revision. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(fileId, revisionId)</code>
-  <pre>Gets a specific revision.
-
-Args:
-  fileId: string, The ID of the file. (required)
-  revisionId: string, The ID of the revision. (required)
-
-Returns:
-  An object of the form:
-
-    { # A revision of a file.
-      "mimeType": "A String", # The MIME type of the revision.
-      "pinned": True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter.
-      "kind": "drive#revision", # This is always drive#revision.
-      "publishedLink": "A String", # A link to the published revision.
-      "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs.
-      "lastModifyingUser": { # The JSON template for a user. # The last user to modify this revision.
-        "picture": { # The user's profile picture.
-          "url": "A String", # A URL that points to a profile picture of this user.
-        },
-        "kind": "drive#user", # This is always drive#user.
-        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-        "displayName": "A String", # A plain text displayable name for this user.
-        "permissionId": "A String", # The user's ID as visible in the permissions collection.
-      },
-      "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs.
-      "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Google Docs.
-      "downloadUrl": "A String", # Short term download URL for the file. This will only be populated on files with content stored in Drive.
-      "selfLink": "A String", # A link back to this revision.
-      "etag": "A String", # The ETag of the revision.
-      "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
-      "exportLinks": { # Links for exporting Google Docs to specific formats.
-        "a_key": "A String", # A mapping from export format to URL
-      },
-      "lastModifyingUserName": "A String", # Name of the last user to modify this revision.
-      "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
-      "id": "A String", # The ID of the revision.
-      "md5Checksum": "A String", # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
-      "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(fileId)</code>
-  <pre>Lists a file's revisions.
-
-Args:
-  fileId: string, The ID of the file. (required)
-
-Returns:
-  An object of the form:
-
-    { # A list of revisions of a file.
-    "items": [ # The actual list of revisions.
-      { # A revision of a file.
-          "mimeType": "A String", # The MIME type of the revision.
-          "pinned": True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter.
-          "kind": "drive#revision", # This is always drive#revision.
-          "publishedLink": "A String", # A link to the published revision.
-          "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs.
-          "lastModifyingUser": { # The JSON template for a user. # The last user to modify this revision.
-            "picture": { # The user's profile picture.
-              "url": "A String", # A URL that points to a profile picture of this user.
-            },
-            "kind": "drive#user", # This is always drive#user.
-            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-            "displayName": "A String", # A plain text displayable name for this user.
-            "permissionId": "A String", # The user's ID as visible in the permissions collection.
-          },
-          "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs.
-          "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Google Docs.
-          "downloadUrl": "A String", # Short term download URL for the file. This will only be populated on files with content stored in Drive.
-          "selfLink": "A String", # A link back to this revision.
-          "etag": "A String", # The ETag of the revision.
-          "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
-          "exportLinks": { # Links for exporting Google Docs to specific formats.
-            "a_key": "A String", # A mapping from export format to URL
-          },
-          "lastModifyingUserName": "A String", # Name of the last user to modify this revision.
-          "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
-          "id": "A String", # The ID of the revision.
-          "md5Checksum": "A String", # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
-          "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
-        },
-    ],
-    "kind": "drive#revisionList", # This is always drive#revisionList.
-    "etag": "A String", # The ETag of the list.
-    "selfLink": "A String", # A link back to this list.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(fileId, revisionId, body)</code>
-  <pre>Updates a revision. This method supports patch semantics.
-
-Args:
-  fileId: string, The ID for the file. (required)
-  revisionId: string, The ID for the revision. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A revision of a file.
-    "mimeType": "A String", # The MIME type of the revision.
-    "pinned": True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter.
-    "kind": "drive#revision", # This is always drive#revision.
-    "publishedLink": "A String", # A link to the published revision.
-    "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs.
-    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this revision.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-    "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs.
-    "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Google Docs.
-    "downloadUrl": "A String", # Short term download URL for the file. This will only be populated on files with content stored in Drive.
-    "selfLink": "A String", # A link back to this revision.
-    "etag": "A String", # The ETag of the revision.
-    "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
-    "exportLinks": { # Links for exporting Google Docs to specific formats.
-      "a_key": "A String", # A mapping from export format to URL
-    },
-    "lastModifyingUserName": "A String", # Name of the last user to modify this revision.
-    "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
-    "id": "A String", # The ID of the revision.
-    "md5Checksum": "A String", # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
-    "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A revision of a file.
-      "mimeType": "A String", # The MIME type of the revision.
-      "pinned": True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter.
-      "kind": "drive#revision", # This is always drive#revision.
-      "publishedLink": "A String", # A link to the published revision.
-      "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs.
-      "lastModifyingUser": { # The JSON template for a user. # The last user to modify this revision.
-        "picture": { # The user's profile picture.
-          "url": "A String", # A URL that points to a profile picture of this user.
-        },
-        "kind": "drive#user", # This is always drive#user.
-        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-        "displayName": "A String", # A plain text displayable name for this user.
-        "permissionId": "A String", # The user's ID as visible in the permissions collection.
-      },
-      "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs.
-      "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Google Docs.
-      "downloadUrl": "A String", # Short term download URL for the file. This will only be populated on files with content stored in Drive.
-      "selfLink": "A String", # A link back to this revision.
-      "etag": "A String", # The ETag of the revision.
-      "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
-      "exportLinks": { # Links for exporting Google Docs to specific formats.
-        "a_key": "A String", # A mapping from export format to URL
-      },
-      "lastModifyingUserName": "A String", # Name of the last user to modify this revision.
-      "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
-      "id": "A String", # The ID of the revision.
-      "md5Checksum": "A String", # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
-      "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(fileId, revisionId, body)</code>
-  <pre>Updates a revision.
-
-Args:
-  fileId: string, The ID for the file. (required)
-  revisionId: string, The ID for the revision. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A revision of a file.
-    "mimeType": "A String", # The MIME type of the revision.
-    "pinned": True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter.
-    "kind": "drive#revision", # This is always drive#revision.
-    "publishedLink": "A String", # A link to the published revision.
-    "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs.
-    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this revision.
-      "picture": { # The user's profile picture.
-        "url": "A String", # A URL that points to a profile picture of this user.
-      },
-      "kind": "drive#user", # This is always drive#user.
-      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-      "displayName": "A String", # A plain text displayable name for this user.
-      "permissionId": "A String", # The user's ID as visible in the permissions collection.
-    },
-    "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs.
-    "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Google Docs.
-    "downloadUrl": "A String", # Short term download URL for the file. This will only be populated on files with content stored in Drive.
-    "selfLink": "A String", # A link back to this revision.
-    "etag": "A String", # The ETag of the revision.
-    "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
-    "exportLinks": { # Links for exporting Google Docs to specific formats.
-      "a_key": "A String", # A mapping from export format to URL
-    },
-    "lastModifyingUserName": "A String", # Name of the last user to modify this revision.
-    "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
-    "id": "A String", # The ID of the revision.
-    "md5Checksum": "A String", # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
-    "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A revision of a file.
-      "mimeType": "A String", # The MIME type of the revision.
-      "pinned": True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter.
-      "kind": "drive#revision", # This is always drive#revision.
-      "publishedLink": "A String", # A link to the published revision.
-      "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs.
-      "lastModifyingUser": { # The JSON template for a user. # The last user to modify this revision.
-        "picture": { # The user's profile picture.
-          "url": "A String", # A URL that points to a profile picture of this user.
-        },
-        "kind": "drive#user", # This is always drive#user.
-        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
-        "displayName": "A String", # A plain text displayable name for this user.
-        "permissionId": "A String", # The user's ID as visible in the permissions collection.
-      },
-      "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs.
-      "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Google Docs.
-      "downloadUrl": "A String", # Short term download URL for the file. This will only be populated on files with content stored in Drive.
-      "selfLink": "A String", # A link back to this revision.
-      "etag": "A String", # The ETag of the revision.
-      "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
-      "exportLinks": { # Links for exporting Google Docs to specific formats.
-        "a_key": "A String", # A mapping from export format to URL
-      },
-      "lastModifyingUserName": "A String", # Name of the last user to modify this revision.
-      "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
-      "id": "A String", # The ID of the revision.
-      "md5Checksum": "A String", # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
-      "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/freebase_v1.html b/docs/dyn/freebase_v1.html
deleted file mode 100644
index c5a4ae2..0000000
--- a/docs/dyn/freebase_v1.html
+++ /dev/null
@@ -1,212 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="freebase_v1.html">Freebase API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="freebase_v1.text.html">text()</a></code>
-</p>
-<p class="firstline">Returns the text Resource.</p>
-
-<p class="toc_element">
-  <code><a href="freebase_v1.topic.html">topic()</a></code>
-</p>
-<p class="firstline">Returns the topic Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#image">image(id, maxwidth=None, maxheight=None, fallbackid=None, pad=None, mode=None)</a></code></p>
-<p class="firstline">Returns the scaled/cropped image attached to a freebase node.</p>
-<p class="toc_element">
-  <code><a href="#image_media">image_media(id, maxwidth=None, maxheight=None, fallbackid=None, pad=None, mode=None)</a></code></p>
-<p class="firstline">Returns the scaled/cropped image attached to a freebase node.</p>
-<p class="toc_element">
-  <code><a href="#mqlread">mqlread(query, lang=None, indent=None, callback=None, uniqueness_failure=None, dateline=None, html_escape=None, cursor=None, cost=None, as_of_time=None)</a></code></p>
-<p class="firstline">Performs MQL Queries.</p>
-<p class="toc_element">
-  <code><a href="#mqlread_media">mqlread_media(query, lang=None, indent=None, callback=None, uniqueness_failure=None, dateline=None, html_escape=None, cursor=None, cost=None, as_of_time=None)</a></code></p>
-<p class="firstline">Performs MQL Queries.</p>
-<p class="toc_element">
-  <code><a href="#mqlwrite">mqlwrite(query, indent=None, callback=None, dateline=None, use_permission_of=None)</a></code></p>
-<p class="firstline">Performs MQL Write Operations.</p>
-<p class="toc_element">
-  <code><a href="#mqlwrite_media">mqlwrite_media(query, indent=None, callback=None, dateline=None, use_permission_of=None)</a></code></p>
-<p class="firstline">Performs MQL Write Operations.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="image">image(id, maxwidth=None, maxheight=None, fallbackid=None, pad=None, mode=None)</code>
-  <pre>Returns the scaled/cropped image attached to a freebase node.
-
-Args:
-  id: string, Freebase entity or content id, mid, or guid. (required) (repeated)
-  maxwidth: integer, Maximum width in pixels for resulting image.
-  maxheight: integer, Maximum height in pixels for resulting image.
-  fallbackid: string, Use the image associated with this secondary id if no image is associated with the primary id.
-  pad: boolean, A boolean specifying whether the resulting image should be padded up to the requested dimensions.
-  mode: string, Method used to scale or crop image.
-    Allowed values
-      fill - Fill rectangle completely with image, relax constraint on one dimension if necessary.
-      fillcrop - Fill rectangle with image, crop image to maintain rectangle dimensions.
-      fillcropmid - Fill rectangle with image, center horizontally, crop left and right.
-      fit - Fit image inside rectangle, leave empty space in one dimension if necessary.
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="image_media">image_media(id, maxwidth=None, maxheight=None, fallbackid=None, pad=None, mode=None)</code>
-  <pre>Returns the scaled/cropped image attached to a freebase node.
-
-Args:
-  id: string, Freebase entity or content id, mid, or guid. (required) (repeated)
-  maxwidth: integer, Maximum width in pixels for resulting image.
-  maxheight: integer, Maximum height in pixels for resulting image.
-  fallbackid: string, Use the image associated with this secondary id if no image is associated with the primary id.
-  pad: boolean, A boolean specifying whether the resulting image should be padded up to the requested dimensions.
-  mode: string, Method used to scale or crop image.
-    Allowed values
-      fill - Fill rectangle completely with image, relax constraint on one dimension if necessary.
-      fillcrop - Fill rectangle with image, crop image to maintain rectangle dimensions.
-      fillcropmid - Fill rectangle with image, center horizontally, crop left and right.
-      fit - Fit image inside rectangle, leave empty space in one dimension if necessary.
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="mqlread">mqlread(query, lang=None, indent=None, callback=None, uniqueness_failure=None, dateline=None, html_escape=None, cursor=None, cost=None, as_of_time=None)</code>
-  <pre>Performs MQL Queries.
-
-Args:
-  query: string, An envelope containing a single MQL query. (required)
-  lang: string, The language of the results - an id of a /type/lang object.
-  indent: integer, How many spaces to indent the json.
-  callback: string, JS method name for JSONP callbacks.
-  uniqueness_failure: string, How MQL responds to uniqueness failures.
-    Allowed values
-      hard - Be strict - throw an error.
-      soft - Just return the first encountered object.
-  dateline: string, The dateline that you get in a mqlwrite response to ensure consistent results.
-  html_escape: boolean, Whether or not to escape entities.
-  cursor: string, The mql cursor.
-  cost: boolean, Show the costs or not.
-  as_of_time: string, Run the query as it would've been run at the specified point in time.
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="mqlread_media">mqlread_media(query, lang=None, indent=None, callback=None, uniqueness_failure=None, dateline=None, html_escape=None, cursor=None, cost=None, as_of_time=None)</code>
-  <pre>Performs MQL Queries.
-
-Args:
-  query: string, An envelope containing a single MQL query. (required)
-  lang: string, The language of the results - an id of a /type/lang object.
-  indent: integer, How many spaces to indent the json.
-  callback: string, JS method name for JSONP callbacks.
-  uniqueness_failure: string, How MQL responds to uniqueness failures.
-    Allowed values
-      hard - Be strict - throw an error.
-      soft - Just return the first encountered object.
-  dateline: string, The dateline that you get in a mqlwrite response to ensure consistent results.
-  html_escape: boolean, Whether or not to escape entities.
-  cursor: string, The mql cursor.
-  cost: boolean, Show the costs or not.
-  as_of_time: string, Run the query as it would've been run at the specified point in time.
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="mqlwrite">mqlwrite(query, indent=None, callback=None, dateline=None, use_permission_of=None)</code>
-  <pre>Performs MQL Write Operations.
-
-Args:
-  query: string, An MQL query with write directives. (required)
-  indent: integer, How many spaces to indent the json.
-  callback: string, JS method name for JSONP callbacks.
-  dateline: string, The dateline that you get in a mqlwrite response to ensure consistent results.
-  use_permission_of: string, Use the same permission node of the object with the specified id.
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="mqlwrite_media">mqlwrite_media(query, indent=None, callback=None, dateline=None, use_permission_of=None)</code>
-  <pre>Performs MQL Write Operations.
-
-Args:
-  query: string, An MQL query with write directives. (required)
-  indent: integer, How many spaces to indent the json.
-  callback: string, JS method name for JSONP callbacks.
-  dateline: string, The dateline that you get in a mqlwrite response to ensure consistent results.
-  use_permission_of: string, Use the same permission node of the object with the specified id.
-</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/freebase_v1.text.html b/docs/dyn/freebase_v1.text.html
deleted file mode 100644
index 6f68543..0000000
--- a/docs/dyn/freebase_v1.text.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="freebase_v1.html">Freebase API</a> . <a href="freebase_v1.text.html">text</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(id, format=None, maxlength=None)</a></code></p>
-<p class="firstline">Returns blob attached to node at specified id as HTML</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(id, format=None, maxlength=None)</code>
-  <pre>Returns blob attached to node at specified id as HTML
-
-Args:
-  id: string, The id of the item that you want data about (required) (repeated)
-  format: string, Sanitizing transformation.
-    Allowed values
-      html - Return valid, sanitized html.
-      plain - Return plain text - strip html tags.
-      raw - Return the entire content as-is.
-  maxlength: integer, The max number of characters to return. Valid only for 'plain' format.
-
-Returns:
-  An object of the form:
-
-    {
-    "result": "A String", # The text requested.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/freebase_v1.topic.html b/docs/dyn/freebase_v1.topic.html
deleted file mode 100644
index a06db8e..0000000
--- a/docs/dyn/freebase_v1.topic.html
+++ /dev/null
@@ -1,124 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="freebase_v1.html">Freebase API</a> . <a href="freebase_v1.topic.html">topic</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#lookup">lookup(id, lang=None, filter=None, raw=None, dateline=None, limit=None)</a></code></p>
-<p class="firstline">Get properties and meta-data about a topic.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="lookup">lookup(id, lang=None, filter=None, raw=None, dateline=None, limit=None)</code>
-  <pre>Get properties and meta-data about a topic.
-
-Args:
-  id: string, The id of the item that you want data about. (required) (repeated)
-  lang: string, The language you 'd like the content in - a freebase /type/lang language key.
-  filter: string, A frebase domain, type or property id, 'suggest', 'commons', or 'all'. Filter the results and returns only appropriate properties. (repeated)
-  raw: boolean, Do not apply any constraints, or get any names.
-  dateline: string, Determines how up-to-date the data returned is. A unix epoch time, a guid or a 'now'
-  limit: integer, The maximum number of property values to return for each property.
-
-Returns:
-  An object of the form:
-
-    {
-    "property": {
-      "/freebase/object_profile/linkcount": {
-        "values": [
-          {
-            "count": 42,
-            "values": [
-              {
-                "count": 42,
-                "values": [
-                  {
-                    "count": 42,
-                    "id": "A String",
-                  },
-                ],
-                "id": "A String",
-              },
-            ],
-            "id": "A String",
-          },
-        ],
-        "type": "custom",
-      },
-    },
-    "id": "A String",
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v1.column.html b/docs/dyn/fusiontables_v1.column.html
deleted file mode 100644
index c5ea4c5..0000000
--- a/docs/dyn/fusiontables_v1.column.html
+++ /dev/null
@@ -1,287 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="fusiontables_v1.html">Fusion Tables API</a> . <a href="fusiontables_v1.column.html">column</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(tableId, columnId)</a></code></p>
-<p class="firstline">Deletes the column.</p>
-<p class="toc_element">
-  <code><a href="#get">get(tableId, columnId)</a></code></p>
-<p class="firstline">Retrieves a specific column by its id.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(tableId, body)</a></code></p>
-<p class="firstline">Adds a new column to the table.</p>
-<p class="toc_element">
-  <code><a href="#list">list(tableId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Retrieves a list of columns.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(tableId, columnId, body)</a></code></p>
-<p class="firstline">Updates the name or type of an existing column. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(tableId, columnId, body)</a></code></p>
-<p class="firstline">Updates the name or type of an existing column.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(tableId, columnId)</code>
-  <pre>Deletes the column.
-
-Args:
-  tableId: string, Table from which the column is being deleted. (required)
-  columnId: string, Name or identifier for the column being deleted. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(tableId, columnId)</code>
-  <pre>Retrieves a specific column by its id.
-
-Args:
-  tableId: string, Table to which the column belongs. (required)
-  columnId: string, Name or identifier for the column that is being requested. (required)
-
-Returns:
-  An object of the form:
-
-    { # Specifies the id, name and type of a column in a table.
-      "kind": "fusiontables#column", # Type name: a template for an individual column.
-      "type": "A String", # Required type of the column.
-      "columnId": 42, # Identifier for the column.
-      "name": "A String", # Required name of the column.
-      "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
-        "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
-        "columnId": 42, # The id of the column in the base table from which this column is derived.
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(tableId, body)</code>
-  <pre>Adds a new column to the table.
-
-Args:
-  tableId: string, Table for which a new column is being added. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Specifies the id, name and type of a column in a table.
-    "kind": "fusiontables#column", # Type name: a template for an individual column.
-    "type": "A String", # Required type of the column.
-    "columnId": 42, # Identifier for the column.
-    "name": "A String", # Required name of the column.
-    "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
-      "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
-      "columnId": 42, # The id of the column in the base table from which this column is derived.
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Specifies the id, name and type of a column in a table.
-      "kind": "fusiontables#column", # Type name: a template for an individual column.
-      "type": "A String", # Required type of the column.
-      "columnId": 42, # Identifier for the column.
-      "name": "A String", # Required name of the column.
-      "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
-        "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
-        "columnId": 42, # The id of the column in the base table from which this column is derived.
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(tableId, pageToken=None, maxResults=None)</code>
-  <pre>Retrieves a list of columns.
-
-Args:
-  tableId: string, Table whose columns are being listed. (required)
-  pageToken: string, Continuation token specifying which result page to return. Optional.
-  maxResults: integer, Maximum number of columns to return. Optional. Default is 5.
-
-Returns:
-  An object of the form:
-
-    { # Represents a list of columns in a table.
-    "nextPageToken": "A String", # Token used to access the next page of this result. No token is displayed if there are no more tokens left.
-    "items": [ # List of all requested columns.
-      { # Specifies the id, name and type of a column in a table.
-          "kind": "fusiontables#column", # Type name: a template for an individual column.
-          "type": "A String", # Required type of the column.
-          "columnId": 42, # Identifier for the column.
-          "name": "A String", # Required name of the column.
-          "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
-            "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
-            "columnId": 42, # The id of the column in the base table from which this column is derived.
-          },
-        },
-    ],
-    "kind": "fusiontables#columnList", # Type name: a list of all tables.
-    "totalItems": 42, # Total number of columns for the table.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(tableId, columnId, body)</code>
-  <pre>Updates the name or type of an existing column. This method supports patch semantics.
-
-Args:
-  tableId: string, Table for which the column is being updated. (required)
-  columnId: string, Name or identifier for the column that is being updated. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Specifies the id, name and type of a column in a table.
-    "kind": "fusiontables#column", # Type name: a template for an individual column.
-    "type": "A String", # Required type of the column.
-    "columnId": 42, # Identifier for the column.
-    "name": "A String", # Required name of the column.
-    "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
-      "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
-      "columnId": 42, # The id of the column in the base table from which this column is derived.
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Specifies the id, name and type of a column in a table.
-      "kind": "fusiontables#column", # Type name: a template for an individual column.
-      "type": "A String", # Required type of the column.
-      "columnId": 42, # Identifier for the column.
-      "name": "A String", # Required name of the column.
-      "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
-        "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
-        "columnId": 42, # The id of the column in the base table from which this column is derived.
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(tableId, columnId, body)</code>
-  <pre>Updates the name or type of an existing column.
-
-Args:
-  tableId: string, Table for which the column is being updated. (required)
-  columnId: string, Name or identifier for the column that is being updated. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Specifies the id, name and type of a column in a table.
-    "kind": "fusiontables#column", # Type name: a template for an individual column.
-    "type": "A String", # Required type of the column.
-    "columnId": 42, # Identifier for the column.
-    "name": "A String", # Required name of the column.
-    "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
-      "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
-      "columnId": 42, # The id of the column in the base table from which this column is derived.
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Specifies the id, name and type of a column in a table.
-      "kind": "fusiontables#column", # Type name: a template for an individual column.
-      "type": "A String", # Required type of the column.
-      "columnId": 42, # Identifier for the column.
-      "name": "A String", # Required name of the column.
-      "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
-        "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
-        "columnId": 42, # The id of the column in the base table from which this column is derived.
-      },
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v1.html b/docs/dyn/fusiontables_v1.html
deleted file mode 100644
index b5c0ca6..0000000
--- a/docs/dyn/fusiontables_v1.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="fusiontables_v1.html">Fusion Tables API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="fusiontables_v1.column.html">column()</a></code>
-</p>
-<p class="firstline">Returns the column Resource.</p>
-
-<p class="toc_element">
-  <code><a href="fusiontables_v1.query.html">query()</a></code>
-</p>
-<p class="firstline">Returns the query Resource.</p>
-
-<p class="toc_element">
-  <code><a href="fusiontables_v1.style.html">style()</a></code>
-</p>
-<p class="firstline">Returns the style Resource.</p>
-
-<p class="toc_element">
-  <code><a href="fusiontables_v1.table.html">table()</a></code>
-</p>
-<p class="firstline">Returns the table Resource.</p>
-
-<p class="toc_element">
-  <code><a href="fusiontables_v1.template.html">template()</a></code>
-</p>
-<p class="firstline">Returns the template Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v1.query.html b/docs/dyn/fusiontables_v1.query.html
deleted file mode 100644
index a4ac39a..0000000
--- a/docs/dyn/fusiontables_v1.query.html
+++ /dev/null
@@ -1,134 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="fusiontables_v1.html">Fusion Tables API</a> . <a href="fusiontables_v1.query.html">query</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#sql">sql(sql, hdrs=None, typed=None)</a></code></p>
-<p class="firstline">Executes an SQL SELECT/INSERT/UPDATE/DELETE/SHOW/DESCRIBE/CREATE statement.</p>
-<p class="toc_element">
-  <code><a href="#sqlGet">sqlGet(sql, hdrs=None, typed=None)</a></code></p>
-<p class="firstline">Executes an SQL SELECT/SHOW/DESCRIBE statement.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="sql">sql(sql, hdrs=None, typed=None)</code>
-  <pre>Executes an SQL SELECT/INSERT/UPDATE/DELETE/SHOW/DESCRIBE/CREATE statement.
-
-Args:
-  sql: string, An SQL SELECT/SHOW/DESCRIBE/INSERT/UPDATE/DELETE/CREATE statement. (required)
-  hdrs: boolean, Should column names be included (in the first row)?. Default is true.
-  typed: boolean, Should typed values be returned in the (JSON) response -- numbers for numeric values and parsed geometries for KML values? Default is true.
-
-Returns:
-  An object of the form:
-
-    { # Represents a response to an sql statement.
-    "kind": "fusiontables#sqlresponse", # Type name: a template for an individual table.
-    "rows": [ # The rows in the table. For each cell we print out whatever cell value (e.g., numeric, string) exists. Thus it is important that each cell contains only one value.
-      [
-        "",
-      ],
-    ],
-    "columns": [ # Columns in the table.
-      "A String",
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="sqlGet">sqlGet(sql, hdrs=None, typed=None)</code>
-  <pre>Executes an SQL SELECT/SHOW/DESCRIBE statement.
-
-Args:
-  sql: string, An SQL SELECT/SHOW/DESCRIBE statement. (required)
-  hdrs: boolean, Should column names be included (in the first row)?. Default is true.
-  typed: boolean, Should typed values be returned in the (JSON) response -- numbers for numeric values and parsed geometries for KML values? Default is true.
-
-Returns:
-  An object of the form:
-
-    { # Represents a response to an sql statement.
-    "kind": "fusiontables#sqlresponse", # Type name: a template for an individual table.
-    "rows": [ # The rows in the table. For each cell we print out whatever cell value (e.g., numeric, string) exists. Thus it is important that each cell contains only one value.
-      [
-        "",
-      ],
-    ],
-    "columns": [ # Columns in the table.
-      "A String",
-    ],
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v1.style.html b/docs/dyn/fusiontables_v1.style.html
deleted file mode 100644
index f2d1e75..0000000
--- a/docs/dyn/fusiontables_v1.style.html
+++ /dev/null
@@ -1,1527 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="fusiontables_v1.html">Fusion Tables API</a> . <a href="fusiontables_v1.style.html">style</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(tableId, styleId)</a></code></p>
-<p class="firstline">Deletes a style.</p>
-<p class="toc_element">
-  <code><a href="#get">get(tableId, styleId)</a></code></p>
-<p class="firstline">Gets a specific style.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(tableId, body)</a></code></p>
-<p class="firstline">Adds a new style for the table.</p>
-<p class="toc_element">
-  <code><a href="#list">list(tableId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Retrieves a list of styles.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(tableId, styleId, body)</a></code></p>
-<p class="firstline">Updates an existing style. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(tableId, styleId, body)</a></code></p>
-<p class="firstline">Updates an existing style.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(tableId, styleId)</code>
-  <pre>Deletes a style.
-
-Args:
-  tableId: string, Table from which the style is being deleted (required)
-  styleId: integer, Identifier (within a table) for the style being deleted (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(tableId, styleId)</code>
-  <pre>Gets a specific style.
-
-Args:
-  tableId: string, Table to which the requested style belongs (required)
-  styleId: integer, Identifier (integer) for a specific style in a table (required)
-
-Returns:
-  An object of the form:
-
-    { # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
-      "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
-        "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
-      },
-      "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
-      "name": "A String", # Optional name for the style setting.
-      "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
-        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "strokeWeight": 42, # Width of the polyon border in pixels.
-        "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
-        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
-        "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
-        "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
-      },
-      "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
-        "strokeWeight": 42, # Width of the line in pixels.
-        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "strokeColor": "A String", # Color of the line in #RRGGBB format.
-        "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
-        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-      },
-      "tableId": "A String", # Identifier for the table.
-      "styleId": 42, # Identifier for the style setting (unique only within tables).
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(tableId, body)</code>
-  <pre>Adds a new style for the table.
-
-Args:
-  tableId: string, Table for which a new style is being added (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
-    "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
-      "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
-        "gradient": { # Gradient function that interpolates a range of colors based on column value.
-          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-          "colors": [ # Array with two or more colors.
-            {
-              "color": "A String", # Color in #RRGGBB format.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            },
-          ],
-          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-        },
-        "columnName": "A String", # Name of the column whose value is used in the style.
-        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            "weight": 42, # Width of a line (in pixels).
-            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "icon": "A String", # Icon name used for a point.
-          },
-        ],
-        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-      },
-      "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
-    },
-    "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
-    "name": "A String", # Optional name for the style setting.
-    "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
-      "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
-        "gradient": { # Gradient function that interpolates a range of colors based on column value.
-          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-          "colors": [ # Array with two or more colors.
-            {
-              "color": "A String", # Color in #RRGGBB format.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            },
-          ],
-          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-        },
-        "columnName": "A String", # Name of the column whose value is used in the style.
-        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            "weight": 42, # Width of a line (in pixels).
-            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "icon": "A String", # Icon name used for a point.
-          },
-        ],
-        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-      },
-      "strokeWeight": 42, # Width of the polyon border in pixels.
-      "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
-      "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
-        "gradient": { # Gradient function that interpolates a range of colors based on column value.
-          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-          "colors": [ # Array with two or more colors.
-            {
-              "color": "A String", # Color in #RRGGBB format.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            },
-          ],
-          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-        },
-        "columnName": "A String", # Name of the column whose value is used in the style.
-        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            "weight": 42, # Width of a line (in pixels).
-            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "icon": "A String", # Icon name used for a point.
-          },
-        ],
-        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-      },
-      "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
-        "gradient": { # Gradient function that interpolates a range of colors based on column value.
-          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-          "colors": [ # Array with two or more colors.
-            {
-              "color": "A String", # Color in #RRGGBB format.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            },
-          ],
-          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-        },
-        "columnName": "A String", # Name of the column whose value is used in the style.
-        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            "weight": 42, # Width of a line (in pixels).
-            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "icon": "A String", # Icon name used for a point.
-          },
-        ],
-        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-      },
-      "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
-      "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
-      "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
-    },
-    "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
-      "strokeWeight": 42, # Width of the line in pixels.
-      "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
-        "gradient": { # Gradient function that interpolates a range of colors based on column value.
-          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-          "colors": [ # Array with two or more colors.
-            {
-              "color": "A String", # Color in #RRGGBB format.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            },
-          ],
-          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-        },
-        "columnName": "A String", # Name of the column whose value is used in the style.
-        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            "weight": 42, # Width of a line (in pixels).
-            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "icon": "A String", # Icon name used for a point.
-          },
-        ],
-        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-      },
-      "strokeColor": "A String", # Color of the line in #RRGGBB format.
-      "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
-      "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
-        "gradient": { # Gradient function that interpolates a range of colors based on column value.
-          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-          "colors": [ # Array with two or more colors.
-            {
-              "color": "A String", # Color in #RRGGBB format.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            },
-          ],
-          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-        },
-        "columnName": "A String", # Name of the column whose value is used in the style.
-        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            "weight": 42, # Width of a line (in pixels).
-            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "icon": "A String", # Icon name used for a point.
-          },
-        ],
-        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-      },
-    },
-    "tableId": "A String", # Identifier for the table.
-    "styleId": 42, # Identifier for the style setting (unique only within tables).
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
-      "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
-        "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
-      },
-      "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
-      "name": "A String", # Optional name for the style setting.
-      "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
-        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "strokeWeight": 42, # Width of the polyon border in pixels.
-        "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
-        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
-        "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
-        "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
-      },
-      "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
-        "strokeWeight": 42, # Width of the line in pixels.
-        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "strokeColor": "A String", # Color of the line in #RRGGBB format.
-        "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
-        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-      },
-      "tableId": "A String", # Identifier for the table.
-      "styleId": 42, # Identifier for the style setting (unique only within tables).
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(tableId, pageToken=None, maxResults=None)</code>
-  <pre>Retrieves a list of styles.
-
-Args:
-  tableId: string, Table whose styles are being listed (required)
-  pageToken: string, Continuation token specifying which result page to return. Optional.
-  maxResults: integer, Maximum number of styles to return. Optional. Default is 5.
-
-Returns:
-  An object of the form:
-
-    { # Represents a list of styles for a given table.
-    "nextPageToken": "A String", # Token used to access the next page of this result. No token is displayed if there are no more styles left.
-    "items": [ # All requested style settings.
-      { # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
-          "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
-            "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
-              "gradient": { # Gradient function that interpolates a range of colors based on column value.
-                "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-                "colors": [ # Array with two or more colors.
-                  {
-                    "color": "A String", # Color in #RRGGBB format.
-                    "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-                  },
-                ],
-                "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-              },
-              "columnName": "A String", # Name of the column whose value is used in the style.
-              "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-                { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-                  "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-                  "weight": 42, # Width of a line (in pixels).
-                  "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-                  "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-                  "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-                  "icon": "A String", # Icon name used for a point.
-                },
-              ],
-              "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-            },
-            "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
-          },
-          "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
-          "name": "A String", # Optional name for the style setting.
-          "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
-            "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
-              "gradient": { # Gradient function that interpolates a range of colors based on column value.
-                "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-                "colors": [ # Array with two or more colors.
-                  {
-                    "color": "A String", # Color in #RRGGBB format.
-                    "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-                  },
-                ],
-                "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-              },
-              "columnName": "A String", # Name of the column whose value is used in the style.
-              "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-                { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-                  "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-                  "weight": 42, # Width of a line (in pixels).
-                  "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-                  "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-                  "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-                  "icon": "A String", # Icon name used for a point.
-                },
-              ],
-              "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-            },
-            "strokeWeight": 42, # Width of the polyon border in pixels.
-            "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
-            "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
-              "gradient": { # Gradient function that interpolates a range of colors based on column value.
-                "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-                "colors": [ # Array with two or more colors.
-                  {
-                    "color": "A String", # Color in #RRGGBB format.
-                    "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-                  },
-                ],
-                "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-              },
-              "columnName": "A String", # Name of the column whose value is used in the style.
-              "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-                { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-                  "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-                  "weight": 42, # Width of a line (in pixels).
-                  "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-                  "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-                  "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-                  "icon": "A String", # Icon name used for a point.
-                },
-              ],
-              "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-            },
-            "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
-              "gradient": { # Gradient function that interpolates a range of colors based on column value.
-                "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-                "colors": [ # Array with two or more colors.
-                  {
-                    "color": "A String", # Color in #RRGGBB format.
-                    "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-                  },
-                ],
-                "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-              },
-              "columnName": "A String", # Name of the column whose value is used in the style.
-              "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-                { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-                  "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-                  "weight": 42, # Width of a line (in pixels).
-                  "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-                  "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-                  "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-                  "icon": "A String", # Icon name used for a point.
-                },
-              ],
-              "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-            },
-            "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
-            "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
-            "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
-          },
-          "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
-            "strokeWeight": 42, # Width of the line in pixels.
-            "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
-              "gradient": { # Gradient function that interpolates a range of colors based on column value.
-                "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-                "colors": [ # Array with two or more colors.
-                  {
-                    "color": "A String", # Color in #RRGGBB format.
-                    "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-                  },
-                ],
-                "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-              },
-              "columnName": "A String", # Name of the column whose value is used in the style.
-              "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-                { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-                  "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-                  "weight": 42, # Width of a line (in pixels).
-                  "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-                  "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-                  "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-                  "icon": "A String", # Icon name used for a point.
-                },
-              ],
-              "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-            },
-            "strokeColor": "A String", # Color of the line in #RRGGBB format.
-            "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
-            "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
-              "gradient": { # Gradient function that interpolates a range of colors based on column value.
-                "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-                "colors": [ # Array with two or more colors.
-                  {
-                    "color": "A String", # Color in #RRGGBB format.
-                    "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-                  },
-                ],
-                "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-              },
-              "columnName": "A String", # Name of the column whose value is used in the style.
-              "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-                { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-                  "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-                  "weight": 42, # Width of a line (in pixels).
-                  "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-                  "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-                  "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-                  "icon": "A String", # Icon name used for a point.
-                },
-              ],
-              "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-            },
-          },
-          "tableId": "A String", # Identifier for the table.
-          "styleId": 42, # Identifier for the style setting (unique only within tables).
-        },
-    ],
-    "kind": "fusiontables#styleSettingList", # Type name: in this case, a list of style settings.
-    "totalItems": 42, # Total number of styles for the table.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(tableId, styleId, body)</code>
-  <pre>Updates an existing style. This method supports patch semantics.
-
-Args:
-  tableId: string, Table whose style is being updated. (required)
-  styleId: integer, Identifier (within a table) for the style being updated. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
-    "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
-      "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
-        "gradient": { # Gradient function that interpolates a range of colors based on column value.
-          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-          "colors": [ # Array with two or more colors.
-            {
-              "color": "A String", # Color in #RRGGBB format.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            },
-          ],
-          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-        },
-        "columnName": "A String", # Name of the column whose value is used in the style.
-        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            "weight": 42, # Width of a line (in pixels).
-            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "icon": "A String", # Icon name used for a point.
-          },
-        ],
-        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-      },
-      "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
-    },
-    "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
-    "name": "A String", # Optional name for the style setting.
-    "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
-      "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
-        "gradient": { # Gradient function that interpolates a range of colors based on column value.
-          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-          "colors": [ # Array with two or more colors.
-            {
-              "color": "A String", # Color in #RRGGBB format.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            },
-          ],
-          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-        },
-        "columnName": "A String", # Name of the column whose value is used in the style.
-        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            "weight": 42, # Width of a line (in pixels).
-            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "icon": "A String", # Icon name used for a point.
-          },
-        ],
-        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-      },
-      "strokeWeight": 42, # Width of the polyon border in pixels.
-      "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
-      "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
-        "gradient": { # Gradient function that interpolates a range of colors based on column value.
-          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-          "colors": [ # Array with two or more colors.
-            {
-              "color": "A String", # Color in #RRGGBB format.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            },
-          ],
-          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-        },
-        "columnName": "A String", # Name of the column whose value is used in the style.
-        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            "weight": 42, # Width of a line (in pixels).
-            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "icon": "A String", # Icon name used for a point.
-          },
-        ],
-        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-      },
-      "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
-        "gradient": { # Gradient function that interpolates a range of colors based on column value.
-          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-          "colors": [ # Array with two or more colors.
-            {
-              "color": "A String", # Color in #RRGGBB format.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            },
-          ],
-          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-        },
-        "columnName": "A String", # Name of the column whose value is used in the style.
-        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            "weight": 42, # Width of a line (in pixels).
-            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "icon": "A String", # Icon name used for a point.
-          },
-        ],
-        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-      },
-      "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
-      "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
-      "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
-    },
-    "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
-      "strokeWeight": 42, # Width of the line in pixels.
-      "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
-        "gradient": { # Gradient function that interpolates a range of colors based on column value.
-          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-          "colors": [ # Array with two or more colors.
-            {
-              "color": "A String", # Color in #RRGGBB format.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            },
-          ],
-          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-        },
-        "columnName": "A String", # Name of the column whose value is used in the style.
-        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            "weight": 42, # Width of a line (in pixels).
-            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "icon": "A String", # Icon name used for a point.
-          },
-        ],
-        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-      },
-      "strokeColor": "A String", # Color of the line in #RRGGBB format.
-      "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
-      "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
-        "gradient": { # Gradient function that interpolates a range of colors based on column value.
-          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-          "colors": [ # Array with two or more colors.
-            {
-              "color": "A String", # Color in #RRGGBB format.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            },
-          ],
-          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-        },
-        "columnName": "A String", # Name of the column whose value is used in the style.
-        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            "weight": 42, # Width of a line (in pixels).
-            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "icon": "A String", # Icon name used for a point.
-          },
-        ],
-        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-      },
-    },
-    "tableId": "A String", # Identifier for the table.
-    "styleId": 42, # Identifier for the style setting (unique only within tables).
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
-      "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
-        "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
-      },
-      "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
-      "name": "A String", # Optional name for the style setting.
-      "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
-        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "strokeWeight": 42, # Width of the polyon border in pixels.
-        "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
-        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
-        "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
-        "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
-      },
-      "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
-        "strokeWeight": 42, # Width of the line in pixels.
-        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "strokeColor": "A String", # Color of the line in #RRGGBB format.
-        "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
-        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-      },
-      "tableId": "A String", # Identifier for the table.
-      "styleId": 42, # Identifier for the style setting (unique only within tables).
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(tableId, styleId, body)</code>
-  <pre>Updates an existing style.
-
-Args:
-  tableId: string, Table whose style is being updated. (required)
-  styleId: integer, Identifier (within a table) for the style being updated. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
-    "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
-      "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
-        "gradient": { # Gradient function that interpolates a range of colors based on column value.
-          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-          "colors": [ # Array with two or more colors.
-            {
-              "color": "A String", # Color in #RRGGBB format.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            },
-          ],
-          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-        },
-        "columnName": "A String", # Name of the column whose value is used in the style.
-        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            "weight": 42, # Width of a line (in pixels).
-            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "icon": "A String", # Icon name used for a point.
-          },
-        ],
-        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-      },
-      "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
-    },
-    "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
-    "name": "A String", # Optional name for the style setting.
-    "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
-      "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
-        "gradient": { # Gradient function that interpolates a range of colors based on column value.
-          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-          "colors": [ # Array with two or more colors.
-            {
-              "color": "A String", # Color in #RRGGBB format.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            },
-          ],
-          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-        },
-        "columnName": "A String", # Name of the column whose value is used in the style.
-        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            "weight": 42, # Width of a line (in pixels).
-            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "icon": "A String", # Icon name used for a point.
-          },
-        ],
-        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-      },
-      "strokeWeight": 42, # Width of the polyon border in pixels.
-      "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
-      "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
-        "gradient": { # Gradient function that interpolates a range of colors based on column value.
-          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-          "colors": [ # Array with two or more colors.
-            {
-              "color": "A String", # Color in #RRGGBB format.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            },
-          ],
-          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-        },
-        "columnName": "A String", # Name of the column whose value is used in the style.
-        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            "weight": 42, # Width of a line (in pixels).
-            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "icon": "A String", # Icon name used for a point.
-          },
-        ],
-        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-      },
-      "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
-        "gradient": { # Gradient function that interpolates a range of colors based on column value.
-          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-          "colors": [ # Array with two or more colors.
-            {
-              "color": "A String", # Color in #RRGGBB format.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            },
-          ],
-          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-        },
-        "columnName": "A String", # Name of the column whose value is used in the style.
-        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            "weight": 42, # Width of a line (in pixels).
-            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "icon": "A String", # Icon name used for a point.
-          },
-        ],
-        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-      },
-      "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
-      "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
-      "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
-    },
-    "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
-      "strokeWeight": 42, # Width of the line in pixels.
-      "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
-        "gradient": { # Gradient function that interpolates a range of colors based on column value.
-          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-          "colors": [ # Array with two or more colors.
-            {
-              "color": "A String", # Color in #RRGGBB format.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            },
-          ],
-          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-        },
-        "columnName": "A String", # Name of the column whose value is used in the style.
-        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            "weight": 42, # Width of a line (in pixels).
-            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "icon": "A String", # Icon name used for a point.
-          },
-        ],
-        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-      },
-      "strokeColor": "A String", # Color of the line in #RRGGBB format.
-      "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
-      "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
-        "gradient": { # Gradient function that interpolates a range of colors based on column value.
-          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-          "colors": [ # Array with two or more colors.
-            {
-              "color": "A String", # Color in #RRGGBB format.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            },
-          ],
-          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-        },
-        "columnName": "A String", # Name of the column whose value is used in the style.
-        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-            "weight": 42, # Width of a line (in pixels).
-            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-            "icon": "A String", # Icon name used for a point.
-          },
-        ],
-        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-      },
-    },
-    "tableId": "A String", # Identifier for the table.
-    "styleId": 42, # Identifier for the style setting (unique only within tables).
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
-      "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
-        "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
-      },
-      "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
-      "name": "A String", # Optional name for the style setting.
-      "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
-        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "strokeWeight": 42, # Width of the polyon border in pixels.
-        "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
-        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
-        "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
-        "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
-      },
-      "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
-        "strokeWeight": 42, # Width of the line in pixels.
-        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-        "strokeColor": "A String", # Color of the line in #RRGGBB format.
-        "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
-        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
-          "gradient": { # Gradient function that interpolates a range of colors based on column value.
-            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
-            "colors": [ # Array with two or more colors.
-              {
-                "color": "A String", # Color in #RRGGBB format.
-                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              },
-            ],
-            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
-          },
-          "columnName": "A String", # Name of the column whose value is used in the style.
-          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
-            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
-              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-              "weight": 42, # Width of a line (in pixels).
-              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
-              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
-              "icon": "A String", # Icon name used for a point.
-            },
-          ],
-          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
-        },
-      },
-      "tableId": "A String", # Identifier for the table.
-      "styleId": 42, # Identifier for the style setting (unique only within tables).
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v1.table.html b/docs/dyn/fusiontables_v1.table.html
deleted file mode 100644
index 0157063..0000000
--- a/docs/dyn/fusiontables_v1.table.html
+++ /dev/null
@@ -1,511 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="fusiontables_v1.html">Fusion Tables API</a> . <a href="fusiontables_v1.table.html">table</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#copy">copy(tableId, copyPresentation=None)</a></code></p>
-<p class="firstline">Copies a table.</p>
-<p class="toc_element">
-  <code><a href="#delete">delete(tableId)</a></code></p>
-<p class="firstline">Deletes a table.</p>
-<p class="toc_element">
-  <code><a href="#get">get(tableId)</a></code></p>
-<p class="firstline">Retrieves a specific table by its id.</p>
-<p class="toc_element">
-  <code><a href="#importRows">importRows(tableId, media_body=None, startLine=None, isStrict=None, encoding=None, delimiter=None, endLine=None)</a></code></p>
-<p class="firstline">Import more rows into a table.</p>
-<p class="toc_element">
-  <code><a href="#importTable">importTable(name, media_body=None, encoding=None, delimiter=None)</a></code></p>
-<p class="firstline">Import a new table.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(body)</a></code></p>
-<p class="firstline">Creates a new table.</p>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Retrieves a list of tables a user owns.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(tableId, body, replaceViewDefinition=None)</a></code></p>
-<p class="firstline">Updates an existing table. Unless explicitly requested, only the name, description, and attribution will be updated. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(tableId, body, replaceViewDefinition=None)</a></code></p>
-<p class="firstline">Updates an existing table. Unless explicitly requested, only the name, description, and attribution will be updated.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="copy">copy(tableId, copyPresentation=None)</code>
-  <pre>Copies a table.
-
-Args:
-  tableId: string, ID of the table that is being copied. (required)
-  copyPresentation: boolean, Whether to also copy tabs, styles, and templates. Default is false.
-
-Returns:
-  An object of the form:
-
-    { # Represents a table. Specifies the name, whether it is exportable, description, attribution, and attribution link.
-      "kind": "fusiontables#table", # Type name: a template for an individual table.
-      "attribution": "A String", # Optional attribution assigned to the table.
-      "description": "A String", # Optional description assigned to the table.
-      "isExportable": True or False, # Variable for whether table is exportable.
-      "baseTableIds": [ # Optional base table identifier if this table is a view or merged table.
-        "A String",
-      ],
-      "attributionLink": "A String", # Optional link for attribution.
-      "sql": "A String", # Optional sql that encodes the table definition for derived tables.
-      "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
-      "columns": [ # Columns in the table.
-        { # Specifies the id, name and type of a column in a table.
-            "kind": "fusiontables#column", # Type name: a template for an individual column.
-            "type": "A String", # Required type of the column.
-            "columnId": 42, # Identifier for the column.
-            "name": "A String", # Required name of the column.
-            "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
-              "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
-              "columnId": 42, # The id of the column in the base table from which this column is derived.
-            },
-          },
-      ],
-      "name": "A String", # Name assigned to a table.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(tableId)</code>
-  <pre>Deletes a table.
-
-Args:
-  tableId: string, ID of the table that is being deleted. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(tableId)</code>
-  <pre>Retrieves a specific table by its id.
-
-Args:
-  tableId: string, Identifier(ID) for the table being requested. (required)
-
-Returns:
-  An object of the form:
-
-    { # Represents a table. Specifies the name, whether it is exportable, description, attribution, and attribution link.
-      "kind": "fusiontables#table", # Type name: a template for an individual table.
-      "attribution": "A String", # Optional attribution assigned to the table.
-      "description": "A String", # Optional description assigned to the table.
-      "isExportable": True or False, # Variable for whether table is exportable.
-      "baseTableIds": [ # Optional base table identifier if this table is a view or merged table.
-        "A String",
-      ],
-      "attributionLink": "A String", # Optional link for attribution.
-      "sql": "A String", # Optional sql that encodes the table definition for derived tables.
-      "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
-      "columns": [ # Columns in the table.
-        { # Specifies the id, name and type of a column in a table.
-            "kind": "fusiontables#column", # Type name: a template for an individual column.
-            "type": "A String", # Required type of the column.
-            "columnId": 42, # Identifier for the column.
-            "name": "A String", # Required name of the column.
-            "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
-              "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
-              "columnId": 42, # The id of the column in the base table from which this column is derived.
-            },
-          },
-      ],
-      "name": "A String", # Name assigned to a table.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="importRows">importRows(tableId, media_body=None, startLine=None, isStrict=None, encoding=None, delimiter=None, endLine=None)</code>
-  <pre>Import more rows into a table.
-
-Args:
-  tableId: string, The table into which new rows are being imported. (required)
-  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
-  startLine: integer, The index of the first line from which to start importing, inclusive. Default is 0.
-  isStrict: boolean, Whether the CSV must have the same number of values for each row. If false, rows with fewer values will be padded with empty values. Default is true.
-  encoding: string, The encoding of the content. Default is UTF-8. Use 'auto-detect' if you are unsure of the encoding.
-  delimiter: string, The delimiter used to separate cell values. This can only consist of a single character. Default is ','.
-  endLine: integer, The index of the last line from which to start importing, exclusive. Thus, the number of imported lines is endLine - startLine. If this parameter is not provided, the file will be imported until the last line of the file. If endLine is negative, then the imported content will exclude the last endLine lines. That is, if endline is negative, no line will be imported whose index is greater than N + endLine where N is the number of lines in the file, and the number of imported lines will be N + endLine - startLine.
-
-Returns:
-  An object of the form:
-
-    { # Represents an import request.
-    "numRowsReceived": "A String", # The number of rows received from the import request.
-    "kind": "fusiontables#import", # Type name: a template for an import request.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="importTable">importTable(name, media_body=None, encoding=None, delimiter=None)</code>
-  <pre>Import a new table.
-
-Args:
-  name: string, The name to be assigned to the new table. (required)
-  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
-  encoding: string, The encoding of the content. Default is UTF-8. Use 'auto-detect' if you are unsure of the encoding.
-  delimiter: string, The delimiter used to separate cell values. This can only consist of a single character. Default is ','.
-
-Returns:
-  An object of the form:
-
-    { # Represents a table. Specifies the name, whether it is exportable, description, attribution, and attribution link.
-      "kind": "fusiontables#table", # Type name: a template for an individual table.
-      "attribution": "A String", # Optional attribution assigned to the table.
-      "description": "A String", # Optional description assigned to the table.
-      "isExportable": True or False, # Variable for whether table is exportable.
-      "baseTableIds": [ # Optional base table identifier if this table is a view or merged table.
-        "A String",
-      ],
-      "attributionLink": "A String", # Optional link for attribution.
-      "sql": "A String", # Optional sql that encodes the table definition for derived tables.
-      "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
-      "columns": [ # Columns in the table.
-        { # Specifies the id, name and type of a column in a table.
-            "kind": "fusiontables#column", # Type name: a template for an individual column.
-            "type": "A String", # Required type of the column.
-            "columnId": 42, # Identifier for the column.
-            "name": "A String", # Required name of the column.
-            "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
-              "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
-              "columnId": 42, # The id of the column in the base table from which this column is derived.
-            },
-          },
-      ],
-      "name": "A String", # Name assigned to a table.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(body)</code>
-  <pre>Creates a new table.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a table. Specifies the name, whether it is exportable, description, attribution, and attribution link.
-    "kind": "fusiontables#table", # Type name: a template for an individual table.
-    "attribution": "A String", # Optional attribution assigned to the table.
-    "description": "A String", # Optional description assigned to the table.
-    "isExportable": True or False, # Variable for whether table is exportable.
-    "baseTableIds": [ # Optional base table identifier if this table is a view or merged table.
-      "A String",
-    ],
-    "attributionLink": "A String", # Optional link for attribution.
-    "sql": "A String", # Optional sql that encodes the table definition for derived tables.
-    "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
-    "columns": [ # Columns in the table.
-      { # Specifies the id, name and type of a column in a table.
-          "kind": "fusiontables#column", # Type name: a template for an individual column.
-          "type": "A String", # Required type of the column.
-          "columnId": 42, # Identifier for the column.
-          "name": "A String", # Required name of the column.
-          "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
-            "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
-            "columnId": 42, # The id of the column in the base table from which this column is derived.
-          },
-        },
-    ],
-    "name": "A String", # Name assigned to a table.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a table. Specifies the name, whether it is exportable, description, attribution, and attribution link.
-      "kind": "fusiontables#table", # Type name: a template for an individual table.
-      "attribution": "A String", # Optional attribution assigned to the table.
-      "description": "A String", # Optional description assigned to the table.
-      "isExportable": True or False, # Variable for whether table is exportable.
-      "baseTableIds": [ # Optional base table identifier if this table is a view or merged table.
-        "A String",
-      ],
-      "attributionLink": "A String", # Optional link for attribution.
-      "sql": "A String", # Optional sql that encodes the table definition for derived tables.
-      "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
-      "columns": [ # Columns in the table.
-        { # Specifies the id, name and type of a column in a table.
-            "kind": "fusiontables#column", # Type name: a template for an individual column.
-            "type": "A String", # Required type of the column.
-            "columnId": 42, # Identifier for the column.
-            "name": "A String", # Required name of the column.
-            "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
-              "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
-              "columnId": 42, # The id of the column in the base table from which this column is derived.
-            },
-          },
-      ],
-      "name": "A String", # Name assigned to a table.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
-  <pre>Retrieves a list of tables a user owns.
-
-Args:
-  pageToken: string, Continuation token specifying which result page to return. Optional.
-  maxResults: integer, Maximum number of styles to return. Optional. Default is 5.
-
-Returns:
-  An object of the form:
-
-    { # Represents a list of tables.
-    "nextPageToken": "A String", # Token used to access the next page of this result. No token is displayed if there are no more tokens left.
-    "items": [ # List of all requested tables.
-      { # Represents a table. Specifies the name, whether it is exportable, description, attribution, and attribution link.
-          "kind": "fusiontables#table", # Type name: a template for an individual table.
-          "attribution": "A String", # Optional attribution assigned to the table.
-          "description": "A String", # Optional description assigned to the table.
-          "isExportable": True or False, # Variable for whether table is exportable.
-          "baseTableIds": [ # Optional base table identifier if this table is a view or merged table.
-            "A String",
-          ],
-          "attributionLink": "A String", # Optional link for attribution.
-          "sql": "A String", # Optional sql that encodes the table definition for derived tables.
-          "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
-          "columns": [ # Columns in the table.
-            { # Specifies the id, name and type of a column in a table.
-                "kind": "fusiontables#column", # Type name: a template for an individual column.
-                "type": "A String", # Required type of the column.
-                "columnId": 42, # Identifier for the column.
-                "name": "A String", # Required name of the column.
-                "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
-                  "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
-                  "columnId": 42, # The id of the column in the base table from which this column is derived.
-                },
-              },
-          ],
-          "name": "A String", # Name assigned to a table.
-        },
-    ],
-    "kind": "fusiontables#tableList", # Type name: a list of all tables.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(tableId, body, replaceViewDefinition=None)</code>
-  <pre>Updates an existing table. Unless explicitly requested, only the name, description, and attribution will be updated. This method supports patch semantics.
-
-Args:
-  tableId: string, ID of the table that is being updated. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a table. Specifies the name, whether it is exportable, description, attribution, and attribution link.
-    "kind": "fusiontables#table", # Type name: a template for an individual table.
-    "attribution": "A String", # Optional attribution assigned to the table.
-    "description": "A String", # Optional description assigned to the table.
-    "isExportable": True or False, # Variable for whether table is exportable.
-    "baseTableIds": [ # Optional base table identifier if this table is a view or merged table.
-      "A String",
-    ],
-    "attributionLink": "A String", # Optional link for attribution.
-    "sql": "A String", # Optional sql that encodes the table definition for derived tables.
-    "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
-    "columns": [ # Columns in the table.
-      { # Specifies the id, name and type of a column in a table.
-          "kind": "fusiontables#column", # Type name: a template for an individual column.
-          "type": "A String", # Required type of the column.
-          "columnId": 42, # Identifier for the column.
-          "name": "A String", # Required name of the column.
-          "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
-            "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
-            "columnId": 42, # The id of the column in the base table from which this column is derived.
-          },
-        },
-    ],
-    "name": "A String", # Name assigned to a table.
-  }
-
-  replaceViewDefinition: boolean, Should the view definition also be updated? The specified view definition replaces the existing one. Only a view can be updated with a new definition.
-
-Returns:
-  An object of the form:
-
-    { # Represents a table. Specifies the name, whether it is exportable, description, attribution, and attribution link.
-      "kind": "fusiontables#table", # Type name: a template for an individual table.
-      "attribution": "A String", # Optional attribution assigned to the table.
-      "description": "A String", # Optional description assigned to the table.
-      "isExportable": True or False, # Variable for whether table is exportable.
-      "baseTableIds": [ # Optional base table identifier if this table is a view or merged table.
-        "A String",
-      ],
-      "attributionLink": "A String", # Optional link for attribution.
-      "sql": "A String", # Optional sql that encodes the table definition for derived tables.
-      "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
-      "columns": [ # Columns in the table.
-        { # Specifies the id, name and type of a column in a table.
-            "kind": "fusiontables#column", # Type name: a template for an individual column.
-            "type": "A String", # Required type of the column.
-            "columnId": 42, # Identifier for the column.
-            "name": "A String", # Required name of the column.
-            "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
-              "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
-              "columnId": 42, # The id of the column in the base table from which this column is derived.
-            },
-          },
-      ],
-      "name": "A String", # Name assigned to a table.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(tableId, body, replaceViewDefinition=None)</code>
-  <pre>Updates an existing table. Unless explicitly requested, only the name, description, and attribution will be updated.
-
-Args:
-  tableId: string, ID of the table that is being updated. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a table. Specifies the name, whether it is exportable, description, attribution, and attribution link.
-    "kind": "fusiontables#table", # Type name: a template for an individual table.
-    "attribution": "A String", # Optional attribution assigned to the table.
-    "description": "A String", # Optional description assigned to the table.
-    "isExportable": True or False, # Variable for whether table is exportable.
-    "baseTableIds": [ # Optional base table identifier if this table is a view or merged table.
-      "A String",
-    ],
-    "attributionLink": "A String", # Optional link for attribution.
-    "sql": "A String", # Optional sql that encodes the table definition for derived tables.
-    "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
-    "columns": [ # Columns in the table.
-      { # Specifies the id, name and type of a column in a table.
-          "kind": "fusiontables#column", # Type name: a template for an individual column.
-          "type": "A String", # Required type of the column.
-          "columnId": 42, # Identifier for the column.
-          "name": "A String", # Required name of the column.
-          "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
-            "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
-            "columnId": 42, # The id of the column in the base table from which this column is derived.
-          },
-        },
-    ],
-    "name": "A String", # Name assigned to a table.
-  }
-
-  replaceViewDefinition: boolean, Should the view definition also be updated? The specified view definition replaces the existing one. Only a view can be updated with a new definition.
-
-Returns:
-  An object of the form:
-
-    { # Represents a table. Specifies the name, whether it is exportable, description, attribution, and attribution link.
-      "kind": "fusiontables#table", # Type name: a template for an individual table.
-      "attribution": "A String", # Optional attribution assigned to the table.
-      "description": "A String", # Optional description assigned to the table.
-      "isExportable": True or False, # Variable for whether table is exportable.
-      "baseTableIds": [ # Optional base table identifier if this table is a view or merged table.
-        "A String",
-      ],
-      "attributionLink": "A String", # Optional link for attribution.
-      "sql": "A String", # Optional sql that encodes the table definition for derived tables.
-      "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
-      "columns": [ # Columns in the table.
-        { # Specifies the id, name and type of a column in a table.
-            "kind": "fusiontables#column", # Type name: a template for an individual column.
-            "type": "A String", # Required type of the column.
-            "columnId": 42, # Identifier for the column.
-            "name": "A String", # Required name of the column.
-            "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
-              "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
-              "columnId": 42, # The id of the column in the base table from which this column is derived.
-            },
-          },
-      ],
-      "name": "A String", # Name assigned to a table.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v1.template.html b/docs/dyn/fusiontables_v1.template.html
deleted file mode 100644
index f887c49..0000000
--- a/docs/dyn/fusiontables_v1.template.html
+++ /dev/null
@@ -1,287 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="fusiontables_v1.html">Fusion Tables API</a> . <a href="fusiontables_v1.template.html">template</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(tableId, templateId)</a></code></p>
-<p class="firstline">Deletes a template</p>
-<p class="toc_element">
-  <code><a href="#get">get(tableId, templateId)</a></code></p>
-<p class="firstline">Retrieves a specific template by its id</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(tableId, body)</a></code></p>
-<p class="firstline">Creates a new template for the table.</p>
-<p class="toc_element">
-  <code><a href="#list">list(tableId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Retrieves a list of templates.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(tableId, templateId, body)</a></code></p>
-<p class="firstline">Updates an existing template. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(tableId, templateId, body)</a></code></p>
-<p class="firstline">Updates an existing template</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(tableId, templateId)</code>
-  <pre>Deletes a template
-
-Args:
-  tableId: string, Table from which the template is being deleted (required)
-  templateId: integer, Identifier for the template which is being deleted (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(tableId, templateId)</code>
-  <pre>Retrieves a specific template by its id
-
-Args:
-  tableId: string, Table to which the template belongs (required)
-  templateId: integer, Identifier for the template that is being requested (required)
-
-Returns:
-  An object of the form:
-
-    { # Represents the contents of InfoWindow templates.
-      "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
-      "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
-      "name": "A String", # Optional name assigned to a template.
-      "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
-        "A String",
-      ],
-      "tableId": "A String", # Identifier for the table for which the template is defined.
-      "templateId": 42, # Identifier for the template, unique within the context of a particular table.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(tableId, body)</code>
-  <pre>Creates a new template for the table.
-
-Args:
-  tableId: string, Table for which a new template is being created (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents the contents of InfoWindow templates.
-    "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
-    "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
-    "name": "A String", # Optional name assigned to a template.
-    "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
-      "A String",
-    ],
-    "tableId": "A String", # Identifier for the table for which the template is defined.
-    "templateId": 42, # Identifier for the template, unique within the context of a particular table.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Represents the contents of InfoWindow templates.
-      "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
-      "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
-      "name": "A String", # Optional name assigned to a template.
-      "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
-        "A String",
-      ],
-      "tableId": "A String", # Identifier for the table for which the template is defined.
-      "templateId": 42, # Identifier for the template, unique within the context of a particular table.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(tableId, pageToken=None, maxResults=None)</code>
-  <pre>Retrieves a list of templates.
-
-Args:
-  tableId: string, Identifier for the table whose templates are being requested (required)
-  pageToken: string, Continuation token specifying which results page to return. Optional.
-  maxResults: integer, Maximum number of templates to return. Optional. Default is 5.
-
-Returns:
-  An object of the form:
-
-    { # Represents a list of templates for a given table.
-    "nextPageToken": "A String", # Token used to access the next page of this result. No token is displayed if there are no more tokens left.
-    "items": [ # List of all requested templates.
-      { # Represents the contents of InfoWindow templates.
-          "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
-          "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
-          "name": "A String", # Optional name assigned to a template.
-          "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
-            "A String",
-          ],
-          "tableId": "A String", # Identifier for the table for which the template is defined.
-          "templateId": 42, # Identifier for the template, unique within the context of a particular table.
-        },
-    ],
-    "kind": "fusiontables#templateList", # Type name: a list of all templates.
-    "totalItems": 42, # Total number of templates for the table.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(tableId, templateId, body)</code>
-  <pre>Updates an existing template. This method supports patch semantics.
-
-Args:
-  tableId: string, Table to which the updated template belongs (required)
-  templateId: integer, Identifier for the template that is being updated (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents the contents of InfoWindow templates.
-    "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
-    "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
-    "name": "A String", # Optional name assigned to a template.
-    "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
-      "A String",
-    ],
-    "tableId": "A String", # Identifier for the table for which the template is defined.
-    "templateId": 42, # Identifier for the template, unique within the context of a particular table.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Represents the contents of InfoWindow templates.
-      "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
-      "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
-      "name": "A String", # Optional name assigned to a template.
-      "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
-        "A String",
-      ],
-      "tableId": "A String", # Identifier for the table for which the template is defined.
-      "templateId": 42, # Identifier for the template, unique within the context of a particular table.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(tableId, templateId, body)</code>
-  <pre>Updates an existing template
-
-Args:
-  tableId: string, Table to which the updated template belongs (required)
-  templateId: integer, Identifier for the template that is being updated (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents the contents of InfoWindow templates.
-    "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
-    "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
-    "name": "A String", # Optional name assigned to a template.
-    "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
-      "A String",
-    ],
-    "tableId": "A String", # Identifier for the table for which the template is defined.
-    "templateId": 42, # Identifier for the template, unique within the context of a particular table.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Represents the contents of InfoWindow templates.
-      "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
-      "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
-      "name": "A String", # Optional name assigned to a template.
-      "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
-        "A String",
-      ],
-      "tableId": "A String", # Identifier for the table for which the template is defined.
-      "templateId": 42, # Identifier for the template, unique within the context of a particular table.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesManagement_v1management.achievements.html b/docs/dyn/gamesManagement_v1management.achievements.html
deleted file mode 100644
index 37a46c3..0000000
--- a/docs/dyn/gamesManagement_v1management.achievements.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="gamesManagement_v1management.html">Google Play Game Services Management API</a> . <a href="gamesManagement_v1management.achievements.html">achievements</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#reset">reset(achievementId)</a></code></p>
-<p class="firstline">Resets the achievement with the given ID. This method is only accessible to whitelisted tester accounts for your application.</p>
-<p class="toc_element">
-  <code><a href="#resetAll">resetAll()</a></code></p>
-<p class="firstline">Resets all achievements for the currently authenticated player for your application. This method is only accessible to whitelisted tester accounts for your application.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="reset">reset(achievementId)</code>
-  <pre>Resets the achievement with the given ID. This method is only accessible to whitelisted tester accounts for your application.
-
-Args:
-  achievementId: string, The ID of the achievement used by this method. (required)
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for an achievement reset response.
-    "definitionId": "A String", # The ID of an achievement for which player state has been updated.
-    "kind": "gamesManagement#achievementResetResponse", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#achievementResetResponse.
-    "updateOccurred": True or False, # Flag to indicate if the requested update actually occurred.
-    "currentState": "A String", # The current state of the achievement. This is the same as the initial state of the achievement.
-        # Possible values are:
-        # - "HIDDEN"- Achievement is hidden.
-        # - "REVEALED" - Achievement is revealed.
-        # - "UNLOCKED" - Achievement is unlocked.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="resetAll">resetAll()</code>
-  <pre>Resets all achievements for the currently authenticated player for your application. This method is only accessible to whitelisted tester accounts for your application.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for achievement reset all response.
-    "kind": "gamesManagement#achievementResetAllResponse", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#achievementResetAllResponse.
-    "results": [ # The achievement reset results.
-      { # This is a JSON template for an achievement reset response.
-        "definitionId": "A String", # The ID of an achievement for which player state has been updated.
-        "kind": "gamesManagement#achievementResetResponse", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#achievementResetResponse.
-        "updateOccurred": True or False, # Flag to indicate if the requested update actually occurred.
-        "currentState": "A String", # The current state of the achievement. This is the same as the initial state of the achievement.
-            # Possible values are:
-            # - "HIDDEN"- Achievement is hidden.
-            # - "REVEALED" - Achievement is revealed.
-            # - "UNLOCKED" - Achievement is unlocked.
-      },
-    ],
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesManagement_v1management.applications.html b/docs/dyn/gamesManagement_v1management.applications.html
deleted file mode 100644
index e9f58bb..0000000
--- a/docs/dyn/gamesManagement_v1management.applications.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="gamesManagement_v1management.html">Google Play Game Services Management API</a> . <a href="gamesManagement_v1management.applications.html">applications</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#listHidden">listHidden(applicationId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Get the list of players hidden from the given application. This method is only available to user accounts for your developer console.</p>
-<p class="toc_element">
-  <code><a href="#listHidden_next">listHidden_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="listHidden">listHidden(applicationId, pageToken=None, maxResults=None)</code>
-  <pre>Get the list of players hidden from the given application. This method is only available to user accounts for your developer console.
-
-Args:
-  applicationId: string, The application being requested. (required)
-  pageToken: string, The token returned by the previous request.
-  maxResults: integer, The maximum number of player resources to return in the response, used for paging. For any response, the actual number of player resources returned may be less than the specified maxResults.
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for a list of hidden players.
-    "nextPageToken": "A String", # The pagination token for the next page of results.
-    "items": [ # The players.
-      { # This is a JSON template for the HiddenPlayer resource.
-        "player": { # This is a JSON template for a Player resource. # The player information.
-          "playerId": "A String", # The ID of the player.
-          "kind": "gamesManagement#player", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#player.
-          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
-          "displayName": "A String", # The name to display for the player.
-        },
-        "kind": "gamesManagement#hiddenPlayer", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#hiddenPlayer.
-        "hiddenTimeMillis": "A String", # The time this player was hidden.
-      },
-    ],
-    "kind": "gamesManagement#hiddenPlayerList", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#hiddenPlayerList.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="listHidden_next">listHidden_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesManagement_v1management.html b/docs/dyn/gamesManagement_v1management.html
deleted file mode 100644
index ffd5a85..0000000
--- a/docs/dyn/gamesManagement_v1management.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="gamesManagement_v1management.html">Google Play Game Services Management API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="gamesManagement_v1management.achievements.html">achievements()</a></code>
-</p>
-<p class="firstline">Returns the achievements Resource.</p>
-
-<p class="toc_element">
-  <code><a href="gamesManagement_v1management.applications.html">applications()</a></code>
-</p>
-<p class="firstline">Returns the applications Resource.</p>
-
-<p class="toc_element">
-  <code><a href="gamesManagement_v1management.players.html">players()</a></code>
-</p>
-<p class="firstline">Returns the players Resource.</p>
-
-<p class="toc_element">
-  <code><a href="gamesManagement_v1management.rooms.html">rooms()</a></code>
-</p>
-<p class="firstline">Returns the rooms Resource.</p>
-
-<p class="toc_element">
-  <code><a href="gamesManagement_v1management.scores.html">scores()</a></code>
-</p>
-<p class="firstline">Returns the scores Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesManagement_v1management.players.html b/docs/dyn/gamesManagement_v1management.players.html
deleted file mode 100644
index 01976b6..0000000
--- a/docs/dyn/gamesManagement_v1management.players.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="gamesManagement_v1management.html">Google Play Game Services Management API</a> . <a href="gamesManagement_v1management.players.html">players</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#hide">hide(applicationId, playerId)</a></code></p>
-<p class="firstline">Hide the given player's leaderboard scores from the given application. This method is only available to user accounts for your developer console.</p>
-<p class="toc_element">
-  <code><a href="#unhide">unhide(applicationId, playerId)</a></code></p>
-<p class="firstline">Unhide the given player's leaderboard scores from the given application. This method is only available to user accounts for your developer console.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="hide">hide(applicationId, playerId)</code>
-  <pre>Hide the given player's leaderboard scores from the given application. This method is only available to user accounts for your developer console.
-
-Args:
-  applicationId: string, The application being requested. (required)
-  playerId: string, A player ID. A value of me may be used in place of the authenticated player's ID. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="unhide">unhide(applicationId, playerId)</code>
-  <pre>Unhide the given player's leaderboard scores from the given application. This method is only available to user accounts for your developer console.
-
-Args:
-  applicationId: string, The application being requested. (required)
-  playerId: string, A player ID. A value of me may be used in place of the authenticated player's ID. (required)
-</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesManagement_v1management.rooms.html b/docs/dyn/gamesManagement_v1management.rooms.html
deleted file mode 100644
index 1670f3f..0000000
--- a/docs/dyn/gamesManagement_v1management.rooms.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="gamesManagement_v1management.html">Google Play Game Services Management API</a> . <a href="gamesManagement_v1management.rooms.html">rooms</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#reset">reset()</a></code></p>
-<p class="firstline">Reset all rooms for the currently authenticated player for your application. This method is only accessible to whitelisted tester accounts for your application.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="reset">reset()</code>
-  <pre>Reset all rooms for the currently authenticated player for your application. This method is only accessible to whitelisted tester accounts for your application.
-
-Args:
-</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesManagement_v1management.scores.html b/docs/dyn/gamesManagement_v1management.scores.html
deleted file mode 100644
index 82272e4..0000000
--- a/docs/dyn/gamesManagement_v1management.scores.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="gamesManagement_v1management.html">Google Play Game Services Management API</a> . <a href="gamesManagement_v1management.scores.html">scores</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#reset">reset(leaderboardId)</a></code></p>
-<p class="firstline">Reset scores for the specified leaderboard, resetting the leaderboard to empty. This method is only accessible to whitelisted tester accounts for your application.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="reset">reset(leaderboardId)</code>
-  <pre>Reset scores for the specified leaderboard, resetting the leaderboard to empty. This method is only accessible to whitelisted tester accounts for your application.
-
-Args:
-  leaderboardId: string, The ID of the leaderboard. (required)
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for a list of reset leaderboard entry resources.
-    "kind": "gamesManagement#playerScoreResetResponse", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#playerScoreResetResponse.
-    "resetScoreTimeSpans": [ # The time spans of the updated score.
-        # Possible values are:
-        # - "ALL_TIME" - The score is an all-time score.
-        # - "WEEKLY" - The score is a weekly score.
-        # - "DAILY" - The score is a daily score.
-      "A String",
-    ],
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.achievementDefinitions.html b/docs/dyn/games_v1.achievementDefinitions.html
deleted file mode 100644
index 141de39..0000000
--- a/docs/dyn/games_v1.achievementDefinitions.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="games_v1.html">Google Play Game Services API</a> . <a href="games_v1.achievementDefinitions.html">achievementDefinitions</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, language=None, maxResults=None)</a></code></p>
-<p class="firstline">Lists all the achievement definitions for your application.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, language=None, maxResults=None)</code>
-  <pre>Lists all the achievement definitions for your application.
-
-Args:
-  pageToken: string, The token returned by the previous request.
-  language: string, The preferred language to use for strings returned by this method.
-  maxResults: integer, The maximum number of achievement resources to return in the response, used for paging. For any response, the actual number of achievement resources returned may be less than the specified maxResults.
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for a list of achievement definition objects.
-    "nextPageToken": "A String", # Token corresponding to the next page of results.
-    "items": [ # The achievement definitions.
-      { # This is a JSON template for an achievement definition object.
-        "totalSteps": 42, # The total steps for an incremental achievement.
-        "achievementType": "A String", # The type of the achievement.
-            # Possible values are:
-            # - "STANDARD" - Achievement is either locked or unlocked.
-            # - "INCREMENTAL" - Achievement is incremental.
-        "description": "A String", # The description of the achievement.
-        "revealedIconUrl": "A String", # The image URL for the revealed achievement icon.
-        "formattedTotalSteps": "A String", # The total steps for an incremental achievement as a string.
-        "kind": "games#achievementDefinition", # Uniquely identifies the type of this resource. Value is always the fixed string games#achievementDefinition.
-        "initialState": "A String", # The initial state of the achievement.
-            # Possible values are:
-            # - "HIDDEN" - Achievement is hidden.
-            # - "REVEALED" - Achievement is revealed.
-            # - "UNLOCKED" - Achievement is unlocked.
-        "isRevealedIconUrlDefault": True or False, # Indicates whether the revealed icon image being returned is a default image, or is provided by the game.
-        "unlockedIconUrl": "A String", # The image URL for the unlocked achievement icon.
-        "id": "A String", # The ID of the achievement.
-        "isUnlockedIconUrlDefault": True or False, # Indicates whether the unlocked icon image being returned is a default image, or is game-provided.
-        "name": "A String", # The name of the achievement.
-      },
-    ],
-    "kind": "games#achievementDefinitionsListResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#achievementDefinitionsListResponse.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.achievements.html b/docs/dyn/games_v1.achievements.html
deleted file mode 100644
index ead3690..0000000
--- a/docs/dyn/games_v1.achievements.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="games_v1.html">Google Play Game Services API</a> . <a href="games_v1.achievements.html">achievements</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#increment">increment(achievementId, stepsToIncrement, requestId=None)</a></code></p>
-<p class="firstline">Increments the steps of the achievement with the given ID for the currently authenticated player.</p>
-<p class="toc_element">
-  <code><a href="#list">list(playerId, language=None, pageToken=None, state=None, maxResults=None)</a></code></p>
-<p class="firstline">Lists the progress for all your application's achievements for the currently authenticated player.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#reveal">reveal(achievementId)</a></code></p>
-<p class="firstline">Sets the state of the achievement with the given ID to REVEALED for the currently authenticated player.</p>
-<p class="toc_element">
-  <code><a href="#unlock">unlock(achievementId)</a></code></p>
-<p class="firstline">Unlocks this achievement for the currently authenticated player.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="increment">increment(achievementId, stepsToIncrement, requestId=None)</code>
-  <pre>Increments the steps of the achievement with the given ID for the currently authenticated player.
-
-Args:
-  achievementId: string, The ID of the achievement used by this method. (required)
-  stepsToIncrement: integer, The number of steps to increment. (required)
-  requestId: string, A randomly generated numeric ID for each request specified by the caller. This number is used at the server to ensure that the increment is performed correctly across retries.
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for an achievement increment response
-    "currentSteps": 42, # The current steps recorded for this incremental achievement.
-    "newlyUnlocked": True or False, # Whether the the current steps for the achievement has reached the number of steps required to unlock.
-    "kind": "games#achievementIncrementResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#achievementIncrementResponse.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(playerId, language=None, pageToken=None, state=None, maxResults=None)</code>
-  <pre>Lists the progress for all your application's achievements for the currently authenticated player.
-
-Args:
-  playerId: string, A player ID. A value of me may be used in place of the authenticated player's ID. (required)
-  language: string, The preferred language to use for strings returned by this method.
-  pageToken: string, The token returned by the previous request.
-  state: string, Tells the server to return only achievements with the specified state. If this parameter isn't specified, all achievements are returned.
-    Allowed values
-      ALL - List all achievements. This is the default.
-      HIDDEN - List only hidden achievements.
-      REVEALED - List only revealed achievements.
-      UNLOCKED - List only unlocked achievements.
-  maxResults: integer, The maximum number of achievement resources to return in the response, used for paging. For any response, the actual number of achievement resources returned may be less than the specified maxResults.
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for a list of achievement objects.
-    "nextPageToken": "A String", # Token corresponding to the next page of results.
-    "items": [ # The achievements.
-      { # This is a JSON template for an achievement object.
-        "achievementState": "A String", # The state of the achievement.
-            # Possible values are:
-            # - "HIDDEN" - Achievement is hidden.
-            # - "REVEALED" - Achievement is revealed.
-            # - "UNLOCKED" - Achievement is unlocked.
-        "kind": "games#playerAchievement", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerAchievement.
-        "lastUpdatedTimestamp": "A String", # The timestamp of the last modification to this achievement's state.
-        "currentSteps": 42, # The current steps for an incremental achievement.
-        "formattedCurrentStepsString": "A String", # The current steps for an incremental achievement as a string.
-        "id": "A String", # The ID of the achievement.
-      },
-    ],
-    "kind": "games#playerAchievementListResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerAchievementListResponse.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="reveal">reveal(achievementId)</code>
-  <pre>Sets the state of the achievement with the given ID to REVEALED for the currently authenticated player.
-
-Args:
-  achievementId: string, The ID of the achievement used by this method. (required)
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for an achievement reveal response
-    "kind": "games#achievementRevealResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#achievementRevealResponse.
-    "currentState": "A String", # The current state of the achievement for which a reveal was attempted. This might be UNLOCKED if the achievement was already unlocked.
-        # Possible values are:
-        # - "REVEALED" - Achievement is revealed.
-        # - "UNLOCKED" - Achievement is unlocked.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="unlock">unlock(achievementId)</code>
-  <pre>Unlocks this achievement for the currently authenticated player.
-
-Args:
-  achievementId: string, The ID of the achievement used by this method. (required)
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for an achievement unlock response
-    "newlyUnlocked": True or False, # Whether this achievement was newly unlocked (that is, whether the unlock request for the achievement was the first for the player).
-    "kind": "games#achievementUnlockResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#achievementUnlockResponse.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.applications.html b/docs/dyn/games_v1.applications.html
deleted file mode 100644
index 5ae1305..0000000
--- a/docs/dyn/games_v1.applications.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="games_v1.html">Google Play Game Services API</a> . <a href="games_v1.applications.html">applications</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(applicationId, language=None, platformType=None)</a></code></p>
-<p class="firstline">Retrieves the metadata of the application with the given ID. If the requested application is not available for the specified platformType, the returned response will not include any instance data.</p>
-<p class="toc_element">
-  <code><a href="#played">played()</a></code></p>
-<p class="firstline">Indicate that the the currently authenticated user is playing your application.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(applicationId, language=None, platformType=None)</code>
-  <pre>Retrieves the metadata of the application with the given ID. If the requested application is not available for the specified platformType, the returned response will not include any instance data.
-
-Args:
-  applicationId: string, The application being requested. (required)
-  language: string, The preferred language to use for strings returned by this method.
-  platformType: string, Restrict application details returned to the specific platform.
-    Allowed values
-      ANDROID - Retrieve applications that can be played on Android.
-      IOS - Retrieve applications that can be played on iOS.
-      WEB_APP - Retrieve applications that can be played on desktop web.
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for the Application resource.
-    "category": { # This is a JSON template for an application category object. # The category of the application.
-      "kind": "games#applicationCategory", # Uniquely identifies the type of this resource. Value is always the fixed string games#applicationCategory.
-      "primary": "A String", # The primary category.
-      "secondary": "A String", # The secondary category.
-    },
-    "kind": "games#application", # Uniquely identifies the type of this resource. Value is always the fixed string games#application.
-    "description": "A String", # The description of the application.
-    "author": "A String", # The author of the application.
-    "lastUpdatedTimestamp": "A String", # The last updated timestamp of the application.
-    "name": "A String", # The name of the application.
-    "instances": [ # The instances of the application.
-      { # This is a JSON template for the Instance resource.
-        "kind": "games#instance", # Uniquely identifies the type of this resource. Value is always the fixed string games#instance.
-        "acquisitionUri": "A String", # URI which shows where a user can acquire this instance.
-        "name": "A String", # Localized display name.
-        "turnBasedPlay": True or False, # Flag to show if this game instance supports turn based play.
-        "webInstance": { # This is a JSON template for the Web details resource. # Platform dependent details for Web.
-          "kind": "games#instanceWebDetails", # Uniquely identifies the type of this resource. Value is always the fixed string games#instanceWebDetails.
-          "launchUrl": "A String", # Launch URL for the game.
-          "preferred": True or False, # Indicates that this instance is the default for new installations.
-        },
-        "androidInstance": { # This is a JSON template for the Android instance details resource. # Platform dependent details for Android.
-          "kind": "games#instanceAndroidDetails", # Uniquely identifies the type of this resource. Value is always the fixed string games#instanceAndroidDetails.
-          "enablePiracyCheck": True or False, # Flag indicating whether the anti-piracy check is enabled.
-          "packageName": "A String", # Android package name which maps to Google Play URL.
-          "preferred": True or False, # Indicates that this instance is the default for new installations.
-        },
-        "iosInstance": { # This is a JSON template for the iOS details resource. # Platform dependent details for iOS.
-          "kind": "games#instanceIosDetails", # Uniquely identifies the type of this resource. Value is always the fixed string games#instanceIosDetails.
-          "supportIphone": True or False, # Flag to indicate if this instance supports iPhone.
-          "preferredForIpad": True or False, # Indicates that this instance is the default for new installations on iPad devices.
-          "itunesAppId": "A String", # iTunes App ID.
-          "bundleIdentifier": "A String", # Bundle identifier.
-          "supportIpad": True or False, # Flag to indicate if this instance supports iPad.
-          "preferredForIphone": True or False, # Indicates that this instance is the default for new installations on iPhone devices.
-        },
-        "platformType": "A String", # The platform type.
-            # Possible values are:
-            # - "ANDROID" - Instance is for Android.
-            # - "IOS" - Instance is for iOS
-            # - "WEB_APP" - Instance is for Web App.
-        "realtimePlay": True or False, # Flag to show if this game instance supports realtime play.
-      },
-    ],
-    "achievement_count": 42, # The number of achievements visible to the currently authenticated player.
-    "leaderboard_count": 42, # The number of leaderboards visible to the currently authenticated player.
-    "id": "A String", # The ID of the application.
-    "assets": [ # The assets of the application.
-      { # This is a JSON template for an image asset object.
-        "url": "A String", # The URL of the asset.
-        "width": 42, # The width of the asset.
-        "kind": "games#imageAsset", # Uniquely identifies the type of this resource. Value is always the fixed string games#imageAsset.
-        "name": "A String", # The name of the asset.
-        "height": 42, # The height of the asset.
-      },
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="played">played()</code>
-  <pre>Indicate that the the currently authenticated user is playing your application.
-
-Args:
-</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.html b/docs/dyn/games_v1.html
deleted file mode 100644
index efc5279..0000000
--- a/docs/dyn/games_v1.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="games_v1.html">Google Play Game Services API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="games_v1.achievementDefinitions.html">achievementDefinitions()</a></code>
-</p>
-<p class="firstline">Returns the achievementDefinitions Resource.</p>
-
-<p class="toc_element">
-  <code><a href="games_v1.achievements.html">achievements()</a></code>
-</p>
-<p class="firstline">Returns the achievements Resource.</p>
-
-<p class="toc_element">
-  <code><a href="games_v1.applications.html">applications()</a></code>
-</p>
-<p class="firstline">Returns the applications Resource.</p>
-
-<p class="toc_element">
-  <code><a href="games_v1.leaderboards.html">leaderboards()</a></code>
-</p>
-<p class="firstline">Returns the leaderboards Resource.</p>
-
-<p class="toc_element">
-  <code><a href="games_v1.players.html">players()</a></code>
-</p>
-<p class="firstline">Returns the players Resource.</p>
-
-<p class="toc_element">
-  <code><a href="games_v1.revisions.html">revisions()</a></code>
-</p>
-<p class="firstline">Returns the revisions Resource.</p>
-
-<p class="toc_element">
-  <code><a href="games_v1.rooms.html">rooms()</a></code>
-</p>
-<p class="firstline">Returns the rooms Resource.</p>
-
-<p class="toc_element">
-  <code><a href="games_v1.scores.html">scores()</a></code>
-</p>
-<p class="firstline">Returns the scores Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.leaderboards.html b/docs/dyn/games_v1.leaderboards.html
deleted file mode 100644
index e23f328..0000000
--- a/docs/dyn/games_v1.leaderboards.html
+++ /dev/null
@@ -1,156 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="games_v1.html">Google Play Game Services API</a> . <a href="games_v1.leaderboards.html">leaderboards</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(leaderboardId, language=None)</a></code></p>
-<p class="firstline">Retrieves the metadata of the leaderboard with the given ID.</p>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, language=None, maxResults=None)</a></code></p>
-<p class="firstline">Lists all the leaderboard metadata for your application.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(leaderboardId, language=None)</code>
-  <pre>Retrieves the metadata of the leaderboard with the given ID.
-
-Args:
-  leaderboardId: string, The ID of the leaderboard. (required)
-  language: string, The preferred language to use for strings returned by this method.
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for the Leaderboard resource.
-    "kind": "games#leaderboard", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboard.
-    "isIconUrlDefault": True or False, # Indicates whether the icon image being returned is a default image, or is game-provided.
-    "name": "A String", # The name of the leaderboard.
-    "id": "A String", # The leaderboard ID.
-    "iconUrl": "A String", # The icon for the leaderboard.
-    "order": "A String", # How scores are ordered.
-        # Possible values are:
-        # - "LARGER_IS_BETTER" - Larger values are better; scores are sorted in descending order.
-        # - "SMALLER_IS_BETTER" - Smaller values are better; scores are sorted in ascending order.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, language=None, maxResults=None)</code>
-  <pre>Lists all the leaderboard metadata for your application.
-
-Args:
-  pageToken: string, The token returned by the previous request.
-  language: string, The preferred language to use for strings returned by this method.
-  maxResults: integer, The maximum number of leaderboards to return in the response. For any response, the actual number of leaderboards returned may be less than the specified maxResults.
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for a list of leaderboard objects.
-    "nextPageToken": "A String", # Token corresponding to the next page of results.
-    "items": [ # The leaderboards.
-      { # This is a JSON template for the Leaderboard resource.
-        "kind": "games#leaderboard", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboard.
-        "isIconUrlDefault": True or False, # Indicates whether the icon image being returned is a default image, or is game-provided.
-        "name": "A String", # The name of the leaderboard.
-        "id": "A String", # The leaderboard ID.
-        "iconUrl": "A String", # The icon for the leaderboard.
-        "order": "A String", # How scores are ordered.
-            # Possible values are:
-            # - "LARGER_IS_BETTER" - Larger values are better; scores are sorted in descending order.
-            # - "SMALLER_IS_BETTER" - Smaller values are better; scores are sorted in ascending order.
-      },
-    ],
-    "kind": "games#leaderboardListResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardListResponse.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.players.html b/docs/dyn/games_v1.players.html
deleted file mode 100644
index c664ffb..0000000
--- a/docs/dyn/games_v1.players.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="games_v1.html">Google Play Game Services API</a> . <a href="games_v1.players.html">players</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(playerId)</a></code></p>
-<p class="firstline">Retrieves the Player resource with the given ID. To retrieve the player for the currently authenticated user, set playerId to me.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(playerId)</code>
-  <pre>Retrieves the Player resource with the given ID. To retrieve the player for the currently authenticated user, set playerId to me.
-
-Args:
-  playerId: string, A player ID. A value of me may be used in place of the authenticated player's ID. (required)
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for a Player resource.
-    "playerId": "A String", # The ID of the player.
-    "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
-    "avatarImageUrl": "A String", # The base URL for the image that represents the player.
-    "displayName": "A String", # The name to display for the player.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.revisions.html b/docs/dyn/games_v1.revisions.html
deleted file mode 100644
index b4191cc..0000000
--- a/docs/dyn/games_v1.revisions.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="games_v1.html">Google Play Game Services API</a> . <a href="games_v1.revisions.html">revisions</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#check">check(clientRevision)</a></code></p>
-<p class="firstline">Checks whether the games client is out of date.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="check">check(clientRevision)</code>
-  <pre>Checks whether the games client is out of date.
-
-Args:
-  clientRevision: string, The revision of the client SDK used by your application. (required)
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for the result of checking a revision.
-    "kind": "games#revisionCheckResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#revisionCheckResponse.
-    "revisionStatus": "A String", # The result of the revision check.
-        # Possible values are:
-        # - "OK" - The revision being used is current.
-        # - "DEPRECATED" - There is currently a newer version available, but the revision being used still works.
-        # - "INVALID" - The revision being used is not supported in any released version.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.rooms.html b/docs/dyn/games_v1.rooms.html
deleted file mode 100644
index 8dfb6c7..0000000
--- a/docs/dyn/games_v1.rooms.html
+++ /dev/null
@@ -1,887 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="games_v1.html">Google Play Game Services API</a> . <a href="games_v1.rooms.html">rooms</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#create">create(body, language=None)</a></code></p>
-<p class="firstline">Create a room. For internal use by the Games SDK only. Calling this method directly is unsupported.</p>
-<p class="toc_element">
-  <code><a href="#decline">decline(roomId)</a></code></p>
-<p class="firstline">Decline an invitation to join a room. For internal use by the Games SDK only. Calling this method directly is unsupported.</p>
-<p class="toc_element">
-  <code><a href="#dismiss">dismiss(roomId)</a></code></p>
-<p class="firstline">Dismiss an invitation to join a room. For internal use by the Games SDK only. Calling this method directly is unsupported.</p>
-<p class="toc_element">
-  <code><a href="#get">get(roomId, language=None)</a></code></p>
-<p class="firstline">Get the data for a room.</p>
-<p class="toc_element">
-  <code><a href="#join">join(roomId, body)</a></code></p>
-<p class="firstline">Join a room. For internal use by the Games SDK only. Calling this method directly is unsupported.</p>
-<p class="toc_element">
-  <code><a href="#leave">leave(roomId, body)</a></code></p>
-<p class="firstline">Leave a room. For internal use by the Games SDK only. Calling this method directly is unsupported.</p>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, language=None, maxResults=None)</a></code></p>
-<p class="firstline">Returns invitations to join rooms.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#reportStatus">reportStatus(roomId, body)</a></code></p>
-<p class="firstline">Updates sent by a client reporting the status of peers in a room. For internal use by the Games SDK only. Calling this method directly is unsupported.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="create">create(body, language=None)</code>
-  <pre>Create a room. For internal use by the Games SDK only. Calling this method directly is unsupported.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # This is a JSON template for a room creation request.
-    "kind": "games#roomCreateRequest", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomCreateRequest.
-    "autoMatchingCriteria": { # This is a JSON template for a room auto-match criteria object. # Criteria for auto-matching players into this room.
-      "kind": "games#roomAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchingCriteria.
-      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the room by auto-matching.
-      "exclusiveBitmask": "A String", # A bitmask indicating when auto-matches are valid. When ANDed with other exclusive bitmasks, the result must be zero. Can be used to support exclusive roles within a game.
-      "maxAutoMatchingPlayers": 42, # The maximum number of players that should be added to the room by auto-matching.
-    },
-    "invitedPlayerIds": [ # The player IDs to invite to the room.
-      "A String",
-    ],
-    "variant": 42, # The variant / mode of the application to be played. This can be any integer value, or left blank. You should use a small number of variants to keep the auto-matching pool as large as possible.
-    "capabilities": [ # The capabilities that this client supports for realtime communication.
-      "A String",
-    ],
-    "networkDiagnostics": { # This is a JSON template for network diagnostics reported for a client. # Network diagnostics for the client creating the room.
-      "registrationLatencyMillis": 42, # The amount of time in milliseconds it took for the client to establish a connection with the XMPP server.
-      "kind": "games#networkDiagnostics", # Uniquely identifies the type of this resource. Value is always the fixed string games#networkDiagnostics.
-      "androidNetworkSubtype": 42, # The Android network subtype.
-      "androidNetworkType": 42, # The Android network type.
-    },
-    "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the player creating the room.
-      "kind": "games#roomClientAddress", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.
-      "xmppAddress": "A String", # The XMPP address of the client on the Google Games XMPP network.
-    },
-  }
-
-  language: string, The preferred language to use for strings returned by this method.
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for a room resource object.
-    "status": "A String", # The status of the room.
-        # Possible values are:
-        # - "ROOM_INVITING" - One or more players have been invited and not responded.
-        # - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by auto-matching.
-        # - "ROOM_CONNECTING" - Players have joined and are connecting to each other (either before or after auto-matching).
-        # - "ROOM_ACTIVE" - All players have joined and connected to each other.
-        # - "ROOM_DELETED" - The room should no longer be shown on the client. Returned in sync calls when a player joins a room (as a tombstone), or for rooms where all joined participants have left.
-    "kind": "games#room", # Uniquely identifies the type of this resource. Value is always the fixed string games#room.
-    "autoMatchingCriteria": { # This is a JSON template for a room auto-match criteria object. # Criteria for auto-matching players into this room.
-      "kind": "games#roomAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchingCriteria.
-      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the room by auto-matching.
-      "exclusiveBitmask": "A String", # A bitmask indicating when auto-matches are valid. When ANDed with other exclusive bitmasks, the result must be zero. Can be used to support exclusive roles within a game.
-      "maxAutoMatchingPlayers": 42, # The maximum number of players that should be added to the room by auto-matching.
-    },
-    "creationDetails": { # This is a JSON template for room modification metadata. # Details about the room creation.
-      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
-      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
-      "participantId": "A String", # The ID of the participant that modified the room.
-    },
-    "description": "A String", # This short description is generated by our servers and worded relative to the player requesting the room. It is intended to be displayed when the room is shown in a list (that is, an invitation to a room.)
-    "roomId": "A String", # Globally unique ID for a room.
-    "autoMatchingStatus": { # This is a JSON template for status of room automatching that is in progress. # Auto-matching status for this room. Not set if the room is not currently in the automatching status.
-      "kind": "games#roomAutoMatchStatus", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchStatus.
-      "waitEstimateSeconds": 42, # An estimate for the amount of time that automatching is expected to take to complete.
-    },
-    "participants": [ # The participants involved in the room, along with their statuses. Includes participants who have left or declined invitations.
-      { # This is a JSON template for a participant in a room.
-        "status": "A String", # The status of the participant with respect to the room.
-            # Possible values are:
-            # - "PARTICIPANT_INVITED" - The participant has been invited to join the room, but has not yet responded.
-            # - "PARTICIPANT_JOINED" - The participant has joined the room (either after creating it or accepting an invitation.)
-            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the room.
-            # - "PARTICIPANT_LEFT" - The participant joined the room and then left it.
-        "kind": "games#roomParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomParticipant.
-        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
-          "kind": "games#anonymousPlayer", # Uniquely identifies the type of this resource. Value is always the fixed string games#anonymousPlayer.
-          "avatarImageUrl": "A String", # The base URL for the image to display for the anonymous player.
-          "displayName": "A String", # The name to display for the anonymous player.
-        },
-        "leaveReason": "A String", # The reason the participant left the room; populated if the participant status is PARTICIPANT_LEFT.
-            # Possible values are:
-            # - "PLAYER_LEFT" - The player explicitly chose to leave the room.
-            # - "GAME_LEFT" - The game chose to remove the player from the room.
-            # - "ABANDONED" - The player switched to another application and abandoned the room.
-            # - "PEER_CONNECTION_FAILURE" - The client was unable to establish or maintain a connection to other peer(s) in the room.
-            # - "SERVER_ERROR" - The client received an error response when it tried to communicate with the server.
-            # - "TIMEOUT" - The client timed out while waiting for players to join and connect.
-            # - "PRESENCE_FAILURE" - The client's XMPP connection ended abruptly.
-        "capabilities": [ # The capabilities which can be used when communicating with this participant.
-          "A String",
-        ],
-        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
-          "playerId": "A String", # The ID of the player.
-          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
-          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
-          "displayName": "A String", # The name to display for the player.
-        },
-        "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant.
-          "kind": "games#roomClientAddress", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.
-          "xmppAddress": "A String", # The XMPP address of the client on the Google Games XMPP network.
-        },
-        "connected": True or False, # True if this participant is in the fully connected set of peers in the room.
-        "id": "A String", # An identifier for the participant in the scope of the room. Cannot be used to identify a player across rooms or in other contexts.
-      },
-    ],
-    "roomStatusVersion": 42, # The version of the room status: an increasing counter, used by the client to ignore out-of-order updates to room status.
-    "variant": 42, # The variant / mode of the application being played; can be any integer value, or left blank.
-    "lastUpdateDetails": { # This is a JSON template for room modification metadata. # Details about the last update to the room.
-      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
-      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
-      "participantId": "A String", # The ID of the participant that modified the room.
-    },
-    "applicationId": "A String", # The ID of the application being played.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="decline">decline(roomId)</code>
-  <pre>Decline an invitation to join a room. For internal use by the Games SDK only. Calling this method directly is unsupported.
-
-Args:
-  roomId: string, The ID of the room. (required)
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for a room resource object.
-    "status": "A String", # The status of the room.
-        # Possible values are:
-        # - "ROOM_INVITING" - One or more players have been invited and not responded.
-        # - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by auto-matching.
-        # - "ROOM_CONNECTING" - Players have joined and are connecting to each other (either before or after auto-matching).
-        # - "ROOM_ACTIVE" - All players have joined and connected to each other.
-        # - "ROOM_DELETED" - The room should no longer be shown on the client. Returned in sync calls when a player joins a room (as a tombstone), or for rooms where all joined participants have left.
-    "kind": "games#room", # Uniquely identifies the type of this resource. Value is always the fixed string games#room.
-    "autoMatchingCriteria": { # This is a JSON template for a room auto-match criteria object. # Criteria for auto-matching players into this room.
-      "kind": "games#roomAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchingCriteria.
-      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the room by auto-matching.
-      "exclusiveBitmask": "A String", # A bitmask indicating when auto-matches are valid. When ANDed with other exclusive bitmasks, the result must be zero. Can be used to support exclusive roles within a game.
-      "maxAutoMatchingPlayers": 42, # The maximum number of players that should be added to the room by auto-matching.
-    },
-    "creationDetails": { # This is a JSON template for room modification metadata. # Details about the room creation.
-      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
-      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
-      "participantId": "A String", # The ID of the participant that modified the room.
-    },
-    "description": "A String", # This short description is generated by our servers and worded relative to the player requesting the room. It is intended to be displayed when the room is shown in a list (that is, an invitation to a room.)
-    "roomId": "A String", # Globally unique ID for a room.
-    "autoMatchingStatus": { # This is a JSON template for status of room automatching that is in progress. # Auto-matching status for this room. Not set if the room is not currently in the automatching status.
-      "kind": "games#roomAutoMatchStatus", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchStatus.
-      "waitEstimateSeconds": 42, # An estimate for the amount of time that automatching is expected to take to complete.
-    },
-    "participants": [ # The participants involved in the room, along with their statuses. Includes participants who have left or declined invitations.
-      { # This is a JSON template for a participant in a room.
-        "status": "A String", # The status of the participant with respect to the room.
-            # Possible values are:
-            # - "PARTICIPANT_INVITED" - The participant has been invited to join the room, but has not yet responded.
-            # - "PARTICIPANT_JOINED" - The participant has joined the room (either after creating it or accepting an invitation.)
-            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the room.
-            # - "PARTICIPANT_LEFT" - The participant joined the room and then left it.
-        "kind": "games#roomParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomParticipant.
-        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
-          "kind": "games#anonymousPlayer", # Uniquely identifies the type of this resource. Value is always the fixed string games#anonymousPlayer.
-          "avatarImageUrl": "A String", # The base URL for the image to display for the anonymous player.
-          "displayName": "A String", # The name to display for the anonymous player.
-        },
-        "leaveReason": "A String", # The reason the participant left the room; populated if the participant status is PARTICIPANT_LEFT.
-            # Possible values are:
-            # - "PLAYER_LEFT" - The player explicitly chose to leave the room.
-            # - "GAME_LEFT" - The game chose to remove the player from the room.
-            # - "ABANDONED" - The player switched to another application and abandoned the room.
-            # - "PEER_CONNECTION_FAILURE" - The client was unable to establish or maintain a connection to other peer(s) in the room.
-            # - "SERVER_ERROR" - The client received an error response when it tried to communicate with the server.
-            # - "TIMEOUT" - The client timed out while waiting for players to join and connect.
-            # - "PRESENCE_FAILURE" - The client's XMPP connection ended abruptly.
-        "capabilities": [ # The capabilities which can be used when communicating with this participant.
-          "A String",
-        ],
-        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
-          "playerId": "A String", # The ID of the player.
-          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
-          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
-          "displayName": "A String", # The name to display for the player.
-        },
-        "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant.
-          "kind": "games#roomClientAddress", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.
-          "xmppAddress": "A String", # The XMPP address of the client on the Google Games XMPP network.
-        },
-        "connected": True or False, # True if this participant is in the fully connected set of peers in the room.
-        "id": "A String", # An identifier for the participant in the scope of the room. Cannot be used to identify a player across rooms or in other contexts.
-      },
-    ],
-    "roomStatusVersion": 42, # The version of the room status: an increasing counter, used by the client to ignore out-of-order updates to room status.
-    "variant": 42, # The variant / mode of the application being played; can be any integer value, or left blank.
-    "lastUpdateDetails": { # This is a JSON template for room modification metadata. # Details about the last update to the room.
-      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
-      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
-      "participantId": "A String", # The ID of the participant that modified the room.
-    },
-    "applicationId": "A String", # The ID of the application being played.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="dismiss">dismiss(roomId)</code>
-  <pre>Dismiss an invitation to join a room. For internal use by the Games SDK only. Calling this method directly is unsupported.
-
-Args:
-  roomId: string, The ID of the room. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(roomId, language=None)</code>
-  <pre>Get the data for a room.
-
-Args:
-  roomId: string, The ID of the room. (required)
-  language: string, Specify the preferred language to use to format room info.
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for a room resource object.
-    "status": "A String", # The status of the room.
-        # Possible values are:
-        # - "ROOM_INVITING" - One or more players have been invited and not responded.
-        # - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by auto-matching.
-        # - "ROOM_CONNECTING" - Players have joined and are connecting to each other (either before or after auto-matching).
-        # - "ROOM_ACTIVE" - All players have joined and connected to each other.
-        # - "ROOM_DELETED" - The room should no longer be shown on the client. Returned in sync calls when a player joins a room (as a tombstone), or for rooms where all joined participants have left.
-    "kind": "games#room", # Uniquely identifies the type of this resource. Value is always the fixed string games#room.
-    "autoMatchingCriteria": { # This is a JSON template for a room auto-match criteria object. # Criteria for auto-matching players into this room.
-      "kind": "games#roomAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchingCriteria.
-      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the room by auto-matching.
-      "exclusiveBitmask": "A String", # A bitmask indicating when auto-matches are valid. When ANDed with other exclusive bitmasks, the result must be zero. Can be used to support exclusive roles within a game.
-      "maxAutoMatchingPlayers": 42, # The maximum number of players that should be added to the room by auto-matching.
-    },
-    "creationDetails": { # This is a JSON template for room modification metadata. # Details about the room creation.
-      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
-      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
-      "participantId": "A String", # The ID of the participant that modified the room.
-    },
-    "description": "A String", # This short description is generated by our servers and worded relative to the player requesting the room. It is intended to be displayed when the room is shown in a list (that is, an invitation to a room.)
-    "roomId": "A String", # Globally unique ID for a room.
-    "autoMatchingStatus": { # This is a JSON template for status of room automatching that is in progress. # Auto-matching status for this room. Not set if the room is not currently in the automatching status.
-      "kind": "games#roomAutoMatchStatus", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchStatus.
-      "waitEstimateSeconds": 42, # An estimate for the amount of time that automatching is expected to take to complete.
-    },
-    "participants": [ # The participants involved in the room, along with their statuses. Includes participants who have left or declined invitations.
-      { # This is a JSON template for a participant in a room.
-        "status": "A String", # The status of the participant with respect to the room.
-            # Possible values are:
-            # - "PARTICIPANT_INVITED" - The participant has been invited to join the room, but has not yet responded.
-            # - "PARTICIPANT_JOINED" - The participant has joined the room (either after creating it or accepting an invitation.)
-            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the room.
-            # - "PARTICIPANT_LEFT" - The participant joined the room and then left it.
-        "kind": "games#roomParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomParticipant.
-        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
-          "kind": "games#anonymousPlayer", # Uniquely identifies the type of this resource. Value is always the fixed string games#anonymousPlayer.
-          "avatarImageUrl": "A String", # The base URL for the image to display for the anonymous player.
-          "displayName": "A String", # The name to display for the anonymous player.
-        },
-        "leaveReason": "A String", # The reason the participant left the room; populated if the participant status is PARTICIPANT_LEFT.
-            # Possible values are:
-            # - "PLAYER_LEFT" - The player explicitly chose to leave the room.
-            # - "GAME_LEFT" - The game chose to remove the player from the room.
-            # - "ABANDONED" - The player switched to another application and abandoned the room.
-            # - "PEER_CONNECTION_FAILURE" - The client was unable to establish or maintain a connection to other peer(s) in the room.
-            # - "SERVER_ERROR" - The client received an error response when it tried to communicate with the server.
-            # - "TIMEOUT" - The client timed out while waiting for players to join and connect.
-            # - "PRESENCE_FAILURE" - The client's XMPP connection ended abruptly.
-        "capabilities": [ # The capabilities which can be used when communicating with this participant.
-          "A String",
-        ],
-        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
-          "playerId": "A String", # The ID of the player.
-          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
-          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
-          "displayName": "A String", # The name to display for the player.
-        },
-        "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant.
-          "kind": "games#roomClientAddress", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.
-          "xmppAddress": "A String", # The XMPP address of the client on the Google Games XMPP network.
-        },
-        "connected": True or False, # True if this participant is in the fully connected set of peers in the room.
-        "id": "A String", # An identifier for the participant in the scope of the room. Cannot be used to identify a player across rooms or in other contexts.
-      },
-    ],
-    "roomStatusVersion": 42, # The version of the room status: an increasing counter, used by the client to ignore out-of-order updates to room status.
-    "variant": 42, # The variant / mode of the application being played; can be any integer value, or left blank.
-    "lastUpdateDetails": { # This is a JSON template for room modification metadata. # Details about the last update to the room.
-      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
-      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
-      "participantId": "A String", # The ID of the participant that modified the room.
-    },
-    "applicationId": "A String", # The ID of the application being played.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="join">join(roomId, body)</code>
-  <pre>Join a room. For internal use by the Games SDK only. Calling this method directly is unsupported.
-
-Args:
-  roomId: string, The ID of the room. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # This is a JSON template for a join room request.
-    "networkDiagnostics": { # This is a JSON template for network diagnostics reported for a client. # Network diagnostics for the client joining the room.
-      "registrationLatencyMillis": 42, # The amount of time in milliseconds it took for the client to establish a connection with the XMPP server.
-      "kind": "games#networkDiagnostics", # Uniquely identifies the type of this resource. Value is always the fixed string games#networkDiagnostics.
-      "androidNetworkSubtype": 42, # The Android network subtype.
-      "androidNetworkType": 42, # The Android network type.
-    },
-    "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the player joining the room.
-      "kind": "games#roomClientAddress", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.
-      "xmppAddress": "A String", # The XMPP address of the client on the Google Games XMPP network.
-    },
-    "kind": "games#roomJoinRequest", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomJoinRequest.
-    "capabilities": [ # The capabilities that this client supports for realtime communication.
-      "A String",
-    ],
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for a room resource object.
-    "status": "A String", # The status of the room.
-        # Possible values are:
-        # - "ROOM_INVITING" - One or more players have been invited and not responded.
-        # - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by auto-matching.
-        # - "ROOM_CONNECTING" - Players have joined and are connecting to each other (either before or after auto-matching).
-        # - "ROOM_ACTIVE" - All players have joined and connected to each other.
-        # - "ROOM_DELETED" - The room should no longer be shown on the client. Returned in sync calls when a player joins a room (as a tombstone), or for rooms where all joined participants have left.
-    "kind": "games#room", # Uniquely identifies the type of this resource. Value is always the fixed string games#room.
-    "autoMatchingCriteria": { # This is a JSON template for a room auto-match criteria object. # Criteria for auto-matching players into this room.
-      "kind": "games#roomAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchingCriteria.
-      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the room by auto-matching.
-      "exclusiveBitmask": "A String", # A bitmask indicating when auto-matches are valid. When ANDed with other exclusive bitmasks, the result must be zero. Can be used to support exclusive roles within a game.
-      "maxAutoMatchingPlayers": 42, # The maximum number of players that should be added to the room by auto-matching.
-    },
-    "creationDetails": { # This is a JSON template for room modification metadata. # Details about the room creation.
-      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
-      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
-      "participantId": "A String", # The ID of the participant that modified the room.
-    },
-    "description": "A String", # This short description is generated by our servers and worded relative to the player requesting the room. It is intended to be displayed when the room is shown in a list (that is, an invitation to a room.)
-    "roomId": "A String", # Globally unique ID for a room.
-    "autoMatchingStatus": { # This is a JSON template for status of room automatching that is in progress. # Auto-matching status for this room. Not set if the room is not currently in the automatching status.
-      "kind": "games#roomAutoMatchStatus", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchStatus.
-      "waitEstimateSeconds": 42, # An estimate for the amount of time that automatching is expected to take to complete.
-    },
-    "participants": [ # The participants involved in the room, along with their statuses. Includes participants who have left or declined invitations.
-      { # This is a JSON template for a participant in a room.
-        "status": "A String", # The status of the participant with respect to the room.
-            # Possible values are:
-            # - "PARTICIPANT_INVITED" - The participant has been invited to join the room, but has not yet responded.
-            # - "PARTICIPANT_JOINED" - The participant has joined the room (either after creating it or accepting an invitation.)
-            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the room.
-            # - "PARTICIPANT_LEFT" - The participant joined the room and then left it.
-        "kind": "games#roomParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomParticipant.
-        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
-          "kind": "games#anonymousPlayer", # Uniquely identifies the type of this resource. Value is always the fixed string games#anonymousPlayer.
-          "avatarImageUrl": "A String", # The base URL for the image to display for the anonymous player.
-          "displayName": "A String", # The name to display for the anonymous player.
-        },
-        "leaveReason": "A String", # The reason the participant left the room; populated if the participant status is PARTICIPANT_LEFT.
-            # Possible values are:
-            # - "PLAYER_LEFT" - The player explicitly chose to leave the room.
-            # - "GAME_LEFT" - The game chose to remove the player from the room.
-            # - "ABANDONED" - The player switched to another application and abandoned the room.
-            # - "PEER_CONNECTION_FAILURE" - The client was unable to establish or maintain a connection to other peer(s) in the room.
-            # - "SERVER_ERROR" - The client received an error response when it tried to communicate with the server.
-            # - "TIMEOUT" - The client timed out while waiting for players to join and connect.
-            # - "PRESENCE_FAILURE" - The client's XMPP connection ended abruptly.
-        "capabilities": [ # The capabilities which can be used when communicating with this participant.
-          "A String",
-        ],
-        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
-          "playerId": "A String", # The ID of the player.
-          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
-          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
-          "displayName": "A String", # The name to display for the player.
-        },
-        "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant.
-          "kind": "games#roomClientAddress", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.
-          "xmppAddress": "A String", # The XMPP address of the client on the Google Games XMPP network.
-        },
-        "connected": True or False, # True if this participant is in the fully connected set of peers in the room.
-        "id": "A String", # An identifier for the participant in the scope of the room. Cannot be used to identify a player across rooms or in other contexts.
-      },
-    ],
-    "roomStatusVersion": 42, # The version of the room status: an increasing counter, used by the client to ignore out-of-order updates to room status.
-    "variant": 42, # The variant / mode of the application being played; can be any integer value, or left blank.
-    "lastUpdateDetails": { # This is a JSON template for room modification metadata. # Details about the last update to the room.
-      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
-      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
-      "participantId": "A String", # The ID of the participant that modified the room.
-    },
-    "applicationId": "A String", # The ID of the application being played.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="leave">leave(roomId, body)</code>
-  <pre>Leave a room. For internal use by the Games SDK only. Calling this method directly is unsupported.
-
-Args:
-  roomId: string, The ID of the room. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # This is a JSON template for a leave room request.
-    "kind": "games#roomLeaveRequest", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomLeaveRequest.
-    "reason": "A String", # Reason for leaving the match.
-        # Possible values are:
-        # - "PLAYER_LEFT" - The player chose to leave the room..
-        # - "GAME_LEFT" - The game chose to remove the player from the room.
-        # - "REALTIME_ABANDONED" - The player switched to another application and abandoned the room.
-        # - "REALTIME_PEER_CONNECTION_FAILURE" - The client was unable to establish a connection to other peer(s).
-        # - "REALTIME_SERVER_CONNECTION_FAILURE" - The client was unable to communicate with the server.
-        # - "REALTIME_SERVER_ERROR" - The client received an error response when it tried to communicate with the server.
-        # - "REALTIME_TIMEOUT" - The client timed out while waiting for a room.
-    "leaveDiagnostics": { # This is a JSON template for room leave diagnostics. # Diagnostics for a player leaving the room.
-      "kind": "games#roomLeaveDiagnostics", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomLeaveDiagnostics.
-      "peerSession": [ # Diagnostics about all peer sessions.
-        { # This is a JSON template for peer session diagnostics.
-          "unreliableChannel": { # This is a JSON template for peer channel diagnostics. # Unreliable channel diagnostics.
-            "bytesReceived": { # This is a JSON template for aggregate stats. # Number of bytes received.
-              "count": "A String", # The number of messages sent between a pair of peers.
-              "max": "A String", # The maximum amount.
-              "kind": "games#aggregateStats", # Uniquely identifies the type of this resource. Value is always the fixed string games#aggregateStats.
-              "sum": "A String", # The total number of bytes sent for messages between a pair of peers.
-              "min": "A String", # The minimum amount.
-            },
-            "kind": "games#peerChannelDiagnostics", # Uniquely identifies the type of this resource. Value is always the fixed string games#peerChannelDiagnostics.
-            "bytesSent": { # This is a JSON template for aggregate stats. # Number of bytes sent.
-              "count": "A String", # The number of messages sent between a pair of peers.
-              "max": "A String", # The maximum amount.
-              "kind": "games#aggregateStats", # Uniquely identifies the type of this resource. Value is always the fixed string games#aggregateStats.
-              "sum": "A String", # The total number of bytes sent for messages between a pair of peers.
-              "min": "A String", # The minimum amount.
-            },
-            "numSendFailures": 42, # Number of send failures.
-            "numMessagesLost": 42, # Number of messages lost.
-            "numMessagesReceived": 42, # Number of messages received.
-            "numMessagesSent": 42, # Number of messages sent.
-            "roundtripLatencyMillis": { # This is a JSON template for aggregate stats. # Roundtrip latency stats in milliseconds.
-              "count": "A String", # The number of messages sent between a pair of peers.
-              "max": "A String", # The maximum amount.
-              "kind": "games#aggregateStats", # Uniquely identifies the type of this resource. Value is always the fixed string games#aggregateStats.
-              "sum": "A String", # The total number of bytes sent for messages between a pair of peers.
-              "min": "A String", # The minimum amount.
-            },
-          },
-          "kind": "games#peerSessionDiagnostics", # Uniquely identifies the type of this resource. Value is always the fixed string games#peerSessionDiagnostics.
-          "reliableChannel": { # This is a JSON template for peer channel diagnostics. # Reliable channel diagnostics.
-            "bytesReceived": { # This is a JSON template for aggregate stats. # Number of bytes received.
-              "count": "A String", # The number of messages sent between a pair of peers.
-              "max": "A String", # The maximum amount.
-              "kind": "games#aggregateStats", # Uniquely identifies the type of this resource. Value is always the fixed string games#aggregateStats.
-              "sum": "A String", # The total number of bytes sent for messages between a pair of peers.
-              "min": "A String", # The minimum amount.
-            },
-            "kind": "games#peerChannelDiagnostics", # Uniquely identifies the type of this resource. Value is always the fixed string games#peerChannelDiagnostics.
-            "bytesSent": { # This is a JSON template for aggregate stats. # Number of bytes sent.
-              "count": "A String", # The number of messages sent between a pair of peers.
-              "max": "A String", # The maximum amount.
-              "kind": "games#aggregateStats", # Uniquely identifies the type of this resource. Value is always the fixed string games#aggregateStats.
-              "sum": "A String", # The total number of bytes sent for messages between a pair of peers.
-              "min": "A String", # The minimum amount.
-            },
-            "numSendFailures": 42, # Number of send failures.
-            "numMessagesLost": 42, # Number of messages lost.
-            "numMessagesReceived": 42, # Number of messages received.
-            "numMessagesSent": 42, # Number of messages sent.
-            "roundtripLatencyMillis": { # This is a JSON template for aggregate stats. # Roundtrip latency stats in milliseconds.
-              "count": "A String", # The number of messages sent between a pair of peers.
-              "max": "A String", # The maximum amount.
-              "kind": "games#aggregateStats", # Uniquely identifies the type of this resource. Value is always the fixed string games#aggregateStats.
-              "sum": "A String", # The total number of bytes sent for messages between a pair of peers.
-              "min": "A String", # The minimum amount.
-            },
-          },
-          "connectedTimestampMillis": "A String", # Connected time in milliseconds.
-          "participantId": "A String", # The participant ID of the peer.
-        },
-      ],
-      "androidNetworkSubtype": 42, # Android network subtype. http://developer.android.com/reference/android/net/NetworkInfo.html#getSubtype()
-      "socketsUsed": True or False, # Whether or not sockets were used.
-      "androidNetworkType": 42, # Android network type. http://developer.android.com/reference/android/net/NetworkInfo.html#getType()
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for a room resource object.
-    "status": "A String", # The status of the room.
-        # Possible values are:
-        # - "ROOM_INVITING" - One or more players have been invited and not responded.
-        # - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by auto-matching.
-        # - "ROOM_CONNECTING" - Players have joined and are connecting to each other (either before or after auto-matching).
-        # - "ROOM_ACTIVE" - All players have joined and connected to each other.
-        # - "ROOM_DELETED" - The room should no longer be shown on the client. Returned in sync calls when a player joins a room (as a tombstone), or for rooms where all joined participants have left.
-    "kind": "games#room", # Uniquely identifies the type of this resource. Value is always the fixed string games#room.
-    "autoMatchingCriteria": { # This is a JSON template for a room auto-match criteria object. # Criteria for auto-matching players into this room.
-      "kind": "games#roomAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchingCriteria.
-      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the room by auto-matching.
-      "exclusiveBitmask": "A String", # A bitmask indicating when auto-matches are valid. When ANDed with other exclusive bitmasks, the result must be zero. Can be used to support exclusive roles within a game.
-      "maxAutoMatchingPlayers": 42, # The maximum number of players that should be added to the room by auto-matching.
-    },
-    "creationDetails": { # This is a JSON template for room modification metadata. # Details about the room creation.
-      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
-      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
-      "participantId": "A String", # The ID of the participant that modified the room.
-    },
-    "description": "A String", # This short description is generated by our servers and worded relative to the player requesting the room. It is intended to be displayed when the room is shown in a list (that is, an invitation to a room.)
-    "roomId": "A String", # Globally unique ID for a room.
-    "autoMatchingStatus": { # This is a JSON template for status of room automatching that is in progress. # Auto-matching status for this room. Not set if the room is not currently in the automatching status.
-      "kind": "games#roomAutoMatchStatus", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchStatus.
-      "waitEstimateSeconds": 42, # An estimate for the amount of time that automatching is expected to take to complete.
-    },
-    "participants": [ # The participants involved in the room, along with their statuses. Includes participants who have left or declined invitations.
-      { # This is a JSON template for a participant in a room.
-        "status": "A String", # The status of the participant with respect to the room.
-            # Possible values are:
-            # - "PARTICIPANT_INVITED" - The participant has been invited to join the room, but has not yet responded.
-            # - "PARTICIPANT_JOINED" - The participant has joined the room (either after creating it or accepting an invitation.)
-            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the room.
-            # - "PARTICIPANT_LEFT" - The participant joined the room and then left it.
-        "kind": "games#roomParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomParticipant.
-        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
-          "kind": "games#anonymousPlayer", # Uniquely identifies the type of this resource. Value is always the fixed string games#anonymousPlayer.
-          "avatarImageUrl": "A String", # The base URL for the image to display for the anonymous player.
-          "displayName": "A String", # The name to display for the anonymous player.
-        },
-        "leaveReason": "A String", # The reason the participant left the room; populated if the participant status is PARTICIPANT_LEFT.
-            # Possible values are:
-            # - "PLAYER_LEFT" - The player explicitly chose to leave the room.
-            # - "GAME_LEFT" - The game chose to remove the player from the room.
-            # - "ABANDONED" - The player switched to another application and abandoned the room.
-            # - "PEER_CONNECTION_FAILURE" - The client was unable to establish or maintain a connection to other peer(s) in the room.
-            # - "SERVER_ERROR" - The client received an error response when it tried to communicate with the server.
-            # - "TIMEOUT" - The client timed out while waiting for players to join and connect.
-            # - "PRESENCE_FAILURE" - The client's XMPP connection ended abruptly.
-        "capabilities": [ # The capabilities which can be used when communicating with this participant.
-          "A String",
-        ],
-        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
-          "playerId": "A String", # The ID of the player.
-          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
-          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
-          "displayName": "A String", # The name to display for the player.
-        },
-        "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant.
-          "kind": "games#roomClientAddress", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.
-          "xmppAddress": "A String", # The XMPP address of the client on the Google Games XMPP network.
-        },
-        "connected": True or False, # True if this participant is in the fully connected set of peers in the room.
-        "id": "A String", # An identifier for the participant in the scope of the room. Cannot be used to identify a player across rooms or in other contexts.
-      },
-    ],
-    "roomStatusVersion": 42, # The version of the room status: an increasing counter, used by the client to ignore out-of-order updates to room status.
-    "variant": 42, # The variant / mode of the application being played; can be any integer value, or left blank.
-    "lastUpdateDetails": { # This is a JSON template for room modification metadata. # Details about the last update to the room.
-      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
-      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
-      "participantId": "A String", # The ID of the participant that modified the room.
-    },
-    "applicationId": "A String", # The ID of the application being played.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, language=None, maxResults=None)</code>
-  <pre>Returns invitations to join rooms.
-
-Args:
-  pageToken: string, The token returned by the previous request.
-  language: string, The preferred language to use for strings returned by this method.
-  maxResults: integer, The maximum number of rooms to return in the response, used for paging. For any response, the actual number of rooms to return may be less than the specified maxResults.
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for a list of rooms.
-    "nextPageToken": "A String", # The pagination token for the next page of results.
-    "items": [ # The rooms.
-      { # This is a JSON template for a room resource object.
-        "status": "A String", # The status of the room.
-            # Possible values are:
-            # - "ROOM_INVITING" - One or more players have been invited and not responded.
-            # - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by auto-matching.
-            # - "ROOM_CONNECTING" - Players have joined and are connecting to each other (either before or after auto-matching).
-            # - "ROOM_ACTIVE" - All players have joined and connected to each other.
-            # - "ROOM_DELETED" - The room should no longer be shown on the client. Returned in sync calls when a player joins a room (as a tombstone), or for rooms where all joined participants have left.
-        "kind": "games#room", # Uniquely identifies the type of this resource. Value is always the fixed string games#room.
-        "autoMatchingCriteria": { # This is a JSON template for a room auto-match criteria object. # Criteria for auto-matching players into this room.
-          "kind": "games#roomAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchingCriteria.
-          "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the room by auto-matching.
-          "exclusiveBitmask": "A String", # A bitmask indicating when auto-matches are valid. When ANDed with other exclusive bitmasks, the result must be zero. Can be used to support exclusive roles within a game.
-          "maxAutoMatchingPlayers": 42, # The maximum number of players that should be added to the room by auto-matching.
-        },
-        "creationDetails": { # This is a JSON template for room modification metadata. # Details about the room creation.
-          "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
-          "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
-          "participantId": "A String", # The ID of the participant that modified the room.
-        },
-        "description": "A String", # This short description is generated by our servers and worded relative to the player requesting the room. It is intended to be displayed when the room is shown in a list (that is, an invitation to a room.)
-        "roomId": "A String", # Globally unique ID for a room.
-        "autoMatchingStatus": { # This is a JSON template for status of room automatching that is in progress. # Auto-matching status for this room. Not set if the room is not currently in the automatching status.
-          "kind": "games#roomAutoMatchStatus", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchStatus.
-          "waitEstimateSeconds": 42, # An estimate for the amount of time that automatching is expected to take to complete.
-        },
-        "participants": [ # The participants involved in the room, along with their statuses. Includes participants who have left or declined invitations.
-          { # This is a JSON template for a participant in a room.
-            "status": "A String", # The status of the participant with respect to the room.
-                # Possible values are:
-                # - "PARTICIPANT_INVITED" - The participant has been invited to join the room, but has not yet responded.
-                # - "PARTICIPANT_JOINED" - The participant has joined the room (either after creating it or accepting an invitation.)
-                # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the room.
-                # - "PARTICIPANT_LEFT" - The participant joined the room and then left it.
-            "kind": "games#roomParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomParticipant.
-            "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
-              "kind": "games#anonymousPlayer", # Uniquely identifies the type of this resource. Value is always the fixed string games#anonymousPlayer.
-              "avatarImageUrl": "A String", # The base URL for the image to display for the anonymous player.
-              "displayName": "A String", # The name to display for the anonymous player.
-            },
-            "leaveReason": "A String", # The reason the participant left the room; populated if the participant status is PARTICIPANT_LEFT.
-                # Possible values are:
-                # - "PLAYER_LEFT" - The player explicitly chose to leave the room.
-                # - "GAME_LEFT" - The game chose to remove the player from the room.
-                # - "ABANDONED" - The player switched to another application and abandoned the room.
-                # - "PEER_CONNECTION_FAILURE" - The client was unable to establish or maintain a connection to other peer(s) in the room.
-                # - "SERVER_ERROR" - The client received an error response when it tried to communicate with the server.
-                # - "TIMEOUT" - The client timed out while waiting for players to join and connect.
-                # - "PRESENCE_FAILURE" - The client's XMPP connection ended abruptly.
-            "capabilities": [ # The capabilities which can be used when communicating with this participant.
-              "A String",
-            ],
-            "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
-              "playerId": "A String", # The ID of the player.
-              "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
-              "avatarImageUrl": "A String", # The base URL for the image that represents the player.
-              "displayName": "A String", # The name to display for the player.
-            },
-            "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant.
-              "kind": "games#roomClientAddress", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.
-              "xmppAddress": "A String", # The XMPP address of the client on the Google Games XMPP network.
-            },
-            "connected": True or False, # True if this participant is in the fully connected set of peers in the room.
-            "id": "A String", # An identifier for the participant in the scope of the room. Cannot be used to identify a player across rooms or in other contexts.
-          },
-        ],
-        "roomStatusVersion": 42, # The version of the room status: an increasing counter, used by the client to ignore out-of-order updates to room status.
-        "variant": 42, # The variant / mode of the application being played; can be any integer value, or left blank.
-        "lastUpdateDetails": { # This is a JSON template for room modification metadata. # Details about the last update to the room.
-          "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
-          "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
-          "participantId": "A String", # The ID of the participant that modified the room.
-        },
-        "applicationId": "A String", # The ID of the application being played.
-      },
-    ],
-    "kind": "games#roomList", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomList.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="reportStatus">reportStatus(roomId, body)</code>
-  <pre>Updates sent by a client reporting the status of peers in a room. For internal use by the Games SDK only. Calling this method directly is unsupported.
-
-Args:
-  roomId: string, The ID of the room. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # This is a JSON template for an update on the status of peers in a room.
-    "kind": "games#roomP2PStatuses", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomP2PStatuses.
-    "updates": [ # The updates for the peers.
-      { # This is a JSON template for an update on the status of a peer in a room.
-        "status": "A String", # The status of the peer in the room.
-            # Possible values are:
-            # - "CONNECTION_ESTABLISHED" - The client established a P2P connection with the peer.
-            # - "CONNECTION_FAILED" - The client failed to establish directed presence with the peer.
-        "kind": "games#roomP2PStatus", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomP2PStatus.
-        "participantId": "A String", # The ID of the participant.
-        "unreliableRoundtripLatencyMillis": 42, # The amount of time in milliseconds it took to send packets back and forth on the unreliable channel with this peer.
-        "connectionSetupLatencyMillis": 42, # The amount of time in milliseconds it took to establish connections with this peer.
-        "error": "A String", # The error code in event of a failure.
-            # Possible values are:
-            # - "P2P_FAILED" - The client failed to establish a P2P connection with the peer.
-            # - "PRESENCE_FAILED" - The client failed to register to receive P2P connections.
-            # - "RELAY_SERVER_FAILED" - The client received an error when trying to use the relay server to establish a P2P connection with the peer.
-        "error_reason": "A String", # More detailed diagnostic message returned in event of a failure.
-      },
-    ],
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for the status of a room that the player has joined.
-    "status": "A String", # The status of the room.
-        # Possible values are:
-        # - "ROOM_INVITING" - One or more players have been invited and not responded.
-        # - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by auto-matching.
-        # - "ROOM_CONNECTING" - Players have joined are connecting to each other (either before or after auto-matching).
-        # - "ROOM_ACTIVE" - All players have joined and connected to each other.
-        # - "ROOM_DELETED" - All joined players have left.
-    "kind": "games#roomStatus", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomStatus.
-    "autoMatchingStatus": { # This is a JSON template for status of room automatching that is in progress. # Auto-matching status for this room. Not set if the room is not currently in the automatching queue.
-      "kind": "games#roomAutoMatchStatus", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchStatus.
-      "waitEstimateSeconds": 42, # An estimate for the amount of time that automatching is expected to take to complete.
-    },
-    "participants": [ # The participants involved in the room, along with their statuses. Includes participants who have left or declined invitations.
-      { # This is a JSON template for a participant in a room.
-        "status": "A String", # The status of the participant with respect to the room.
-            # Possible values are:
-            # - "PARTICIPANT_INVITED" - The participant has been invited to join the room, but has not yet responded.
-            # - "PARTICIPANT_JOINED" - The participant has joined the room (either after creating it or accepting an invitation.)
-            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the room.
-            # - "PARTICIPANT_LEFT" - The participant joined the room and then left it.
-        "kind": "games#roomParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomParticipant.
-        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
-          "kind": "games#anonymousPlayer", # Uniquely identifies the type of this resource. Value is always the fixed string games#anonymousPlayer.
-          "avatarImageUrl": "A String", # The base URL for the image to display for the anonymous player.
-          "displayName": "A String", # The name to display for the anonymous player.
-        },
-        "leaveReason": "A String", # The reason the participant left the room; populated if the participant status is PARTICIPANT_LEFT.
-            # Possible values are:
-            # - "PLAYER_LEFT" - The player explicitly chose to leave the room.
-            # - "GAME_LEFT" - The game chose to remove the player from the room.
-            # - "ABANDONED" - The player switched to another application and abandoned the room.
-            # - "PEER_CONNECTION_FAILURE" - The client was unable to establish or maintain a connection to other peer(s) in the room.
-            # - "SERVER_ERROR" - The client received an error response when it tried to communicate with the server.
-            # - "TIMEOUT" - The client timed out while waiting for players to join and connect.
-            # - "PRESENCE_FAILURE" - The client's XMPP connection ended abruptly.
-        "capabilities": [ # The capabilities which can be used when communicating with this participant.
-          "A String",
-        ],
-        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
-          "playerId": "A String", # The ID of the player.
-          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
-          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
-          "displayName": "A String", # The name to display for the player.
-        },
-        "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant.
-          "kind": "games#roomClientAddress", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.
-          "xmppAddress": "A String", # The XMPP address of the client on the Google Games XMPP network.
-        },
-        "connected": True or False, # True if this participant is in the fully connected set of peers in the room.
-        "id": "A String", # An identifier for the participant in the scope of the room. Cannot be used to identify a player across rooms or in other contexts.
-      },
-    ],
-    "statusVersion": 42, # The version of the status for the room: an increasing counter, used by the client to ignore out-of-order updates to room status.
-    "roomId": "A String", # Globally unique ID for a room.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.scores.html b/docs/dyn/games_v1.scores.html
deleted file mode 100644
index 702ab36..0000000
--- a/docs/dyn/games_v1.scores.html
+++ /dev/null
@@ -1,438 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="games_v1.html">Google Play Game Services API</a> . <a href="games_v1.scores.html">scores</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(playerId, leaderboardId, timeSpan, includeRankType=None, language=None, maxResults=None, pageToken=None)</a></code></p>
-<p class="firstline">Get high scores and optionally, ranks in leaderboards for the currently authenticated player. For a specific time span, leaderboardId can be set to ALL to retrieve data for all leaderboards in a given time span.</p>
-<p class="toc_element">
-  <code><a href="#get_next">get_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#list">list(leaderboardId, collection, timeSpan, language=None, maxResults=None, pageToken=None)</a></code></p>
-<p class="firstline">Lists the scores in a leaderboard, starting from the top.</p>
-<p class="toc_element">
-  <code><a href="#listWindow">listWindow(leaderboardId, collection, timeSpan, language=None, returnTopIfAbsent=None, resultsAbove=None, maxResults=None, pageToken=None)</a></code></p>
-<p class="firstline">Lists the scores in a leaderboard around (and including) a player's score.</p>
-<p class="toc_element">
-  <code><a href="#listWindow_next">listWindow_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#submit">submit(leaderboardId, score, language=None)</a></code></p>
-<p class="firstline">Submits a score to the specified leaderboard.</p>
-<p class="toc_element">
-  <code><a href="#submitMultiple">submitMultiple(body, language=None)</a></code></p>
-<p class="firstline">Submits multiple scores to leaderboards.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(playerId, leaderboardId, timeSpan, includeRankType=None, language=None, maxResults=None, pageToken=None)</code>
-  <pre>Get high scores and optionally, ranks in leaderboards for the currently authenticated player. For a specific time span, leaderboardId can be set to ALL to retrieve data for all leaderboards in a given time span.
-
-Args:
-  playerId: string, A player ID. A value of me may be used in place of the authenticated player's ID. (required)
-  leaderboardId: string, The ID of the leaderboard. (required)
-  timeSpan: string, The time span for the scores and ranks you're requesting. (required)
-    Allowed values
-      ALL - Get the high scores for all time spans. If this is used, maxResults values will be ignored.
-      ALL_TIME - Get the all time high score.
-      DAILY - List the top scores for the current day.
-      WEEKLY - List the top scores for the current week.
-  includeRankType: string, The types of ranks to return. If the parameter is omitted, no ranks will be returned.
-    Allowed values
-      ALL - Retrieve public and social ranks.
-      PUBLIC - Retrieve public ranks, if the player is sharing their gameplay activity publicly.
-      SOCIAL - Retrieve the social rank.
-  language: string, The preferred language to use for strings returned by this method.
-  maxResults: integer, The maximum number of leaderboard scores to return in the response. For any response, the actual number of leaderboard scores returned may be less than the specified maxResults.
-  pageToken: string, The token returned by the previous request.
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for a list of player leaderboard scores.
-    "nextPageToken": "A String", # The pagination token for the next page of results.
-    "items": [ # The leaderboard scores.
-      { # This is a JSON template for a player leaderboard score object.
-        "writeTimestamp": "A String", # The timestamp at which this score was recorded, in milliseconds since the epoch in UTC.
-        "kind": "games#playerLeaderboardScore", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerLeaderboardScore.
-        "publicRank": { # This is a JSON template for a score rank in a leaderboard. # The public rank of the score in this leaderboard. This object will not be present if the user is not sharing their scores publicly.
-          "numScores": "A String", # The number of scores in the leaderboard.
-          "kind": "games#leaderboardScoreRank", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardScoreRank.
-          "formattedRank": "A String", # The rank in the leaderboard as a string.
-          "rank": "A String", # The rank in the leaderboard.
-          "formattedNumScores": "A String", # The number of scores in the leaderboard as a string.
-        },
-        "timeSpan": "A String", # The time span of this score.
-            # Possible values are:
-            # - "ALL_TIME" - The score is an all-time score.
-            # - "WEEKLY" - The score is a weekly score.
-            # - "DAILY" - The score is a daily score.
-        "scoreString": "A String", # The formatted value of this score.
-        "leaderboard_id": "A String", # The ID of the leaderboard this score is in.
-        "scoreValue": "A String", # The numerical value of this score.
-        "socialRank": { # This is a JSON template for a score rank in a leaderboard. # The social rank of the score in this leaderboard.
-          "numScores": "A String", # The number of scores in the leaderboard.
-          "kind": "games#leaderboardScoreRank", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardScoreRank.
-          "formattedRank": "A String", # The rank in the leaderboard as a string.
-          "rank": "A String", # The rank in the leaderboard.
-          "formattedNumScores": "A String", # The number of scores in the leaderboard as a string.
-        },
-      },
-    ],
-    "kind": "games#playerLeaderboardScoreListResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerLeaderboardScoreListResponse.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get_next">get_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(leaderboardId, collection, timeSpan, language=None, maxResults=None, pageToken=None)</code>
-  <pre>Lists the scores in a leaderboard, starting from the top.
-
-Args:
-  leaderboardId: string, The ID of the leaderboard. (required)
-  collection: string, The collection of scores you're requesting. (required)
-    Allowed values
-      PUBLIC - List all scores in the public leaderboard.
-      SOCIAL - List only social scores.
-  timeSpan: string, The time span for the scores and ranks you're requesting. (required)
-    Allowed values
-      ALL_TIME - List the all-time top scores.
-      DAILY - List the top scores for the current day.
-      WEEKLY - List the top scores for the current week.
-  language: string, The preferred language to use for strings returned by this method.
-  maxResults: integer, The maximum number of leaderboard scores to return in the response. For any response, the actual number of leaderboard scores returned may be less than the specified maxResults.
-  pageToken: string, The token returned by the previous request.
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for a ListScores response.
-    "nextPageToken": "A String", # The pagination token for the next page of results.
-    "kind": "games#leaderboardScores", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardScores.
-    "numScores": "A String", # The total number of scores in the leaderboard.
-    "items": [ # The scores in the leaderboard.
-      { # This is a JSON template for the Leaderboard Entry resource.
-        "kind": "games#leaderboardEntry", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardEntry.
-        "scoreValue": "A String", # The numerical value of this score.
-        "timeSpan": "A String", # The time span of this high score.
-            # Possible values are:
-            # - "ALL_TIME" - The score is an all-time high score.
-            # - "WEEKLY" - The score is a weekly high score.
-            # - "DAILY" - The score is a daily high score.
-        "formattedScore": "A String", # The localized string for the numerical value of this score.
-        "player": { # This is a JSON template for a Player resource. # The player who holds this score.
-          "playerId": "A String", # The ID of the player.
-          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
-          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
-          "displayName": "A String", # The name to display for the player.
-        },
-        "formattedScoreRank": "A String", # The localized string for the rank of this score for this leaderboard.
-        "scoreRank": "A String", # The rank of this score for this leaderboard.
-        "writeTimestampMillis": "A String", # The timestamp at which this score was recorded, in milliseconds since the epoch in UTC.
-      },
-    ],
-    "playerScore": { # This is a JSON template for the Leaderboard Entry resource. # The score of the requesting player on the leaderboard. The player's score may appear both here and in the list of scores above. If you are viewing a public leaderboard and the player is not sharing their gameplay information publicly, the scoreRank and formattedScoreRank values will not be present.
-      "kind": "games#leaderboardEntry", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardEntry.
-      "scoreValue": "A String", # The numerical value of this score.
-      "timeSpan": "A String", # The time span of this high score.
-          # Possible values are:
-          # - "ALL_TIME" - The score is an all-time high score.
-          # - "WEEKLY" - The score is a weekly high score.
-          # - "DAILY" - The score is a daily high score.
-      "formattedScore": "A String", # The localized string for the numerical value of this score.
-      "player": { # This is a JSON template for a Player resource. # The player who holds this score.
-        "playerId": "A String", # The ID of the player.
-        "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
-        "avatarImageUrl": "A String", # The base URL for the image that represents the player.
-        "displayName": "A String", # The name to display for the player.
-      },
-      "formattedScoreRank": "A String", # The localized string for the rank of this score for this leaderboard.
-      "scoreRank": "A String", # The rank of this score for this leaderboard.
-      "writeTimestampMillis": "A String", # The timestamp at which this score was recorded, in milliseconds since the epoch in UTC.
-    },
-    "prevPageToken": "A String", # The pagination token for the previous page of results.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="listWindow">listWindow(leaderboardId, collection, timeSpan, language=None, returnTopIfAbsent=None, resultsAbove=None, maxResults=None, pageToken=None)</code>
-  <pre>Lists the scores in a leaderboard around (and including) a player's score.
-
-Args:
-  leaderboardId: string, The ID of the leaderboard. (required)
-  collection: string, The collection of scores you're requesting. (required)
-    Allowed values
-      PUBLIC - List all scores in the public leaderboard.
-      SOCIAL - List only social scores.
-  timeSpan: string, The time span for the scores and ranks you're requesting. (required)
-    Allowed values
-      ALL_TIME - List the all-time top scores.
-      DAILY - List the top scores for the current day.
-      WEEKLY - List the top scores for the current week.
-  language: string, The preferred language to use for strings returned by this method.
-  returnTopIfAbsent: boolean, True if the top scores should be returned when the player is not in the leaderboard. Defaults to true.
-  resultsAbove: integer, The preferred number of scores to return above the player's score. More scores may be returned if the player is at the bottom of the leaderboard; fewer may be returned if the player is at the top. Must be less than or equal to maxResults.
-  maxResults: integer, The maximum number of leaderboard scores to return in the response. For any response, the actual number of leaderboard scores returned may be less than the specified maxResults.
-  pageToken: string, The token returned by the previous request.
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for a ListScores response.
-    "nextPageToken": "A String", # The pagination token for the next page of results.
-    "kind": "games#leaderboardScores", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardScores.
-    "numScores": "A String", # The total number of scores in the leaderboard.
-    "items": [ # The scores in the leaderboard.
-      { # This is a JSON template for the Leaderboard Entry resource.
-        "kind": "games#leaderboardEntry", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardEntry.
-        "scoreValue": "A String", # The numerical value of this score.
-        "timeSpan": "A String", # The time span of this high score.
-            # Possible values are:
-            # - "ALL_TIME" - The score is an all-time high score.
-            # - "WEEKLY" - The score is a weekly high score.
-            # - "DAILY" - The score is a daily high score.
-        "formattedScore": "A String", # The localized string for the numerical value of this score.
-        "player": { # This is a JSON template for a Player resource. # The player who holds this score.
-          "playerId": "A String", # The ID of the player.
-          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
-          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
-          "displayName": "A String", # The name to display for the player.
-        },
-        "formattedScoreRank": "A String", # The localized string for the rank of this score for this leaderboard.
-        "scoreRank": "A String", # The rank of this score for this leaderboard.
-        "writeTimestampMillis": "A String", # The timestamp at which this score was recorded, in milliseconds since the epoch in UTC.
-      },
-    ],
-    "playerScore": { # This is a JSON template for the Leaderboard Entry resource. # The score of the requesting player on the leaderboard. The player's score may appear both here and in the list of scores above. If you are viewing a public leaderboard and the player is not sharing their gameplay information publicly, the scoreRank and formattedScoreRank values will not be present.
-      "kind": "games#leaderboardEntry", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardEntry.
-      "scoreValue": "A String", # The numerical value of this score.
-      "timeSpan": "A String", # The time span of this high score.
-          # Possible values are:
-          # - "ALL_TIME" - The score is an all-time high score.
-          # - "WEEKLY" - The score is a weekly high score.
-          # - "DAILY" - The score is a daily high score.
-      "formattedScore": "A String", # The localized string for the numerical value of this score.
-      "player": { # This is a JSON template for a Player resource. # The player who holds this score.
-        "playerId": "A String", # The ID of the player.
-        "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
-        "avatarImageUrl": "A String", # The base URL for the image that represents the player.
-        "displayName": "A String", # The name to display for the player.
-      },
-      "formattedScoreRank": "A String", # The localized string for the rank of this score for this leaderboard.
-      "scoreRank": "A String", # The rank of this score for this leaderboard.
-      "writeTimestampMillis": "A String", # The timestamp at which this score was recorded, in milliseconds since the epoch in UTC.
-    },
-    "prevPageToken": "A String", # The pagination token for the previous page of results.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="listWindow_next">listWindow_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="submit">submit(leaderboardId, score, language=None)</code>
-  <pre>Submits a score to the specified leaderboard.
-
-Args:
-  leaderboardId: string, The ID of the leaderboard. (required)
-  score: string, The score you're submitting. The submitted score is ignored if it is worse than a previously submitted score, where worse depends on the leaderboard sort order. The meaning of the score value depends on the leaderboard format type. For fixed-point, the score represents the raw value. For time, the score represents elapsed time in milliseconds. For currency, the score represents a value in micro units. (required)
-  language: string, The preferred language to use for strings returned by this method.
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for a list of leaderboard entry resources.
-    "kind": "games#playerScoreResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerScoreResponse.
-    "leaderboardId": "A String", # The leaderboard ID that this score was submitted to.
-    "formattedScore": "A String", # The formatted value of the submitted score.
-    "beatenScoreTimeSpans": [ # The time spans where the submitted score is better than the existing score for that time span.
-        # Possible values are:
-        # - "ALL_TIME" - The score is an all-time score.
-        # - "WEEKLY" - The score is a weekly score.
-        # - "DAILY" - The score is a daily score.
-      "A String",
-    ],
-    "unbeatenScores": [ # The scores in time spans that have not been beaten. As an example, the submitted score may be better than the player's DAILY score, but not better than the player's scores for the WEEKLY or ALL_TIME time spans.
-      { # This is a JSON template for a player score.
-        "kind": "games#playerScore", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerScore.
-        "score": "A String", # The numerical value for this player score.
-        "formattedScore": "A String", # The formatted score for this player score.
-        "timeSpan": "A String", # The time span for this player score.
-            # Possible values are:
-            # - "ALL_TIME" - The score is an all-time score.
-            # - "WEEKLY" - The score is a weekly score.
-            # - "DAILY" - The score is a daily score.
-      },
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="submitMultiple">submitMultiple(body, language=None)</code>
-  <pre>Submits multiple scores to leaderboards.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # This is a JSON template for a list of score submission requests
-    "kind": "games#playerScoreSubmissionList", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerScoreSubmissionList.
-    "scores": [ # The score submissions.
-      { # This is a JSON template for a request to submit a score to leaderboards.
-        "kind": "games#scoreSubmission", # Uniquely identifies the type of this resource. Value is always the fixed string games#scoreSubmission.
-        "leaderboardId": "A String", # The leaderboard this score is being submitted to.
-        "score": "A String", # The new score being submitted.
-      },
-    ],
-  }
-
-  language: string, The preferred language to use for strings returned by this method.
-
-Returns:
-  An object of the form:
-
-    { # This is a JSON template for a list of score submission statuses.
-    "submittedScores": [ # The score submissions statuses.
-      { # This is a JSON template for a list of leaderboard entry resources.
-        "kind": "games#playerScoreResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerScoreResponse.
-        "leaderboardId": "A String", # The leaderboard ID that this score was submitted to.
-        "formattedScore": "A String", # The formatted value of the submitted score.
-        "beatenScoreTimeSpans": [ # The time spans where the submitted score is better than the existing score for that time span.
-            # Possible values are:
-            # - "ALL_TIME" - The score is an all-time score.
-            # - "WEEKLY" - The score is a weekly score.
-            # - "DAILY" - The score is a daily score.
-          "A String",
-        ],
-        "unbeatenScores": [ # The scores in time spans that have not been beaten. As an example, the submitted score may be better than the player's DAILY score, but not better than the player's scores for the WEEKLY or ALL_TIME time spans.
-          { # This is a JSON template for a player score.
-            "kind": "games#playerScore", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerScore.
-            "score": "A String", # The numerical value for this player score.
-            "formattedScore": "A String", # The formatted score for this player score.
-            "timeSpan": "A String", # The time span for this player score.
-                # Possible values are:
-                # - "ALL_TIME" - The score is an all-time score.
-                # - "WEEKLY" - The score is a weekly score.
-                # - "DAILY" - The score is a daily score.
-          },
-        ],
-      },
-    ],
-    "kind": "games#playerScoreListResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerScoreListResponse.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gan_v1beta1.advertisers.html b/docs/dyn/gan_v1beta1.advertisers.html
deleted file mode 100644
index 0ff960c..0000000
--- a/docs/dyn/gan_v1beta1.advertisers.html
+++ /dev/null
@@ -1,219 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="gan_v1beta1.html">Google Affiliate Network API</a> . <a href="gan_v1beta1.advertisers.html">advertisers</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(role, roleId, advertiserId=None)</a></code></p>
-<p class="firstline">Retrieves data about a single advertiser if that the requesting advertiser/publisher has access to it. Only publishers can lookup advertisers. Advertisers can request information about themselves by omitting the advertiserId query parameter.</p>
-<p class="toc_element">
-  <code><a href="#list">list(role, roleId, relationshipStatus=None, pageToken=None, minNinetyDayEpc=None, advertiserCategory=None, maxResults=None, minSevenDayEpc=None, minPayoutRank=None)</a></code></p>
-<p class="firstline">Retrieves data about all advertisers that the requesting advertiser/publisher has access to.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(role, roleId, advertiserId=None)</code>
-  <pre>Retrieves data about a single advertiser if that the requesting advertiser/publisher has access to it. Only publishers can lookup advertisers. Advertisers can request information about themselves by omitting the advertiserId query parameter.
-
-Args:
-  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
-    Allowed values
-      advertisers - The requester is requesting as an advertiser.
-      publishers - The requester is requesting as a publisher.
-  roleId: string, The ID of the requesting advertiser or publisher. (required)
-  advertiserId: string, The ID of the advertiser to look up. Optional.
-
-Returns:
-  An object of the form:
-
-    { # An AdvertiserResource.
-    "category": "A String", # Category that this advertiser belongs to. A valid list of categories can be found here: http://www.google.com/support/affiliatenetwork/advertiser/bin/answer.py?hl=en&answer=107581
-    "contactEmail": "A String", # Email that this advertiser would like publishers to contact them with.
-    "kind": "gan#advertiser", # The kind for an advertiser.
-    "siteUrl": "A String", # URL of the website this advertiser advertises from.
-    "contactPhone": "A String", # Phone that this advertiser would like publishers to contact them with.
-    "description": "A String", # Description of the website the advertiser advertises from.
-    "merchantCenterIds": [ # List of merchant center ids for this advertiser
-      "A String",
-    ],
-    "defaultLinkId": "A String", # The default link id for this advertiser.
-    "epcSevenDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past seven days. This value should be multiplied by 100 at the time of display.
-      "amount": 3.14, # The amount of money.
-      "currencyCode": "A String", # The 3-letter code of the currency in question.
-    },
-    "commissionDuration": 42, # The longest possible length of a commission (how long the cookies on the customer's browser last before they expire).
-    "status": "A String", # The status of the requesting publisher's relationship this advertiser.
-    "payoutRank": "A String", # A rank based on commissions paid to publishers over the past 90 days. A number between 1 and 4 where 4 means the top quartile (most money paid) and 1 means the bottom quartile (least money paid).
-    "epcNinetyDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past three months. This value should be multiplied by 100 at the time of display.
-      "amount": 3.14, # The amount of money.
-      "currencyCode": "A String", # The 3-letter code of the currency in question.
-    },
-    "allowPublisherCreatedLinks": True or False, # True if the advertiser allows publisher created links, otherwise false.
-    "item": # Object with schema name: Advertiser # The requested advertiser.
-    "joinDate": "A String", # Date that this advertiser was approved as a Google Affiliate Network advertiser.
-    "logoUrl": "A String", # URL to the logo this advertiser uses on the Google Affiliate Network.
-    "redirectDomains": [ # List of redirect URLs for this advertiser
-      "A String",
-    ],
-    "id": "A String", # The ID of this advertiser.
-    "productFeedsEnabled": True or False, # Allows advertisers to submit product listings to Google Product Search.
-    "name": "A String", # The name of this advertiser.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(role, roleId, relationshipStatus=None, pageToken=None, minNinetyDayEpc=None, advertiserCategory=None, maxResults=None, minSevenDayEpc=None, minPayoutRank=None)</code>
-  <pre>Retrieves data about all advertisers that the requesting advertiser/publisher has access to.
-
-Args:
-  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
-    Allowed values
-      advertisers - The requester is requesting as an advertiser.
-      publishers - The requester is requesting as a publisher.
-  roleId: string, The ID of the requesting advertiser or publisher. (required)
-  relationshipStatus: string, Filters out all advertisers for which do not have the given relationship status with the requesting publisher.
-    Allowed values
-      approved - An advertiser that has approved your application.
-      available - An advertiser program that's accepting new publishers.
-      deactivated - Deactivated means either the advertiser has removed you from their program, or it could also mean that you chose to remove yourself from the advertiser's program.
-      declined - An advertiser that did not approve your application.
-      pending - An advertiser program that you've already applied to, but they haven't yet decided to approve or decline your application.
-  pageToken: string, The value of 'nextPageToken' from the previous page. Optional.
-  minNinetyDayEpc: number, Filters out all advertisers that have a ninety day EPC average lower than the given value (inclusive). Min value: 0.0. Optional.
-  advertiserCategory: string, Caret(^) delimted list of advertiser categories. Valid categories are defined here: http://www.google.com/support/affiliatenetwork/advertiser/bin/answer.py?hl=en&answer=107581. Filters out all advertisers not in one of the given advertiser categories. Optional.
-  maxResults: integer, Max number of items to return in this page. Optional. Defaults to 20.
-  minSevenDayEpc: number, Filters out all advertisers that have a seven day EPC average lower than the given value (inclusive). Min value: 0.0. Optional.
-  minPayoutRank: integer, A value between 1 and 4, where 1 represents the quartile of advertisers with the lowest ranks and 4 represents the quartile of advertisers with the highest ranks. Filters out all advertisers with a lower rank than the given quartile. For example if a 2 was given only advertisers with a payout rank of 25 or higher would be included. Optional.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # The 'pageToken' to pass to the next request to get the next page, if there are more to retrieve.
-    "items": [ # The advertiser list.
-      { # An AdvertiserResource.
-        "category": "A String", # Category that this advertiser belongs to. A valid list of categories can be found here: http://www.google.com/support/affiliatenetwork/advertiser/bin/answer.py?hl=en&answer=107581
-        "contactEmail": "A String", # Email that this advertiser would like publishers to contact them with.
-        "kind": "gan#advertiser", # The kind for an advertiser.
-        "siteUrl": "A String", # URL of the website this advertiser advertises from.
-        "contactPhone": "A String", # Phone that this advertiser would like publishers to contact them with.
-        "description": "A String", # Description of the website the advertiser advertises from.
-        "merchantCenterIds": [ # List of merchant center ids for this advertiser
-          "A String",
-        ],
-        "defaultLinkId": "A String", # The default link id for this advertiser.
-        "epcSevenDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past seven days. This value should be multiplied by 100 at the time of display.
-          "amount": 3.14, # The amount of money.
-          "currencyCode": "A String", # The 3-letter code of the currency in question.
-        },
-        "commissionDuration": 42, # The longest possible length of a commission (how long the cookies on the customer's browser last before they expire).
-        "status": "A String", # The status of the requesting publisher's relationship this advertiser.
-        "payoutRank": "A String", # A rank based on commissions paid to publishers over the past 90 days. A number between 1 and 4 where 4 means the top quartile (most money paid) and 1 means the bottom quartile (least money paid).
-        "epcNinetyDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past three months. This value should be multiplied by 100 at the time of display.
-          "amount": 3.14, # The amount of money.
-          "currencyCode": "A String", # The 3-letter code of the currency in question.
-        },
-        "allowPublisherCreatedLinks": True or False, # True if the advertiser allows publisher created links, otherwise false.
-        "item": # Object with schema name: Advertiser # The requested advertiser.
-        "joinDate": "A String", # Date that this advertiser was approved as a Google Affiliate Network advertiser.
-        "logoUrl": "A String", # URL to the logo this advertiser uses on the Google Affiliate Network.
-        "redirectDomains": [ # List of redirect URLs for this advertiser
-          "A String",
-        ],
-        "id": "A String", # The ID of this advertiser.
-        "productFeedsEnabled": True or False, # Allows advertisers to submit product listings to Google Product Search.
-        "name": "A String", # The name of this advertiser.
-      },
-    ],
-    "kind": "gan#advertisers", # The kind for a page of advertisers.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gan_v1beta1.ccOffers.html b/docs/dyn/gan_v1beta1.ccOffers.html
deleted file mode 100644
index a40868b..0000000
--- a/docs/dyn/gan_v1beta1.ccOffers.html
+++ /dev/null
@@ -1,197 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="gan_v1beta1.html">Google Affiliate Network API</a> . <a href="gan_v1beta1.ccOffers.html">ccOffers</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(publisher, advertiser=None, projection=None)</a></code></p>
-<p class="firstline">Retrieves credit card offers for the given publisher.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(publisher, advertiser=None, projection=None)</code>
-  <pre>Retrieves credit card offers for the given publisher.
-
-Args:
-  publisher: string, The ID of the publisher in question. (required)
-  advertiser: string, The advertiser ID of a card issuer whose offers to include. Optional, may be repeated. (repeated)
-  projection: string, The set of fields to return.
-    Allowed values
-      full - Include all offer fields. This is the default.
-      summary - Include only the basic fields needed to display an offer.
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # The credit card offers.
-      { # A credit card offer. There are many possible result fields. We provide two different views of the data, or "projections." The "full" projection includes every result field. And the "summary" projection, which is the default, includes a smaller subset of the fields. The fields included in the summary projection are marked as such in their descriptions.
-        "luggageInsurance": "A String", # If you get coverage when you use the card for the given activity, this field describes it.
-        "creditLimitMin": 3.14, # The low end for credit limits the issuer imposes on recipients of this card.
-        "cardName": "A String", # The issuer's name for the card, including any trademark or service mark designators. A summary field.
-        "creditLimitMax": 3.14, # The high end for credit limits the issuer imposes on recipients of this card.
-        "gracePeriodDisplay": "A String", # Text describing the grace period before finance charges apply. A summary field.
-        "offerId": "A String", # This offer's ID. A summary field.
-        "rewardUnit": "A String", # For cards with rewards programs, the unit of reward. For example, miles, cash back, points.
-        "minPurchaseRate": 3.14, # The lowest interest rate the issuer charges on this card. Expressed as an absolute number, not as a percentage.
-        "cardBenefits": [ # A list of what the issuer thinks are the most important benefits of the card. Usually summarizes the rewards program, if there is one. A summary field.
-          "A String",
-        ],
-        "rewards": [ # For cards with rewards programs, detailed rules about how the program works.
-          {
-            "category": "A String", # The kind of purchases covered by this rule.
-            "minRewardTier": 3.14, # The minimum purchase amount in the given category before this rule applies.
-            "maxRewardTier": 3.14, # The maximum purchase amount in the given category for this rule to apply.
-            "expirationMonths": 3.14, # How long rewards granted by this rule last.
-            "amount": 3.14, # The number of units rewarded per purchase dollar.
-            "additionalDetails": "A String", # Other limits, for example, if this rule only applies during an introductory period.
-          },
-        ],
-        "offersImmediateCashReward": True or False, # Whether a cash reward program lets you get cash back sooner than end of year or other longish period.
-        "travelInsurance": "A String", # If you get coverage when you use the card for the given activity, this field describes it.
-        "returnedPaymentFee": "A String", # Text describing the fee for a payment that doesn't clear. A summary field.
-        "kind": "gan#ccOffer", # The kind for one credit card offer. A summary field.
-        "issuer": "A String", # Name of card issuer. A summary field.
-        "maxPurchaseRate": 3.14, # The highest interest rate the issuer charges on this card. Expressed as an absolute number, not as a percentage.
-        "minimumFinanceCharge": "A String", # Text describing how much missing the grace period will cost.
-        "existingCustomerOnly": True or False, # Whether this card is only available to existing customers of the issuer.
-        "annualFeeDisplay": "A String", # Text describing the annual fee, including any difference for the first year. A summary field.
-        "initialSetupAndProcessingFee": "A String", # Fee for setting up the card.
-        "issuerId": "A String", # The Google Affiliate Network ID of the advertiser making this offer.
-        "purchaseRateAdditionalDetails": "A String", # Text describing any additional details for the purchase rate. A summary field.
-        "prohibitedCategories": [ # Categories in which the issuer does not wish the card to be displayed. A summary field.
-          "A String",
-        ],
-        "fraudLiability": "A String", # If you get coverage when you use the card for the given activity, this field describes it.
-        "cashAdvanceTerms": "A String", # Text describing the terms for cash advances. A summary field.
-        "landingPageUrl": "A String", # The link to the issuer's page for this card. A summary field.
-        "introCashAdvanceTerms": "A String", # Text describing the terms for introductory period cash advances. A summary field.
-        "rewardsExpire": True or False, # Whether accumulated rewards ever expire.
-        "introPurchaseTerms": "A String", # Text describing the terms for introductory period purchases. A summary field.
-        "defaultFees": [ # Fees for defaulting on your payments.
-          {
-            "category": "A String", # The type of charge, for example Purchases.
-            "maxRate": 3.14, # The highest rate the issuer may charge for defaulting on debt in this category. Expressed as an absolute number, not as a percentage.
-            "minRate": 3.14, # The lowest rate the issuer may charge for defaulting on debt in this category. Expressed as an absolute number, not as a percentage.
-            "rateType": "A String", # Fixed or variable.
-          },
-        ],
-        "extendedWarranty": "A String", # If you get coverage when you use the card for the given activity, this field describes it.
-        "emergencyInsurance": "A String", # If you get coverage when you use the card for the given activity, this field describes it.
-        "firstYearAnnualFee": 3.14, # The annual fee for the first year, if different from the ongoing fee. Optional.
-        "trackingUrl": "A String", # The link to ping to register a click on this offer. A summary field.
-        "latePaymentFee": "A String", # Text describing how much a late payment will cost, eg "up to $35." A summary field.
-        "overLimitFee": "A String", # Fee for exceeding the card's charge limit.
-        "cardType": "A String", # What kind of credit card this is, for example secured or unsecured.
-        "approvedCategories": [ # Possible categories for this card, eg "Low Interest" or "Good." A summary field.
-          "A String",
-        ],
-        "rewardPartner": "A String", # The company that redeems the rewards, if different from the issuer.
-        "introBalanceTransferTerms": "A String", # Text describing the terms for introductory period balance transfers. A summary field.
-        "foreignCurrencyTransactionFee": "A String", # Fee for each transaction involving a foreign currency.
-        "annualFee": 3.14, # The ongoing annual fee, in dollars.
-        "issuerWebsite": "A String", # The generic link to the issuer's site.
-        "variableRatesUpdateFrequency": "A String", # How often variable rates are updated.
-        "carRentalInsurance": "A String", # If you get coverage when you use the card for the given activity, this field describes it.
-        "additionalCardBenefits": [ # More marketing copy about the card's benefits. A summary field.
-          "A String",
-        ],
-        "ageMinimum": 3.14, # The youngest a recipient of this card may be.
-        "balanceComputationMethod": "A String", # Text describing how the balance is computed. A summary field.
-        "aprDisplay": "A String", # Text describing the purchase APR. A summary field.
-        "additionalCardHolderFee": "A String", # Any extra fees levied on card holders.
-        "variableRatesLastUpdated": "A String", # When variable rates were last updated.
-        "network": "A String", # Which network (eg Visa) the card belongs to. A summary field.
-        "purchaseRateType": "A String", # Fixed or variable.
-        "statementCopyFee": "A String", # Fee for requesting a copy of your statement.
-        "rewardsHaveBlackoutDates": True or False, # For airline miles rewards, tells whether blackout dates apply to the miles.
-        "creditRatingDisplay": "A String", # Text describing the credit ratings required for recipients of this card, for example "Excellent/Good." A summary field.
-        "flightAccidentInsurance": "A String", # If you get coverage when you use the card for the given activity, this field describes it.
-        "annualRewardMaximum": 3.14, # The largest number of units you may accumulate in a year.
-        "balanceTransferTerms": "A String", # Text describing the terms for balance transfers. A summary field.
-        "bonusRewards": [ # For cards with rewards programs, extra circumstances whereby additional rewards may be granted.
-          {
-            "amount": 3.14, # How many units of reward will be granted.
-            "details": "A String", # The circumstances under which this rule applies, for example, booking a flight via Orbitz.
-          },
-        ],
-        "imageUrl": "A String", # The link to the image of the card that is shown on Connect Commerce. A summary field.
-        "ageMinimumDetails": "A String", # Text describing the details of the age minimum restriction.
-        "disclaimer": "A String", # A notice that, if present, is referenced via an asterisk by many of the other summary fields. If this field is present, it will always start with an asterisk ("*"), and must be prominently displayed with the offer. A summary field.
-      },
-    ],
-    "kind": "gan#ccOffers", # The kind for a page of credit card offers.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gan_v1beta1.events.html b/docs/dyn/gan_v1beta1.events.html
deleted file mode 100644
index 3831857..0000000
--- a/docs/dyn/gan_v1beta1.events.html
+++ /dev/null
@@ -1,206 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="gan_v1beta1.html">Google Affiliate Network API</a> . <a href="gan_v1beta1.events.html">events</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(role, roleId, orderId=None, chargeType=None, linkId=None, advertiserId=None, sku=None, pageToken=None, productCategory=None, modifyDateMin=None, type=None, status=None, modifyDateMax=None, eventDateMin=None, maxResults=None, eventDateMax=None, memberId=None, publisherId=None)</a></code></p>
-<p class="firstline">Retrieves event data for a given advertiser/publisher.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(role, roleId, orderId=None, chargeType=None, linkId=None, advertiserId=None, sku=None, pageToken=None, productCategory=None, modifyDateMin=None, type=None, status=None, modifyDateMax=None, eventDateMin=None, maxResults=None, eventDateMax=None, memberId=None, publisherId=None)</code>
-  <pre>Retrieves event data for a given advertiser/publisher.
-
-Args:
-  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
-    Allowed values
-      advertisers - The requester is requesting as an advertiser.
-      publishers - The requester is requesting as a publisher.
-  roleId: string, The ID of the requesting advertiser or publisher. (required)
-  orderId: string, Caret(^) delimited list of order IDs. Filters out all events that do not reference one of the given order IDs. Optional.
-  chargeType: string, Filters out all charge events that are not of the given charge type. Valid values: 'other', 'slotting_fee', 'monthly_minimum', 'tier_bonus', 'credit', 'debit'. Optional.
-    Allowed values
-      credit - A credit increases the publisher's payout amount and decreases the advertiser's invoice amount.
-      debit - A debit reduces the publisher's payout and increases the advertiser's invoice amount.
-      monthly_minimum - A payment made to Google by an advertiser as a minimum monthly network fee.
-      other - Catch all. Default if unset
-      slotting_fee - A one time payment made from an advertiser to a publisher.
-      tier_bonus - A payment from an advertiser to a publisher for the publisher maintaining a high tier level
-  linkId: string, Caret(^) delimited list of link IDs. Filters out all events that do not reference one of the given link IDs. Optional.
-  advertiserId: string, Caret(^) delimited list of advertiser IDs. Filters out all events that do not reference one of the given advertiser IDs. Only used when under publishers role. Optional.
-  sku: string, Caret(^) delimited list of SKUs. Filters out all events that do not reference one of the given SKU. Optional.
-  pageToken: string, The value of 'nextPageToken' from the previous page. Optional.
-  productCategory: string, Caret(^) delimited list of product categories. Filters out all events that do not reference a product in one of the given product categories. Optional.
-  modifyDateMin: string, Filters out all events modified earlier than given date. Optional. Defaults to 24 hours before the current modifyDateMax, if modifyDateMax is explicitly set.
-  type: string, Filters out all events that are not of the given type. Valid values: 'action', 'transaction', 'charge'. Optional.
-    Allowed values
-      action - The completion of an application, sign-up, or other process. For example, an action occurs if a user clicks an ad for a credit card and completes an application for that card.
-      charge - A charge event is typically a payment between an advertiser, publisher or Google.
-      transaction - A conversion event, typically an e-commerce transaction. Some advertisers use a transaction to record other types of events, such as magazine subscriptions.
-  status: string, Filters out all events that do not have the given status. Valid values: 'active', 'canceled'. Optional.
-    Allowed values
-      active - Event is currently active.
-      canceled - Event is currently canceled.
-  modifyDateMax: string, Filters out all events modified later than given date. Optional. Defaults to 24 hours after modifyDateMin, if modifyDateMin is explicitly set.
-  eventDateMin: string, Filters out all events earlier than given date. Optional. Defaults to 24 hours from current date/time.
-  maxResults: integer, Max number of offers to return in this page. Optional. Defaults to 20.
-  eventDateMax: string, Filters out all events later than given date. Optional. Defaults to 24 hours after eventMin.
-  memberId: string, Caret(^) delimited list of member IDs. Filters out all events that do not reference one of the given member IDs. Optional.
-  publisherId: string, Caret(^) delimited list of publisher IDs. Filters out all events that do not reference one of the given publishers IDs. Only used when under advertiser role. Optional.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # The 'pageToken' to pass to the next request to get the next page, if there are more to retrieve.
-    "items": [ # The event list.
-      { # An EventResource.
-        "networkFee": { # An ApiMoneyProto. # Fee that the advertiser paid to the Google Affiliate Network.
-          "amount": 3.14, # The amount of money.
-          "currencyCode": "A String", # The 3-letter code of the currency in question.
-        },
-        "advertiserName": "A String", # The name of the advertiser for this event.
-        "kind": "gan#event", # The kind for one event.
-        "modifyDate": "A String", # The date-time this event was last modified as a RFC 3339 date-time value.
-        "type": "A String", # Type of the event (action|transaction|charge).
-        "orderId": "A String", # The order ID for this event. Only returned for conversion events.
-        "publisherName": "A String", # The name of the publisher for this event.
-        "memberId": "A String", # The ID of the member attached to this event. Only returned for conversion events.
-        "advertiserId": "A String", # The ID of advertiser for this event.
-        "status": "A String", # Status of the event (active|canceled). Only returned for charge and conversion events.
-        "chargeId": "A String", # The charge ID for this event. Only returned for charge events.
-        "products": [ # Products associated with the event.
-          {
-            "networkFee": { # An ApiMoneyProto. # Fee that the advertiser paid to the Google Affiliate Network for this product.
-              "amount": 3.14, # The amount of money.
-              "currencyCode": "A String", # The 3-letter code of the currency in question.
-            },
-            "sku": "A String", # Sku of this product.
-            "categoryName": "A String", # Name of the category this product belongs to.
-            "skuName": "A String", # Sku name of this product.
-            "publisherFee": { # An ApiMoneyProto. # Fee that the advertiser paid to the publisehr for this product.
-              "amount": 3.14, # The amount of money.
-              "currencyCode": "A String", # The 3-letter code of the currency in question.
-            },
-            "earnings": { # An ApiMoneyProto. # Amount earned by the publisher on this product.
-              "amount": 3.14, # The amount of money.
-              "currencyCode": "A String", # The 3-letter code of the currency in question.
-            },
-            "unitPrice": { # An ApiMoneyProto. # Price per unit of this product.
-              "amount": 3.14, # The amount of money.
-              "currencyCode": "A String", # The 3-letter code of the currency in question.
-            },
-            "categoryId": "A String", # Id of the category this product belongs to.
-            "quantity": "A String", # Quantity of this product bought/exchanged.
-          },
-        ],
-        "earnings": { # An ApiMoneyProto. # Earnings by the publisher.
-          "amount": 3.14, # The amount of money.
-          "currencyCode": "A String", # The 3-letter code of the currency in question.
-        },
-        "chargeType": "A String", # Charge type of the event (other|slotting_fee|monthly_minimum|tier_bonus|debit|credit). Only returned for charge events.
-        "publisherFee": { # An ApiMoneyProto. # Fee that the advertiser paid to the publisher.
-          "amount": 3.14, # The amount of money.
-          "currencyCode": "A String", # The 3-letter code of the currency in question.
-        },
-        "commissionableSales": { # An ApiMoneyProto. # Amount of money exchanged during the transaction. Only returned for charge and conversion events.
-          "amount": 3.14, # The amount of money.
-          "currencyCode": "A String", # The 3-letter code of the currency in question.
-        },
-        "publisherId": "A String", # The ID of the publisher for this event.
-        "eventDate": "A String", # The date-time this event was initiated as a RFC 3339 date-time value.
-      },
-    ],
-    "kind": "gan#events", # The kind for a page of events.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gan_v1beta1.html b/docs/dyn/gan_v1beta1.html
deleted file mode 100644
index 10402cc..0000000
--- a/docs/dyn/gan_v1beta1.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="gan_v1beta1.html">Google Affiliate Network API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="gan_v1beta1.advertisers.html">advertisers()</a></code>
-</p>
-<p class="firstline">Returns the advertisers Resource.</p>
-
-<p class="toc_element">
-  <code><a href="gan_v1beta1.ccOffers.html">ccOffers()</a></code>
-</p>
-<p class="firstline">Returns the ccOffers Resource.</p>
-
-<p class="toc_element">
-  <code><a href="gan_v1beta1.events.html">events()</a></code>
-</p>
-<p class="firstline">Returns the events Resource.</p>
-
-<p class="toc_element">
-  <code><a href="gan_v1beta1.links.html">links()</a></code>
-</p>
-<p class="firstline">Returns the links Resource.</p>
-
-<p class="toc_element">
-  <code><a href="gan_v1beta1.publishers.html">publishers()</a></code>
-</p>
-<p class="firstline">Returns the publishers Resource.</p>
-
-<p class="toc_element">
-  <code><a href="gan_v1beta1.reports.html">reports()</a></code>
-</p>
-<p class="firstline">Returns the reports Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gan_v1beta1.links.html b/docs/dyn/gan_v1beta1.links.html
deleted file mode 100644
index db91bd8..0000000
--- a/docs/dyn/gan_v1beta1.links.html
+++ /dev/null
@@ -1,399 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="gan_v1beta1.html">Google Affiliate Network API</a> . <a href="gan_v1beta1.links.html">links</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(role, roleId, linkId)</a></code></p>
-<p class="firstline">Retrieves data about a single link if the requesting advertiser/publisher has access to it. Advertisers can look up their own links. Publishers can look up visible links or links belonging to advertisers they are in a relationship with.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(role, roleId, body)</a></code></p>
-<p class="firstline">Inserts a new link.</p>
-<p class="toc_element">
-  <code><a href="#list">list(role, roleId, linkType=None, promotionType=None, createDateMax=None, advertiserId=None, pageToken=None, relationshipStatus=None, maxResults=None, authorship=None, startDateMin=None, assetSize=None, searchText=None, startDateMax=None, createDateMin=None)</a></code></p>
-<p class="firstline">Retrieves all links that match the query parameters.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(role, roleId, linkId)</code>
-  <pre>Retrieves data about a single link if the requesting advertiser/publisher has access to it. Advertisers can look up their own links. Publishers can look up visible links or links belonging to advertisers they are in a relationship with.
-
-Args:
-  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
-    Allowed values
-      advertisers - The requester is requesting as an advertiser.
-      publishers - The requester is requesting as a publisher.
-  roleId: string, The ID of the requesting advertiser or publisher. (required)
-  linkId: string, The ID of the link to look up. (required)
-
-Returns:
-  An object of the form:
-
-    { # A LinkResource.
-      "isActive": True or False, # Flag for if this link is active.
-      "linkType": "A String", # The link type.
-      "kind": "gan#link", # The kind for one entity.
-      "endDate": "A String", # Date that this link becomes inactive.
-      "description": "A String", # Description.
-      "name": "A String", # The logical name for this link.
-      "specialOffers": { # Special offers on the link.
-        "priceCut": { # An ApiMoneyProto. # Price cut on the purchase
-          "amount": 3.14, # The amount of money.
-          "currencyCode": "A String", # The 3-letter code of the currency in question.
-        },
-        "priceCutMin": { # An ApiMoneyProto. # Minimum purchase amount for price cut promotion
-          "amount": 3.14, # The amount of money.
-          "currencyCode": "A String", # The 3-letter code of the currency in question.
-        },
-        "freeShipping": True or False, # Whether there is free shipping
-        "promotionCodes": [ # List of promotion code associated with the link
-          "A String",
-        ],
-        "percentOff": 3.14, # Percent off on the purchase
-        "percentOffMin": { # An ApiMoneyProto. # Minimum purchase amount for percent off promotion
-          "amount": 3.14, # The amount of money.
-          "currencyCode": "A String", # The 3-letter code of the currency in question.
-        },
-        "freeGift": True or False, # Whether there is a free gift
-        "freeShippingMin": { # An ApiMoneyProto. # Minimum purchase amount for free shipping promotion
-          "amount": 3.14, # The amount of money.
-          "currencyCode": "A String", # The 3-letter code of the currency in question.
-        },
-      },
-      "epcSevenDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past seven days on this link. This value should be multiplied by 100 at the time of display.
-        "amount": 3.14, # The amount of money.
-        "currencyCode": "A String", # The 3-letter code of the currency in question.
-      },
-      "createDate": "A String", # Date that this link was created.
-      "imageAltText": "A String", # image alt text.
-      "epcNinetyDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past three months on this link. This value should be multiplied by 100 at the time of display.
-        "amount": 3.14, # The amount of money.
-        "currencyCode": "A String", # The 3-letter code of the currency in question.
-      },
-      "advertiserId": "A String", # The advertiser id for the advertiser who owns this link.
-      "id": "A String", # The ID of this link.
-      "impressionTrackingUrl": "A String", # Tracking url for impressions.
-      "promotionType": "A String", # Promotion Type
-      "duration": "A String", # Duration
-      "authorship": "A String", # Authorship
-      "startDate": "A String", # Date that this link becomes active.
-      "availability": "A String", # Availability.
-      "clickTrackingUrl": "A String", # Tracking url for clicks.
-      "destinationUrl": "A String", # The destination URL for the link.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(role, roleId, body)</code>
-  <pre>Inserts a new link.
-
-Args:
-  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
-    Allowed values
-      advertisers - The requester is requesting as an advertiser.
-      publishers - The requester is requesting as a publisher.
-  roleId: string, The ID of the requesting advertiser or publisher. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A LinkResource.
-    "isActive": True or False, # Flag for if this link is active.
-    "linkType": "A String", # The link type.
-    "kind": "gan#link", # The kind for one entity.
-    "endDate": "A String", # Date that this link becomes inactive.
-    "description": "A String", # Description.
-    "name": "A String", # The logical name for this link.
-    "specialOffers": { # Special offers on the link.
-      "priceCut": { # An ApiMoneyProto. # Price cut on the purchase
-        "amount": 3.14, # The amount of money.
-        "currencyCode": "A String", # The 3-letter code of the currency in question.
-      },
-      "priceCutMin": { # An ApiMoneyProto. # Minimum purchase amount for price cut promotion
-        "amount": 3.14, # The amount of money.
-        "currencyCode": "A String", # The 3-letter code of the currency in question.
-      },
-      "freeShipping": True or False, # Whether there is free shipping
-      "promotionCodes": [ # List of promotion code associated with the link
-        "A String",
-      ],
-      "percentOff": 3.14, # Percent off on the purchase
-      "percentOffMin": { # An ApiMoneyProto. # Minimum purchase amount for percent off promotion
-        "amount": 3.14, # The amount of money.
-        "currencyCode": "A String", # The 3-letter code of the currency in question.
-      },
-      "freeGift": True or False, # Whether there is a free gift
-      "freeShippingMin": { # An ApiMoneyProto. # Minimum purchase amount for free shipping promotion
-        "amount": 3.14, # The amount of money.
-        "currencyCode": "A String", # The 3-letter code of the currency in question.
-      },
-    },
-    "epcSevenDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past seven days on this link. This value should be multiplied by 100 at the time of display.
-      "amount": 3.14, # The amount of money.
-      "currencyCode": "A String", # The 3-letter code of the currency in question.
-    },
-    "createDate": "A String", # Date that this link was created.
-    "imageAltText": "A String", # image alt text.
-    "epcNinetyDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past three months on this link. This value should be multiplied by 100 at the time of display.
-      "amount": 3.14, # The amount of money.
-      "currencyCode": "A String", # The 3-letter code of the currency in question.
-    },
-    "advertiserId": "A String", # The advertiser id for the advertiser who owns this link.
-    "id": "A String", # The ID of this link.
-    "impressionTrackingUrl": "A String", # Tracking url for impressions.
-    "promotionType": "A String", # Promotion Type
-    "duration": "A String", # Duration
-    "authorship": "A String", # Authorship
-    "startDate": "A String", # Date that this link becomes active.
-    "availability": "A String", # Availability.
-    "clickTrackingUrl": "A String", # Tracking url for clicks.
-    "destinationUrl": "A String", # The destination URL for the link.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A LinkResource.
-      "isActive": True or False, # Flag for if this link is active.
-      "linkType": "A String", # The link type.
-      "kind": "gan#link", # The kind for one entity.
-      "endDate": "A String", # Date that this link becomes inactive.
-      "description": "A String", # Description.
-      "name": "A String", # The logical name for this link.
-      "specialOffers": { # Special offers on the link.
-        "priceCut": { # An ApiMoneyProto. # Price cut on the purchase
-          "amount": 3.14, # The amount of money.
-          "currencyCode": "A String", # The 3-letter code of the currency in question.
-        },
-        "priceCutMin": { # An ApiMoneyProto. # Minimum purchase amount for price cut promotion
-          "amount": 3.14, # The amount of money.
-          "currencyCode": "A String", # The 3-letter code of the currency in question.
-        },
-        "freeShipping": True or False, # Whether there is free shipping
-        "promotionCodes": [ # List of promotion code associated with the link
-          "A String",
-        ],
-        "percentOff": 3.14, # Percent off on the purchase
-        "percentOffMin": { # An ApiMoneyProto. # Minimum purchase amount for percent off promotion
-          "amount": 3.14, # The amount of money.
-          "currencyCode": "A String", # The 3-letter code of the currency in question.
-        },
-        "freeGift": True or False, # Whether there is a free gift
-        "freeShippingMin": { # An ApiMoneyProto. # Minimum purchase amount for free shipping promotion
-          "amount": 3.14, # The amount of money.
-          "currencyCode": "A String", # The 3-letter code of the currency in question.
-        },
-      },
-      "epcSevenDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past seven days on this link. This value should be multiplied by 100 at the time of display.
-        "amount": 3.14, # The amount of money.
-        "currencyCode": "A String", # The 3-letter code of the currency in question.
-      },
-      "createDate": "A String", # Date that this link was created.
-      "imageAltText": "A String", # image alt text.
-      "epcNinetyDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past three months on this link. This value should be multiplied by 100 at the time of display.
-        "amount": 3.14, # The amount of money.
-        "currencyCode": "A String", # The 3-letter code of the currency in question.
-      },
-      "advertiserId": "A String", # The advertiser id for the advertiser who owns this link.
-      "id": "A String", # The ID of this link.
-      "impressionTrackingUrl": "A String", # Tracking url for impressions.
-      "promotionType": "A String", # Promotion Type
-      "duration": "A String", # Duration
-      "authorship": "A String", # Authorship
-      "startDate": "A String", # Date that this link becomes active.
-      "availability": "A String", # Availability.
-      "clickTrackingUrl": "A String", # Tracking url for clicks.
-      "destinationUrl": "A String", # The destination URL for the link.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(role, roleId, linkType=None, promotionType=None, createDateMax=None, advertiserId=None, pageToken=None, relationshipStatus=None, maxResults=None, authorship=None, startDateMin=None, assetSize=None, searchText=None, startDateMax=None, createDateMin=None)</code>
-  <pre>Retrieves all links that match the query parameters.
-
-Args:
-  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
-    Allowed values
-      advertisers - The requester is requesting as an advertiser.
-      publishers - The requester is requesting as a publisher.
-  roleId: string, The ID of the requesting advertiser or publisher. (required)
-  linkType: string, The type of the link.
-    Allowed values
-      banner - 
-      text - 
-  promotionType: string, The promotion type. (repeated)
-    Allowed values
-      coupon - 
-      free_gift - 
-      free_shipping - 
-      percent_off - 
-      price_cut - 
-  createDateMax: string, The end of the create date range.
-  advertiserId: string, Limits the resulting links to the ones belonging to the listed advertisers. (repeated)
-  pageToken: string, The value of 'nextPageToken' from the previous page. Optional.
-  relationshipStatus: string, The status of the relationship.
-    Allowed values
-      approved - 
-      available - 
-  maxResults: integer, Max number of items to return in this page. Optional. Defaults to 20.
-  authorship: string, The role of the author of the link.
-    Allowed values
-      advertiser - 
-      publisher - 
-  startDateMin: string, The beginning of the start date range.
-  assetSize: string, The size of the given asset. (repeated)
-  searchText: string, Field for full text search across title and merchandising text, supports link id search.
-  startDateMax: string, The end of the start date range.
-  createDateMin: string, The beginning of the create date range.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # The next page token.
-    "items": [ # The links.
-      { # A LinkResource.
-          "isActive": True or False, # Flag for if this link is active.
-          "linkType": "A String", # The link type.
-          "kind": "gan#link", # The kind for one entity.
-          "endDate": "A String", # Date that this link becomes inactive.
-          "description": "A String", # Description.
-          "name": "A String", # The logical name for this link.
-          "specialOffers": { # Special offers on the link.
-            "priceCut": { # An ApiMoneyProto. # Price cut on the purchase
-              "amount": 3.14, # The amount of money.
-              "currencyCode": "A String", # The 3-letter code of the currency in question.
-            },
-            "priceCutMin": { # An ApiMoneyProto. # Minimum purchase amount for price cut promotion
-              "amount": 3.14, # The amount of money.
-              "currencyCode": "A String", # The 3-letter code of the currency in question.
-            },
-            "freeShipping": True or False, # Whether there is free shipping
-            "promotionCodes": [ # List of promotion code associated with the link
-              "A String",
-            ],
-            "percentOff": 3.14, # Percent off on the purchase
-            "percentOffMin": { # An ApiMoneyProto. # Minimum purchase amount for percent off promotion
-              "amount": 3.14, # The amount of money.
-              "currencyCode": "A String", # The 3-letter code of the currency in question.
-            },
-            "freeGift": True or False, # Whether there is a free gift
-            "freeShippingMin": { # An ApiMoneyProto. # Minimum purchase amount for free shipping promotion
-              "amount": 3.14, # The amount of money.
-              "currencyCode": "A String", # The 3-letter code of the currency in question.
-            },
-          },
-          "epcSevenDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past seven days on this link. This value should be multiplied by 100 at the time of display.
-            "amount": 3.14, # The amount of money.
-            "currencyCode": "A String", # The 3-letter code of the currency in question.
-          },
-          "createDate": "A String", # Date that this link was created.
-          "imageAltText": "A String", # image alt text.
-          "epcNinetyDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past three months on this link. This value should be multiplied by 100 at the time of display.
-            "amount": 3.14, # The amount of money.
-            "currencyCode": "A String", # The 3-letter code of the currency in question.
-          },
-          "advertiserId": "A String", # The advertiser id for the advertiser who owns this link.
-          "id": "A String", # The ID of this link.
-          "impressionTrackingUrl": "A String", # Tracking url for impressions.
-          "promotionType": "A String", # Promotion Type
-          "duration": "A String", # Duration
-          "authorship": "A String", # Authorship
-          "startDate": "A String", # Date that this link becomes active.
-          "availability": "A String", # Availability.
-          "clickTrackingUrl": "A String", # Tracking url for clicks.
-          "destinationUrl": "A String", # The destination URL for the link.
-        },
-    ],
-    "kind": "gan#links", # The kind for a page of links.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gan_v1beta1.publishers.html b/docs/dyn/gan_v1beta1.publishers.html
deleted file mode 100644
index 5d6a741..0000000
--- a/docs/dyn/gan_v1beta1.publishers.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="gan_v1beta1.html">Google Affiliate Network API</a> . <a href="gan_v1beta1.publishers.html">publishers</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(role, roleId, publisherId=None)</a></code></p>
-<p class="firstline">Retrieves data about a single advertiser if that the requesting advertiser/publisher has access to it. Only advertisers can look up publishers. Publishers can request information about themselves by omitting the publisherId query parameter.</p>
-<p class="toc_element">
-  <code><a href="#list">list(role, roleId, publisherCategory=None, relationshipStatus=None, pageToken=None, minSevenDayEpc=None, minNinetyDayEpc=None, maxResults=None, minPayoutRank=None)</a></code></p>
-<p class="firstline">Retrieves data about all publishers that the requesting advertiser/publisher has access to.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(role, roleId, publisherId=None)</code>
-  <pre>Retrieves data about a single advertiser if that the requesting advertiser/publisher has access to it. Only advertisers can look up publishers. Publishers can request information about themselves by omitting the publisherId query parameter.
-
-Args:
-  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
-    Allowed values
-      advertisers - The requester is requesting as an advertiser.
-      publishers - The requester is requesting as a publisher.
-  roleId: string, The ID of the requesting advertiser or publisher. (required)
-  publisherId: string, The ID of the publisher to look up. Optional.
-
-Returns:
-  An object of the form:
-
-    { # A PublisherResource.
-    "status": "A String", # The status of the requesting advertiser's relationship with this publisher.
-    "kind": "gan#publisher", # The kind for a publisher.
-    "name": "A String", # The name of this publisher.
-    "classification": "A String", # Classification that this publisher belongs to. See this link for all publisher classifications: http://www.google.com/support/affiliatenetwork/advertiser/bin/answer.py?hl=en&answer=107625&ctx=cb&src=cb&cbid=-k5fihzthfaik&cbrank=4
-    "epcSevenDayAverage": { # An ApiMoneyProto. # The sum of fees paid to this publisher divided by the total number of clicks over the past seven days. Values are multiplied by 100 for display purposes.
-      "amount": 3.14, # The amount of money.
-      "currencyCode": "A String", # The 3-letter code of the currency in question.
-    },
-    "payoutRank": "A String", # A rank based on commissions paid to this publisher over the past 90 days. A number between 1 and 4 where 4 means the top quartile (most money paid) and 1 means the bottom quartile (least money paid).
-    "epcNinetyDayAverage": { # An ApiMoneyProto. # The sum of fees paid to this publisher divided by the total number of clicks over the past three months. Values are multiplied by 100 for display purposes.
-      "amount": 3.14, # The amount of money.
-      "currencyCode": "A String", # The 3-letter code of the currency in question.
-    },
-    "item": # Object with schema name: Publisher # The requested publisher.
-    "joinDate": "A String", # Date that this publisher was approved as a Google Affiliate Network publisher.
-    "sites": [ # Websites that this publisher uses to advertise.
-      "A String",
-    ],
-    "id": "A String", # The ID of this publisher.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(role, roleId, publisherCategory=None, relationshipStatus=None, pageToken=None, minSevenDayEpc=None, minNinetyDayEpc=None, maxResults=None, minPayoutRank=None)</code>
-  <pre>Retrieves data about all publishers that the requesting advertiser/publisher has access to.
-
-Args:
-  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
-    Allowed values
-      advertisers - The requester is requesting as an advertiser.
-      publishers - The requester is requesting as a publisher.
-  roleId: string, The ID of the requesting advertiser or publisher. (required)
-  publisherCategory: string, Caret(^) delimted list of publisher categories. Valid categories: (unclassified|community_and_content|shopping_and_promotion|loyalty_and_rewards|network|search_specialist|comparison_shopping|email). Filters out all publishers not in one of the given advertiser categories. Optional.
-  relationshipStatus: string, Filters out all publishers for which do not have the given relationship status with the requesting publisher.
-    Allowed values
-      approved - Publishers you've approved to your program.
-      available - Publishers available for you to recruit.
-      deactivated - A publisher that you terminated from your program. Publishers also have the ability to remove themselves from your program.
-      declined - A publisher that you did not approve to your program.
-      pending - Publishers that have applied to your program. We recommend reviewing and deciding on pending publishers on a weekly basis.
-  pageToken: string, The value of 'nextPageToken' from the previous page. Optional.
-  minSevenDayEpc: number, Filters out all publishers that have a seven day EPC average lower than the given value (inclusive). Min value 0.0. Optional.
-  minNinetyDayEpc: number, Filters out all publishers that have a ninety day EPC average lower than the given value (inclusive). Min value: 0.0. Optional.
-  maxResults: integer, Max number of items to return in this page. Optional. Defaults to 20.
-  minPayoutRank: integer, A value between 1 and 4, where 1 represents the quartile of publishers with the lowest ranks and 4 represents the quartile of publishers with the highest ranks. Filters out all publishers with a lower rank than the given quartile. For example if a 2 was given only publishers with a payout rank of 25 or higher would be included. Optional.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # The 'pageToken' to pass to the next request to get the next page, if there are more to retrieve.
-    "items": [ # The entity list.
-      { # A PublisherResource.
-        "status": "A String", # The status of the requesting advertiser's relationship with this publisher.
-        "kind": "gan#publisher", # The kind for a publisher.
-        "name": "A String", # The name of this publisher.
-        "classification": "A String", # Classification that this publisher belongs to. See this link for all publisher classifications: http://www.google.com/support/affiliatenetwork/advertiser/bin/answer.py?hl=en&answer=107625&ctx=cb&src=cb&cbid=-k5fihzthfaik&cbrank=4
-        "epcSevenDayAverage": { # An ApiMoneyProto. # The sum of fees paid to this publisher divided by the total number of clicks over the past seven days. Values are multiplied by 100 for display purposes.
-          "amount": 3.14, # The amount of money.
-          "currencyCode": "A String", # The 3-letter code of the currency in question.
-        },
-        "payoutRank": "A String", # A rank based on commissions paid to this publisher over the past 90 days. A number between 1 and 4 where 4 means the top quartile (most money paid) and 1 means the bottom quartile (least money paid).
-        "epcNinetyDayAverage": { # An ApiMoneyProto. # The sum of fees paid to this publisher divided by the total number of clicks over the past three months. Values are multiplied by 100 for display purposes.
-          "amount": 3.14, # The amount of money.
-          "currencyCode": "A String", # The 3-letter code of the currency in question.
-        },
-        "item": # Object with schema name: Publisher # The requested publisher.
-        "joinDate": "A String", # Date that this publisher was approved as a Google Affiliate Network publisher.
-        "sites": [ # Websites that this publisher uses to advertise.
-          "A String",
-        ],
-        "id": "A String", # The ID of this publisher.
-      },
-    ],
-    "kind": "gan#publishers", # The kind for a page of entities.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gan_v1beta1.reports.html b/docs/dyn/gan_v1beta1.reports.html
deleted file mode 100644
index 8c1d646..0000000
--- a/docs/dyn/gan_v1beta1.reports.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="gan_v1beta1.html">Google Affiliate Network API</a> . <a href="gan_v1beta1.reports.html">reports</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(role, roleId, reportType, startDate=None, endDate=None, eventType=None, advertiserId=None, startIndex=None, calculateTotals=None, linkId=None, orderId=None, maxResults=None, status=None, publisherId=None)</a></code></p>
-<p class="firstline">Retrieves a report of the specified type.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(role, roleId, reportType, startDate=None, endDate=None, eventType=None, advertiserId=None, startIndex=None, calculateTotals=None, linkId=None, orderId=None, maxResults=None, status=None, publisherId=None)</code>
-  <pre>Retrieves a report of the specified type.
-
-Args:
-  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
-    Allowed values
-      advertisers - The requester is requesting as an advertiser.
-      publishers - The requester is requesting as a publisher.
-  roleId: string, The ID of the requesting advertiser or publisher. (required)
-  reportType: string, The type of report being requested. Valid values: 'order_delta'. Required. (required)
-    Allowed values
-      order_delta - The order delta report type.
-  startDate: string, The start date (inclusive), in RFC 3339 format, for the report data to be returned. Defaults to one day before endDate, if that is given, or yesterday. Optional.
-  endDate: string, The end date (exclusive), in RFC 3339 format, for the report data to be returned. Defaults to one day after startDate, if that is given, or today. Optional.
-  eventType: string, Filters out all events that are not of the given type. Valid values: 'action', 'transaction', or 'charge'. Optional.
-    Allowed values
-      action - Event type is action.
-      charge - Event type is charge.
-      transaction - Event type is transaction.
-  advertiserId: string, The IDs of the advertisers to look up, if applicable. (repeated)
-  startIndex: integer, Offset on which to return results when paging. Optional.
-  calculateTotals: boolean, Whether or not to calculate totals rows. Optional.
-  linkId: string, Filters to capture one of given link IDs. Optional. (repeated)
-  orderId: string, Filters to capture one of the given order IDs. Optional. (repeated)
-  maxResults: integer, Max number of items to return in this page. Optional. Defaults to return all results.
-  status: string, Filters out all events that do not have the given status. Valid values: 'active', 'canceled', or 'invalid'. Optional.
-    Allowed values
-      active - Event is currently active.
-      canceled - Event is currently canceled.
-      invalid - Event is currently invalid.
-  publisherId: string, The IDs of the publishers to look up, if applicable. (repeated)
-
-Returns:
-  An object of the form:
-
-    { # A ReportResource representing a report of a certain type either for an advertiser or publisher.
-    "totals_rows": [ # The totals rows for the report
-      [ # Loop over each column in the row.
-        "",
-      ],
-    ],
-    "kind": "gan#report", # The kind for a report.
-    "rows": [ # The rows of data for the report
-      [ # Loop over each column in the row.
-        "",
-      ],
-    ],
-    "end_date": "A String", # The end of the date range for this report, exclusive.
-    "matching_row_count": "A String", # The number of matching rows before paging is applied.
-    "column_names": [ # The column names for the report
-      "A String",
-    ],
-    "type": "A String", # The report type.
-    "start_date": "A String", # The start of the date range for this report, inclusive.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/groupsmigration_v1.archive.html b/docs/dyn/groupsmigration_v1.archive.html
deleted file mode 100644
index 8bf8875..0000000
--- a/docs/dyn/groupsmigration_v1.archive.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="groupsmigration_v1.html">Groups Migration API</a> . <a href="groupsmigration_v1.archive.html">archive</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#insert">insert(groupId, media_body=None)</a></code></p>
-<p class="firstline">Inserts a new mail into the archive of the Google group.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="insert">insert(groupId, media_body=None)</code>
-  <pre>Inserts a new mail into the archive of the Google group.
-
-Args:
-  groupId: string, The group ID (required)
-  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
-
-Returns:
-  An object of the form:
-
-    { # JSON response template for groups migration API.
-    "kind": "groupsmigration#groups", # The kind of insert resource this is.
-    "responseCode": "A String", # The status of the insert request.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/groupsmigration_v1.html b/docs/dyn/groupsmigration_v1.html
deleted file mode 100644
index 4ff4e68..0000000
--- a/docs/dyn/groupsmigration_v1.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="groupsmigration_v1.html">Groups Migration API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="groupsmigration_v1.archive.html">archive()</a></code>
-</p>
-<p class="firstline">Returns the archive Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/groupssettings_v1.groups.html b/docs/dyn/groupssettings_v1.groups.html
deleted file mode 100644
index b816e79..0000000
--- a/docs/dyn/groupssettings_v1.groups.html
+++ /dev/null
@@ -1,271 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="groupssettings_v1.html">Groups Settings API</a> . <a href="groupssettings_v1.groups.html">groups</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(groupUniqueId)</a></code></p>
-<p class="firstline">Gets one resource by id.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(groupUniqueId, body)</a></code></p>
-<p class="firstline">Updates an existing resource. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(groupUniqueId, body)</a></code></p>
-<p class="firstline">Updates an existing resource.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(groupUniqueId)</code>
-  <pre>Gets one resource by id.
-
-Args:
-  groupUniqueId: string, The resource ID (required)
-
-Returns:
-  An object of the form:
-
-    { # JSON template for Group resource
-      "allowExternalMembers": "A String", # Are external members allowed to join the group.
-      "whoCanPostMessage": "A String", # Permissions to post messages to the group. Possible values are: NONE_CAN_POST ALL_MANAGERS_CAN_POST ALL_MEMBERS_CAN_POST ALL_IN_DOMAIN_CAN_POST ANYONE_CAN_POST
-      "primaryLanguage": "A String", # Primary language for the group.
-      "whoCanViewMembership": "A String", # Permissions to view membership. Possbile values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
-      "defaultMessageDenyNotificationText": "A String", # Default message deny notification message
-      "includeInGlobalAddressList": "A String", # If this groups should be included in global address list or not.
-      "archiveOnly": "A String", # If the group is archive only
-      "isArchived": "A String", # If the contents of the group are archived.
-      "membersCanPostAsTheGroup": "A String", # Can members post using the group email address.
-      "allowWebPosting": "A String", # If posting from web is allowed.
-      "email": "A String", # Email id of the group
-      "messageModerationLevel": "A String", # Moderation level for messages. Possible values are: MODERATE_ALL_MESSAGES MODERATE_NON_MEMBERS MODERATE_NEW_MEMBERS MODERATE_NONE
-      "description": "A String", # Description of the group
-      "replyTo": "A String", # Whome should the default reply to a message go to. Possible values are: REPLY_TO_CUSTOM REPLY_TO_SENDER REPLY_TO_LIST REPLY_TO_OWNER REPLY_TO_IGNORE REPLY_TO_MANAGERS
-      "customReplyTo": "A String", # Default email to which reply to any message should go.
-      "sendMessageDenyNotification": "A String", # Should the member be notified if his message is denied by owner.
-      "messageDisplayFont": "A String", # Default message display font. Possible values are: DEFAULT_FONT FIXED_WIDTH_FONT
-      "whoCanJoin": "A String", # Permissions to join the group. Possible values are: ANYONE_CAN_JOIN ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN
-      "name": "A String", # Name of the Group
-      "kind": "groupsSettings#groups", # The type of the resource.
-      "whoCanInvite": "A String", # Permissions to invite members. Possbile values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE
-      "spamModerationLevel": "A String", # Moderation level for messages detected as spam. Possible values are: ALLOW MODERATE SILENTLY_MODERATE REJECT
-      "whoCanViewGroup": "A String", # Permissions to view group. Possbile values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
-      "showInGroupDirectory": "A String", # Is the group listed in groups directory
-      "maxMessageBytes": 42, # Maximum message size allowed.
-      "allowGoogleCommunication": "A String", # Is google allowed to contact admins.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(groupUniqueId, body)</code>
-  <pre>Updates an existing resource. This method supports patch semantics.
-
-Args:
-  groupUniqueId: string, The resource ID (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # JSON template for Group resource
-    "allowExternalMembers": "A String", # Are external members allowed to join the group.
-    "whoCanPostMessage": "A String", # Permissions to post messages to the group. Possible values are: NONE_CAN_POST ALL_MANAGERS_CAN_POST ALL_MEMBERS_CAN_POST ALL_IN_DOMAIN_CAN_POST ANYONE_CAN_POST
-    "primaryLanguage": "A String", # Primary language for the group.
-    "whoCanViewMembership": "A String", # Permissions to view membership. Possbile values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
-    "defaultMessageDenyNotificationText": "A String", # Default message deny notification message
-    "includeInGlobalAddressList": "A String", # If this groups should be included in global address list or not.
-    "archiveOnly": "A String", # If the group is archive only
-    "isArchived": "A String", # If the contents of the group are archived.
-    "membersCanPostAsTheGroup": "A String", # Can members post using the group email address.
-    "allowWebPosting": "A String", # If posting from web is allowed.
-    "email": "A String", # Email id of the group
-    "messageModerationLevel": "A String", # Moderation level for messages. Possible values are: MODERATE_ALL_MESSAGES MODERATE_NON_MEMBERS MODERATE_NEW_MEMBERS MODERATE_NONE
-    "description": "A String", # Description of the group
-    "replyTo": "A String", # Whome should the default reply to a message go to. Possible values are: REPLY_TO_CUSTOM REPLY_TO_SENDER REPLY_TO_LIST REPLY_TO_OWNER REPLY_TO_IGNORE REPLY_TO_MANAGERS
-    "customReplyTo": "A String", # Default email to which reply to any message should go.
-    "sendMessageDenyNotification": "A String", # Should the member be notified if his message is denied by owner.
-    "messageDisplayFont": "A String", # Default message display font. Possible values are: DEFAULT_FONT FIXED_WIDTH_FONT
-    "whoCanJoin": "A String", # Permissions to join the group. Possible values are: ANYONE_CAN_JOIN ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN
-    "name": "A String", # Name of the Group
-    "kind": "groupsSettings#groups", # The type of the resource.
-    "whoCanInvite": "A String", # Permissions to invite members. Possbile values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE
-    "spamModerationLevel": "A String", # Moderation level for messages detected as spam. Possible values are: ALLOW MODERATE SILENTLY_MODERATE REJECT
-    "whoCanViewGroup": "A String", # Permissions to view group. Possbile values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
-    "showInGroupDirectory": "A String", # Is the group listed in groups directory
-    "maxMessageBytes": 42, # Maximum message size allowed.
-    "allowGoogleCommunication": "A String", # Is google allowed to contact admins.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # JSON template for Group resource
-      "allowExternalMembers": "A String", # Are external members allowed to join the group.
-      "whoCanPostMessage": "A String", # Permissions to post messages to the group. Possible values are: NONE_CAN_POST ALL_MANAGERS_CAN_POST ALL_MEMBERS_CAN_POST ALL_IN_DOMAIN_CAN_POST ANYONE_CAN_POST
-      "primaryLanguage": "A String", # Primary language for the group.
-      "whoCanViewMembership": "A String", # Permissions to view membership. Possbile values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
-      "defaultMessageDenyNotificationText": "A String", # Default message deny notification message
-      "includeInGlobalAddressList": "A String", # If this groups should be included in global address list or not.
-      "archiveOnly": "A String", # If the group is archive only
-      "isArchived": "A String", # If the contents of the group are archived.
-      "membersCanPostAsTheGroup": "A String", # Can members post using the group email address.
-      "allowWebPosting": "A String", # If posting from web is allowed.
-      "email": "A String", # Email id of the group
-      "messageModerationLevel": "A String", # Moderation level for messages. Possible values are: MODERATE_ALL_MESSAGES MODERATE_NON_MEMBERS MODERATE_NEW_MEMBERS MODERATE_NONE
-      "description": "A String", # Description of the group
-      "replyTo": "A String", # Whome should the default reply to a message go to. Possible values are: REPLY_TO_CUSTOM REPLY_TO_SENDER REPLY_TO_LIST REPLY_TO_OWNER REPLY_TO_IGNORE REPLY_TO_MANAGERS
-      "customReplyTo": "A String", # Default email to which reply to any message should go.
-      "sendMessageDenyNotification": "A String", # Should the member be notified if his message is denied by owner.
-      "messageDisplayFont": "A String", # Default message display font. Possible values are: DEFAULT_FONT FIXED_WIDTH_FONT
-      "whoCanJoin": "A String", # Permissions to join the group. Possible values are: ANYONE_CAN_JOIN ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN
-      "name": "A String", # Name of the Group
-      "kind": "groupsSettings#groups", # The type of the resource.
-      "whoCanInvite": "A String", # Permissions to invite members. Possbile values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE
-      "spamModerationLevel": "A String", # Moderation level for messages detected as spam. Possible values are: ALLOW MODERATE SILENTLY_MODERATE REJECT
-      "whoCanViewGroup": "A String", # Permissions to view group. Possbile values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
-      "showInGroupDirectory": "A String", # Is the group listed in groups directory
-      "maxMessageBytes": 42, # Maximum message size allowed.
-      "allowGoogleCommunication": "A String", # Is google allowed to contact admins.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(groupUniqueId, body)</code>
-  <pre>Updates an existing resource.
-
-Args:
-  groupUniqueId: string, The resource ID (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # JSON template for Group resource
-    "allowExternalMembers": "A String", # Are external members allowed to join the group.
-    "whoCanPostMessage": "A String", # Permissions to post messages to the group. Possible values are: NONE_CAN_POST ALL_MANAGERS_CAN_POST ALL_MEMBERS_CAN_POST ALL_IN_DOMAIN_CAN_POST ANYONE_CAN_POST
-    "primaryLanguage": "A String", # Primary language for the group.
-    "whoCanViewMembership": "A String", # Permissions to view membership. Possbile values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
-    "defaultMessageDenyNotificationText": "A String", # Default message deny notification message
-    "includeInGlobalAddressList": "A String", # If this groups should be included in global address list or not.
-    "archiveOnly": "A String", # If the group is archive only
-    "isArchived": "A String", # If the contents of the group are archived.
-    "membersCanPostAsTheGroup": "A String", # Can members post using the group email address.
-    "allowWebPosting": "A String", # If posting from web is allowed.
-    "email": "A String", # Email id of the group
-    "messageModerationLevel": "A String", # Moderation level for messages. Possible values are: MODERATE_ALL_MESSAGES MODERATE_NON_MEMBERS MODERATE_NEW_MEMBERS MODERATE_NONE
-    "description": "A String", # Description of the group
-    "replyTo": "A String", # Whome should the default reply to a message go to. Possible values are: REPLY_TO_CUSTOM REPLY_TO_SENDER REPLY_TO_LIST REPLY_TO_OWNER REPLY_TO_IGNORE REPLY_TO_MANAGERS
-    "customReplyTo": "A String", # Default email to which reply to any message should go.
-    "sendMessageDenyNotification": "A String", # Should the member be notified if his message is denied by owner.
-    "messageDisplayFont": "A String", # Default message display font. Possible values are: DEFAULT_FONT FIXED_WIDTH_FONT
-    "whoCanJoin": "A String", # Permissions to join the group. Possible values are: ANYONE_CAN_JOIN ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN
-    "name": "A String", # Name of the Group
-    "kind": "groupsSettings#groups", # The type of the resource.
-    "whoCanInvite": "A String", # Permissions to invite members. Possbile values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE
-    "spamModerationLevel": "A String", # Moderation level for messages detected as spam. Possible values are: ALLOW MODERATE SILENTLY_MODERATE REJECT
-    "whoCanViewGroup": "A String", # Permissions to view group. Possbile values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
-    "showInGroupDirectory": "A String", # Is the group listed in groups directory
-    "maxMessageBytes": 42, # Maximum message size allowed.
-    "allowGoogleCommunication": "A String", # Is google allowed to contact admins.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # JSON template for Group resource
-      "allowExternalMembers": "A String", # Are external members allowed to join the group.
-      "whoCanPostMessage": "A String", # Permissions to post messages to the group. Possible values are: NONE_CAN_POST ALL_MANAGERS_CAN_POST ALL_MEMBERS_CAN_POST ALL_IN_DOMAIN_CAN_POST ANYONE_CAN_POST
-      "primaryLanguage": "A String", # Primary language for the group.
-      "whoCanViewMembership": "A String", # Permissions to view membership. Possbile values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
-      "defaultMessageDenyNotificationText": "A String", # Default message deny notification message
-      "includeInGlobalAddressList": "A String", # If this groups should be included in global address list or not.
-      "archiveOnly": "A String", # If the group is archive only
-      "isArchived": "A String", # If the contents of the group are archived.
-      "membersCanPostAsTheGroup": "A String", # Can members post using the group email address.
-      "allowWebPosting": "A String", # If posting from web is allowed.
-      "email": "A String", # Email id of the group
-      "messageModerationLevel": "A String", # Moderation level for messages. Possible values are: MODERATE_ALL_MESSAGES MODERATE_NON_MEMBERS MODERATE_NEW_MEMBERS MODERATE_NONE
-      "description": "A String", # Description of the group
-      "replyTo": "A String", # Whome should the default reply to a message go to. Possible values are: REPLY_TO_CUSTOM REPLY_TO_SENDER REPLY_TO_LIST REPLY_TO_OWNER REPLY_TO_IGNORE REPLY_TO_MANAGERS
-      "customReplyTo": "A String", # Default email to which reply to any message should go.
-      "sendMessageDenyNotification": "A String", # Should the member be notified if his message is denied by owner.
-      "messageDisplayFont": "A String", # Default message display font. Possible values are: DEFAULT_FONT FIXED_WIDTH_FONT
-      "whoCanJoin": "A String", # Permissions to join the group. Possible values are: ANYONE_CAN_JOIN ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN
-      "name": "A String", # Name of the Group
-      "kind": "groupsSettings#groups", # The type of the resource.
-      "whoCanInvite": "A String", # Permissions to invite members. Possbile values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE
-      "spamModerationLevel": "A String", # Moderation level for messages detected as spam. Possible values are: ALLOW MODERATE SILENTLY_MODERATE REJECT
-      "whoCanViewGroup": "A String", # Permissions to view group. Possbile values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
-      "showInGroupDirectory": "A String", # Is the group listed in groups directory
-      "maxMessageBytes": 42, # Maximum message size allowed.
-      "allowGoogleCommunication": "A String", # Is google allowed to contact admins.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/groupssettings_v1.html b/docs/dyn/groupssettings_v1.html
deleted file mode 100644
index 4c44371..0000000
--- a/docs/dyn/groupssettings_v1.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="groupssettings_v1.html">Groups Settings API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="groupssettings_v1.groups.html">groups()</a></code>
-</p>
-<p class="firstline">Returns the groups Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/identitytoolkit_v3.html b/docs/dyn/identitytoolkit_v3.html
deleted file mode 100644
index 5922397..0000000
--- a/docs/dyn/identitytoolkit_v3.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="identitytoolkit_v3.html">Google Identity Toolkit API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="identitytoolkit_v3.relyingparty.html">relyingparty()</a></code>
-</p>
-<p class="firstline">Returns the relyingparty Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/identitytoolkit_v3.relyingparty.html b/docs/dyn/identitytoolkit_v3.relyingparty.html
deleted file mode 100644
index 45f8db6..0000000
--- a/docs/dyn/identitytoolkit_v3.relyingparty.html
+++ /dev/null
@@ -1,412 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="identitytoolkit_v3.html">Google Identity Toolkit API</a> . <a href="identitytoolkit_v3.relyingparty.html">relyingparty</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#createAuthUri">createAuthUri(body)</a></code></p>
-<p class="firstline">Creates the URI used by the IdP to authenticate the user.</p>
-<p class="toc_element">
-  <code><a href="#deleteAccount">deleteAccount(body)</a></code></p>
-<p class="firstline">Delete user account.</p>
-<p class="toc_element">
-  <code><a href="#getAccountInfo">getAccountInfo(body)</a></code></p>
-<p class="firstline">Returns the account info.</p>
-<p class="toc_element">
-  <code><a href="#getOobConfirmationCode">getOobConfirmationCode(body)</a></code></p>
-<p class="firstline">Get a code for user action confirmation.</p>
-<p class="toc_element">
-  <code><a href="#resetPassword">resetPassword(body)</a></code></p>
-<p class="firstline">Set account info for a user.</p>
-<p class="toc_element">
-  <code><a href="#setAccountInfo">setAccountInfo(body)</a></code></p>
-<p class="firstline">Set account info for a user.</p>
-<p class="toc_element">
-  <code><a href="#uploadAccount">uploadAccount(body)</a></code></p>
-<p class="firstline">Batch upload existing user accounts.</p>
-<p class="toc_element">
-  <code><a href="#verifyAssertion">verifyAssertion(body)</a></code></p>
-<p class="firstline">Verifies the assertion returned by the IdP.</p>
-<p class="toc_element">
-  <code><a href="#verifyPassword">verifyPassword(body)</a></code></p>
-<p class="firstline">Verifies the user entered password.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="createAuthUri">createAuthUri(body)</code>
-  <pre>Creates the URI used by the IdP to authenticate the user.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Request to get the IDP authentication URL.
-    "openidRealm": "A String", # Optional realm for OpenID protocol. The sub string "scheme://domain:port" of the param "continueUri" is used if this is not set.
-    "clientId": "A String", # The relying party OAuth client ID.
-    "providerId": "A String", # The IdP ID. For white listed IdPs it's a short domain name e.g. google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs it's the OP identifier.
-    "context": "A String", # The opaque value used by the client to maintain context info between the authentication request and the IDP callback.
-    "continueUri": "A String", # The URI to which the IDP redirects the user after the federated login flow.
-    "identifier": "A String", # The email or federated ID of the user.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Response of creating the IDP authentication URL.
-    "kind": "identitytoolkit#CreateAuthUriResponse", # The fixed string identitytoolkit#CreateAuthUriResponse".
-    "providers": [ # Existing IDP's for the user.
-      "A String",
-    ],
-    "registered": True or False, # Whether the user is registered if the identifier is an email.
-    "authUri": "A String", # The URI used by the IDP to authenticate the user.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="deleteAccount">deleteAccount(body)</code>
-  <pre>Delete user account.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Request to delete account.
-    "localId": "A String", # The local ID of the user.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Respone of deleting account.
-    "kind": "identitytoolkit#DeleteAccountResponse", # The fixed string "identitytoolkit#DeleteAccountResponse".
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="getAccountInfo">getAccountInfo(body)</code>
-  <pre>Returns the account info.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Request to get the account information.
-    "idToken": "A String", # The GITKit token of the authenticated user.
-    "email": [ # The list of emails of the users to inquiry.
-      "A String",
-    ],
-    "localId": [ # The list of local ID's of the users to inquiry.
-      "A String",
-    ],
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Response of getting account information.
-    "kind": "identitytoolkit#GetAccountInfoResponse", # The fixed string "identitytoolkit#GetAccountInfoResponse".
-    "users": [ # The info of the users.
-      {
-        "displayName": "A String", # The name of the user.
-        "localId": "A String", # The local ID of the user.
-        "language": "A String", # The language of the user.
-        "photoUrl": "A String", # The URL of the user profile photo.
-        "dateOfBirth": "A String", # The user's date of birth.
-        "version": 42, # Version of the user's password.
-        "providerUserInfo": [ # The IDP of the user.
-          {
-            "providerId": "A String", # The IdP ID. For white listed IdPs it's a short domain name, e.g., google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs it's the OP identifier.
-            "displayName": "A String", # The user's display name at the IDP.
-            "photoUrl": "A String", # The user's photo url at the IDP.
-          },
-        ],
-        "timeZone": "A String", # The time zone of the user.
-        "passwordUpdatedAt": "A String", # The timestamp when the password was last updated.
-        "password": "A String", # The user's hashed password.
-        "salt": "A String", # The user's password salt.
-        "email": "A String", # The email returned by the IdP. NOTE: The federated login user may not own the email.
-      },
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="getOobConfirmationCode">getOobConfirmationCode(body)</code>
-  <pre>Get a code for user action confirmation.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Request of getting a code for user confirmation (reset password, change email etc.)
-    "kind": "identitytoolkit#relyingparty", # The fixed string "identitytoolkit#relyingparty".
-    "requestType": "A String", # The request type.
-    "idToken": "A String", # The user's Gitkit login token for email change.
-    "challenge": "A String", # The recaptcha challenge presented to the user.
-    "newEmail": "A String", # The new email if the code is for email change.
-    "userIp": "A String", # The IP address of the user.
-    "email": "A String", # The email of the user.
-    "captchaResp": "A String", # The recaptcha response from the user.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Response of getting a code for user confirmation (reset password, change email etc.).
-    "kind": "identitytoolkit#GetOobConfirmationCodeResponse", # The fixed string "identitytoolkit#GetOobConfirmationCodeResponse".
-    "oobCode": "A String", # The code to be send to the user.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="resetPassword">resetPassword(body)</code>
-  <pre>Set account info for a user.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Request to reset the password.
-    "newPassword": "A String", # The new password inputted by the user.
-    "oldPassword": "A String", # The old password inputted by the user.
-    "oobCode": "A String", # The confirmation code.
-    "email": "A String", # The email address of the user.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Response of resetting the password.
-    "kind": "identitytoolkit#ResetPasswordResponse", # The fixed string "identitytoolkit#ResetPasswordResponse".
-    "email": "A String", # The user's email.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="setAccountInfo">setAccountInfo(body)</code>
-  <pre>Set account info for a user.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Request to set the account information.
-    "oobCode": "A String", # The out-of-band code of the change email request.
-    "localId": "A String", # The local ID of the user.
-    "upgradeToFederatedLogin": True or False, # Mark the user to upgrade to federated login.
-    "emailVerified": True or False, # Mark the email as verified or not.
-    "provider": [ # The associated IDPs of the user.
-      "A String",
-    ],
-    "idToken": "A String", # The GITKit token of the authenticated user.
-    "displayName": "A String", # The name of the user.
-    "password": "A String", # The new password of the user.
-    "email": "A String", # The email of the user.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Respone of setting the account information.
-    "kind": "identitytoolkit#SetAccountInfoResponse", # The fixed string "identitytoolkit#SetAccountInfoResponse".
-    "displayName": "A String", # The name of the user.
-    "email": "A String", # The email of the user.
-    "provider": [ # The associated IDPs of the user.
-      "A String",
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="uploadAccount">uploadAccount(body)</code>
-  <pre>Batch upload existing user accounts.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Request to upload user account in batch.
-    "hashAlgorithm": "A String",
-    "signerKey": "A String",
-    "memoryCost": 42,
-    "saltSeparator": "A String",
-    "userAccount": [ # The account info to be stored.
-      { # Template for an individual account info.
-        "kind": "identitytoolkit#userinfo", # Identifies this object as a user info.
-        "password": "A String", # password
-        "salt": "A String", # salt
-        "email": "A String", # email
-        "localId": "A String", # user's id at the site
-      },
-    ],
-    "rounds": 42,
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Respone of uploading accounts in batch.
-    "kind": "identitytoolkit#UploadAccountResponse", # The fixed string "identitytoolkit#UploadAccountResponse".
-    "error": [ # The error encountered while processing the account info.
-      {
-        "index": 42, # The index of the malformed account, starting from 0.
-        "message": "A String", # Detailed error message for the account info.
-      },
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="verifyAssertion">verifyAssertion(body)</code>
-  <pre>Verifies the assertion returned by the IdP.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Request to verify the IDP assertion.
-    "requestUri": "A String", # The URI to which the IDP redirects the user back. It may contain federated login result params added by the IDP.
-    "postBody": "A String", # The post body if the request is a HTTP POST.
-    "pendingIdToken": "A String", # The GITKit token for the non-trusted IDP pending to be confirmed by the user.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Response of verifying the IDP assertion.
-    "federatedId": "A String", # The unique ID identifies the IdP account.
-    "localId": "A String", # The RP local ID if it's already been mapped to the IdP account identified by the federated ID.
-    "photoUrl": "A String", # The URI of the public accessible profiel picture.
-    "inputEmail": "A String", # It's the identifier param in the createAuthUri request if the identifier is an email. It can be used to check whether the user input email is different from the asserted email.
-    "verifiedProvider": [ # When action is 'map', contains the idps which can be used for confirmation.
-      "A String",
-    ],
-    "originalEmail": "A String", # The original email stored in the mapping storage. It's returned when the federated ID is associated to a different email.
-    "dateOfBirth": "A String", # The birth date of the IdP account.
-    "nickName": "A String", # The nick name of the user.
-    "email": "A String", # The email returned by the IdP. NOTE: The federated login user may not own the email.
-    "idToken": "A String", # The ID token.
-    "fullName": "A String", # The full name of the user.
-    "kind": "identitytoolkit#VerifyAssertionResponse", # The fixed string "identitytoolkit#VerifyAssertionResponse".
-    "displayName": "A String", # The display name of the user.
-    "firstName": "A String", # The first name of the user.
-    "language": "A String", # The language preference of the user.
-    "emailVerified": True or False, # The value is true if the IDP is also the email provider. It means the user owns the email.
-    "oauthScope": "A String", # The scope for the OpenID OAuth extension.
-    "oauthRequestToken": "A String", # The user approved request token for the OpenID OAuth extension.
-    "providerId": "A String", # The IdP ID. For white listed IdPs it's a short domain name e.g. google.com, aol.com, live.net and yahoo.com. If the "providerId" param is set to OpenID OP identifer other than the whilte listed IdPs the OP identifier is returned. If the "identifier" param is federated ID in the createAuthUri request. The domain part of the federated ID is returned.
-    "context": "A String", # The opaque value used by the client to maintain context info between the authentication request and the IDP callback.
-    "lastName": "A String", # The last name of the user.
-    "action": "A String", # The action code.
-    "timeZone": "A String", # The timezone of the user.
-    "emailRecycled": True or False, # It's true if the email is recycled.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="verifyPassword">verifyPassword(body)</code>
-  <pre>Verifies the user entered password.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Request to verify the password.
-    "password": "A String", # The password inputed by the user.
-    "email": "A String", # The email of the user.
-    "pendingIdToken": "A String", # The GITKit token for the non-trusted IDP, which is to be confirmed by the user.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Request of verifying the password.
-    "kind": "identitytoolkit#VerifyPasswordResponse", # The fixed string "identitytoolkit#VerifyPasswordResponse".
-    "displayName": "A String", # The name of the user.
-    "localId": "A String", # The RP local ID if it's already been mapped to the IdP account identified by the federated ID.
-    "idToken": "A String", # The GITKit token for authenticated user.
-    "registered": True or False, # Whether the email is registered.
-    "email": "A String", # The email returned by the IdP. NOTE: The federated login user may not own the email.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/latitude_v1.currentLocation.html b/docs/dyn/latitude_v1.currentLocation.html
deleted file mode 100644
index 51edf98..0000000
--- a/docs/dyn/latitude_v1.currentLocation.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="latitude_v1.html">Google Latitude API</a> . <a href="latitude_v1.currentLocation.html">currentLocation</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete()</a></code></p>
-<p class="firstline">Deletes the authenticated user's current location.</p>
-<p class="toc_element">
-  <code><a href="#get">get(granularity=None)</a></code></p>
-<p class="firstline">Returns the authenticated user's current location.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(body)</a></code></p>
-<p class="firstline">Updates or creates the user's current location.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete()</code>
-  <pre>Deletes the authenticated user's current location.
-
-Args:
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(granularity=None)</code>
-  <pre>Returns the authenticated user's current location.
-
-Args:
-  granularity: string, Granularity of the requested location.
-    Allowed values
-      best - Request best available granularity.
-      city - Request city-level granularty.
-
-Returns:
-  An object of the form:
-
-    { # A Location resource identifies a user's position at a particular time. It may include metadata about the user's position, such as a venue if the location was recorded at the time of a check-in.
-      "kind": "latitude#location", # Kind of this item.
-      "altitude": "", # Altitude of the location, in meters. Optional.
-      "longitude": "", # Longitude of the location, in decimal degrees.
-      "activityId": "", # Unique ID of the Buzz message that corresponds to the check-in associated with this location. Available only for check-in locations. Optional.
-      "latitude": "", # Latitude of the location, in decimal degrees.
-      "altitudeAccuracy": "", # Accuracy of the altitude value, in meters. Optional.
-      "timestampMs": "", # Timestamp of the Location Resource, in milliseconds since the epoch (UTC). This is also the Location Resource's unique id.
-      "speed": "", # Ground speed of the user at the time this location was recorded, in meters per second. Non-negative. Optional.
-      "heading": "", # Direction of travel of the user when this location was recorded. In degrees, clockwise relative to true north. Optional.
-      "accuracy": "", # Accuracy of the latitude and longitude coordinates, in non-negative meters. Optional.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(body)</code>
-  <pre>Updates or creates the user's current location.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A Location resource identifies a user's position at a particular time. It may include metadata about the user's position, such as a venue if the location was recorded at the time of a check-in.
-    "kind": "latitude#location", # Kind of this item.
-    "altitude": "", # Altitude of the location, in meters. Optional.
-    "longitude": "", # Longitude of the location, in decimal degrees.
-    "activityId": "", # Unique ID of the Buzz message that corresponds to the check-in associated with this location. Available only for check-in locations. Optional.
-    "latitude": "", # Latitude of the location, in decimal degrees.
-    "altitudeAccuracy": "", # Accuracy of the altitude value, in meters. Optional.
-    "timestampMs": "", # Timestamp of the Location Resource, in milliseconds since the epoch (UTC). This is also the Location Resource's unique id.
-    "speed": "", # Ground speed of the user at the time this location was recorded, in meters per second. Non-negative. Optional.
-    "heading": "", # Direction of travel of the user when this location was recorded. In degrees, clockwise relative to true north. Optional.
-    "accuracy": "", # Accuracy of the latitude and longitude coordinates, in non-negative meters. Optional.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A Location resource identifies a user's position at a particular time. It may include metadata about the user's position, such as a venue if the location was recorded at the time of a check-in.
-      "kind": "latitude#location", # Kind of this item.
-      "altitude": "", # Altitude of the location, in meters. Optional.
-      "longitude": "", # Longitude of the location, in decimal degrees.
-      "activityId": "", # Unique ID of the Buzz message that corresponds to the check-in associated with this location. Available only for check-in locations. Optional.
-      "latitude": "", # Latitude of the location, in decimal degrees.
-      "altitudeAccuracy": "", # Accuracy of the altitude value, in meters. Optional.
-      "timestampMs": "", # Timestamp of the Location Resource, in milliseconds since the epoch (UTC). This is also the Location Resource's unique id.
-      "speed": "", # Ground speed of the user at the time this location was recorded, in meters per second. Non-negative. Optional.
-      "heading": "", # Direction of travel of the user when this location was recorded. In degrees, clockwise relative to true north. Optional.
-      "accuracy": "", # Accuracy of the latitude and longitude coordinates, in non-negative meters. Optional.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/latitude_v1.html b/docs/dyn/latitude_v1.html
deleted file mode 100644
index 8de4b31..0000000
--- a/docs/dyn/latitude_v1.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="latitude_v1.html">Google Latitude API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="latitude_v1.currentLocation.html">currentLocation()</a></code>
-</p>
-<p class="firstline">Returns the currentLocation Resource.</p>
-
-<p class="toc_element">
-  <code><a href="latitude_v1.location.html">location()</a></code>
-</p>
-<p class="firstline">Returns the location Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/latitude_v1.location.html b/docs/dyn/latitude_v1.location.html
deleted file mode 100644
index ca84101..0000000
--- a/docs/dyn/latitude_v1.location.html
+++ /dev/null
@@ -1,201 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="latitude_v1.html">Google Latitude API</a> . <a href="latitude_v1.location.html">location</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(locationId)</a></code></p>
-<p class="firstline">Deletes a location from the user's location history.</p>
-<p class="toc_element">
-  <code><a href="#get">get(locationId, granularity=None)</a></code></p>
-<p class="firstline">Reads a location from the user's location history.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(body)</a></code></p>
-<p class="firstline">Inserts or updates a location in the user's location history.</p>
-<p class="toc_element">
-  <code><a href="#list">list(min_time=None, max_results=None, granularity=None, max_time=None)</a></code></p>
-<p class="firstline">Lists the user's location history.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(locationId)</code>
-  <pre>Deletes a location from the user's location history.
-
-Args:
-  locationId: string, Timestamp of the location to delete (ms since epoch). (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(locationId, granularity=None)</code>
-  <pre>Reads a location from the user's location history.
-
-Args:
-  locationId: string, Timestamp of the location to read (ms since epoch). (required)
-  granularity: string, Granularity of the location to return.
-    Allowed values
-      best - Request best available granularity.
-      city - Request city-level granularty.
-
-Returns:
-  An object of the form:
-
-    { # A Location resource identifies a user's position at a particular time. It may include metadata about the user's position, such as a venue if the location was recorded at the time of a check-in.
-    "kind": "latitude#location", # Kind of this item.
-    "altitude": "", # Altitude of the location, in meters. Optional.
-    "longitude": "", # Longitude of the location, in decimal degrees.
-    "activityId": "", # Unique ID of the Buzz message that corresponds to the check-in associated with this location. Available only for check-in locations. Optional.
-    "latitude": "", # Latitude of the location, in decimal degrees.
-    "altitudeAccuracy": "", # Accuracy of the altitude value, in meters. Optional.
-    "timestampMs": "", # Timestamp of the Location Resource, in milliseconds since the epoch (UTC). This is also the Location Resource's unique id.
-    "speed": "", # Ground speed of the user at the time this location was recorded, in meters per second. Non-negative. Optional.
-    "heading": "", # Direction of travel of the user when this location was recorded. In degrees, clockwise relative to true north. Optional.
-    "accuracy": "", # Accuracy of the latitude and longitude coordinates, in non-negative meters. Optional.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(body)</code>
-  <pre>Inserts or updates a location in the user's location history.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A Location resource identifies a user's position at a particular time. It may include metadata about the user's position, such as a venue if the location was recorded at the time of a check-in.
-  "kind": "latitude#location", # Kind of this item.
-  "altitude": "", # Altitude of the location, in meters. Optional.
-  "longitude": "", # Longitude of the location, in decimal degrees.
-  "activityId": "", # Unique ID of the Buzz message that corresponds to the check-in associated with this location. Available only for check-in locations. Optional.
-  "latitude": "", # Latitude of the location, in decimal degrees.
-  "altitudeAccuracy": "", # Accuracy of the altitude value, in meters. Optional.
-  "timestampMs": "", # Timestamp of the Location Resource, in milliseconds since the epoch (UTC). This is also the Location Resource's unique id.
-  "speed": "", # Ground speed of the user at the time this location was recorded, in meters per second. Non-negative. Optional.
-  "heading": "", # Direction of travel of the user when this location was recorded. In degrees, clockwise relative to true north. Optional.
-  "accuracy": "", # Accuracy of the latitude and longitude coordinates, in non-negative meters. Optional.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # A Location resource identifies a user's position at a particular time. It may include metadata about the user's position, such as a venue if the location was recorded at the time of a check-in.
-    "kind": "latitude#location", # Kind of this item.
-    "altitude": "", # Altitude of the location, in meters. Optional.
-    "longitude": "", # Longitude of the location, in decimal degrees.
-    "activityId": "", # Unique ID of the Buzz message that corresponds to the check-in associated with this location. Available only for check-in locations. Optional.
-    "latitude": "", # Latitude of the location, in decimal degrees.
-    "altitudeAccuracy": "", # Accuracy of the altitude value, in meters. Optional.
-    "timestampMs": "", # Timestamp of the Location Resource, in milliseconds since the epoch (UTC). This is also the Location Resource's unique id.
-    "speed": "", # Ground speed of the user at the time this location was recorded, in meters per second. Non-negative. Optional.
-    "heading": "", # Direction of travel of the user when this location was recorded. In degrees, clockwise relative to true north. Optional.
-    "accuracy": "", # Accuracy of the latitude and longitude coordinates, in non-negative meters. Optional.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(min_time=None, max_results=None, granularity=None, max_time=None)</code>
-  <pre>Lists the user's location history.
-
-Args:
-  min_time: string, Minimum timestamp of locations to return (ms since epoch).
-  max_results: string, Maximum number of locations to return.
-  granularity: string, Granularity of the requested locations.
-    Allowed values
-      best - Request best available granularity.
-      city - Request city-level granularty.
-  max_time: string, Maximum timestamp of locations to return (ms since epoch).
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [
-      { # A Location resource identifies a user's position at a particular time. It may include metadata about the user's position, such as a venue if the location was recorded at the time of a check-in.
-        "kind": "latitude#location", # Kind of this item.
-        "altitude": "", # Altitude of the location, in meters. Optional.
-        "longitude": "", # Longitude of the location, in decimal degrees.
-        "activityId": "", # Unique ID of the Buzz message that corresponds to the check-in associated with this location. Available only for check-in locations. Optional.
-        "latitude": "", # Latitude of the location, in decimal degrees.
-        "altitudeAccuracy": "", # Accuracy of the altitude value, in meters. Optional.
-        "timestampMs": "", # Timestamp of the Location Resource, in milliseconds since the epoch (UTC). This is also the Location Resource's unique id.
-        "speed": "", # Ground speed of the user at the time this location was recorded, in meters per second. Non-negative. Optional.
-        "heading": "", # Direction of travel of the user when this location was recorded. In degrees, clockwise relative to true north. Optional.
-        "accuracy": "", # Accuracy of the latitude and longitude coordinates, in non-negative meters. Optional.
-      },
-    ],
-    "kind": "latitude#locationFeed",
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/licensing_v1.html b/docs/dyn/licensing_v1.html
deleted file mode 100644
index ab4efbb..0000000
--- a/docs/dyn/licensing_v1.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="licensing_v1.html">Enterprise License Manager API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="licensing_v1.licenseAssignments.html">licenseAssignments()</a></code>
-</p>
-<p class="firstline">Returns the licenseAssignments Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/licensing_v1.licenseAssignments.html b/docs/dyn/licensing_v1.licenseAssignments.html
deleted file mode 100644
index c0df2a5..0000000
--- a/docs/dyn/licensing_v1.licenseAssignments.html
+++ /dev/null
@@ -1,323 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="licensing_v1.html">Enterprise License Manager API</a> . <a href="licensing_v1.licenseAssignments.html">licenseAssignments</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(productId, skuId, userId)</a></code></p>
-<p class="firstline">Revoke License.</p>
-<p class="toc_element">
-  <code><a href="#get">get(productId, skuId, userId)</a></code></p>
-<p class="firstline">Get license assignment of a particular product and sku for a user</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(productId, skuId, body)</a></code></p>
-<p class="firstline">Assign License.</p>
-<p class="toc_element">
-  <code><a href="#listForProduct">listForProduct(productId, customerId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List license assignments for given product of the customer.</p>
-<p class="toc_element">
-  <code><a href="#listForProductAndSku">listForProductAndSku(productId, skuId, customerId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List license assignments for given product and sku of the customer.</p>
-<p class="toc_element">
-  <code><a href="#listForProductAndSku_next">listForProductAndSku_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#listForProduct_next">listForProduct_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(productId, skuId, userId, body)</a></code></p>
-<p class="firstline">Assign License. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(productId, skuId, userId, body)</a></code></p>
-<p class="firstline">Assign License.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(productId, skuId, userId)</code>
-  <pre>Revoke License.
-
-Args:
-  productId: string, Name for product (required)
-  skuId: string, Name for sku (required)
-  userId: string, email id or unique Id of the user (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(productId, skuId, userId)</code>
-  <pre>Get license assignment of a particular product and sku for a user
-
-Args:
-  productId: string, Name for product (required)
-  skuId: string, Name for sku (required)
-  userId: string, email id or unique Id of the user (required)
-
-Returns:
-  An object of the form:
-
-    { # Template for LiscenseAssignment Resource
-    "skuId": "A String", # Name of the sku of the product.
-    "kind": "licensing#licenseAssignment", # Identifies the resource as a LicenseAssignment.
-    "userId": "A String", # Email id of the user.
-    "etags": "A String", # ETag of the resource.
-    "selfLink": "A String", # Link to this page.
-    "productId": "A String", # Name of the product.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(productId, skuId, body)</code>
-  <pre>Assign License.
-
-Args:
-  productId: string, Name for product (required)
-  skuId: string, Name for sku (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Template for LicenseAssignment Insert request
-    "userId": "A String", # Email id of the user
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Template for LiscenseAssignment Resource
-    "skuId": "A String", # Name of the sku of the product.
-    "kind": "licensing#licenseAssignment", # Identifies the resource as a LicenseAssignment.
-    "userId": "A String", # Email id of the user.
-    "etags": "A String", # ETag of the resource.
-    "selfLink": "A String", # Link to this page.
-    "productId": "A String", # Name of the product.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="listForProduct">listForProduct(productId, customerId, pageToken=None, maxResults=None)</code>
-  <pre>List license assignments for given product of the customer.
-
-Args:
-  productId: string, Name for product (required)
-  customerId: string, CustomerId represents the customer for whom licenseassignments are queried (required)
-  pageToken: string, Token to fetch the next page.Optional. By default server will return first page
-  maxResults: integer, Maximum number of campaigns to return at one time. Must be positive. Optional. Default value is 100.
-
-Returns:
-  An object of the form:
-
-    { # LicesnseAssignment List for a given product/sku for a customer.
-    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
-    "items": [ # The LicenseAssignments in this page of results.
-      { # Template for LiscenseAssignment Resource
-        "skuId": "A String", # Name of the sku of the product.
-        "kind": "licensing#licenseAssignment", # Identifies the resource as a LicenseAssignment.
-        "userId": "A String", # Email id of the user.
-        "etags": "A String", # ETag of the resource.
-        "selfLink": "A String", # Link to this page.
-        "productId": "A String", # Name of the product.
-      },
-    ],
-    "kind": "licensing#licenseAssignmentList", # Identifies the resource as a collection of LicenseAssignments.
-    "etag": "A String", # ETag of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="listForProductAndSku">listForProductAndSku(productId, skuId, customerId, pageToken=None, maxResults=None)</code>
-  <pre>List license assignments for given product and sku of the customer.
-
-Args:
-  productId: string, Name for product (required)
-  skuId: string, Name for sku (required)
-  customerId: string, CustomerId represents the customer for whom licenseassignments are queried (required)
-  pageToken: string, Token to fetch the next page.Optional. By default server will return first page
-  maxResults: integer, Maximum number of campaigns to return at one time. Must be positive. Optional. Default value is 100.
-
-Returns:
-  An object of the form:
-
-    { # LicesnseAssignment List for a given product/sku for a customer.
-    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
-    "items": [ # The LicenseAssignments in this page of results.
-      { # Template for LiscenseAssignment Resource
-        "skuId": "A String", # Name of the sku of the product.
-        "kind": "licensing#licenseAssignment", # Identifies the resource as a LicenseAssignment.
-        "userId": "A String", # Email id of the user.
-        "etags": "A String", # ETag of the resource.
-        "selfLink": "A String", # Link to this page.
-        "productId": "A String", # Name of the product.
-      },
-    ],
-    "kind": "licensing#licenseAssignmentList", # Identifies the resource as a collection of LicenseAssignments.
-    "etag": "A String", # ETag of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="listForProductAndSku_next">listForProductAndSku_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="listForProduct_next">listForProduct_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(productId, skuId, userId, body)</code>
-  <pre>Assign License. This method supports patch semantics.
-
-Args:
-  productId: string, Name for product (required)
-  skuId: string, Name for sku for which license would be revoked (required)
-  userId: string, email id or unique Id of the user (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Template for LiscenseAssignment Resource
-  "skuId": "A String", # Name of the sku of the product.
-  "kind": "licensing#licenseAssignment", # Identifies the resource as a LicenseAssignment.
-  "userId": "A String", # Email id of the user.
-  "etags": "A String", # ETag of the resource.
-  "selfLink": "A String", # Link to this page.
-  "productId": "A String", # Name of the product.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # Template for LiscenseAssignment Resource
-    "skuId": "A String", # Name of the sku of the product.
-    "kind": "licensing#licenseAssignment", # Identifies the resource as a LicenseAssignment.
-    "userId": "A String", # Email id of the user.
-    "etags": "A String", # ETag of the resource.
-    "selfLink": "A String", # Link to this page.
-    "productId": "A String", # Name of the product.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(productId, skuId, userId, body)</code>
-  <pre>Assign License.
-
-Args:
-  productId: string, Name for product (required)
-  skuId: string, Name for sku for which license would be revoked (required)
-  userId: string, email id or unique Id of the user (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Template for LiscenseAssignment Resource
-  "skuId": "A String", # Name of the sku of the product.
-  "kind": "licensing#licenseAssignment", # Identifies the resource as a LicenseAssignment.
-  "userId": "A String", # Email id of the user.
-  "etags": "A String", # ETag of the resource.
-  "selfLink": "A String", # Link to this page.
-  "productId": "A String", # Name of the product.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # Template for LiscenseAssignment Resource
-    "skuId": "A String", # Name of the sku of the product.
-    "kind": "licensing#licenseAssignment", # Identifies the resource as a LicenseAssignment.
-    "userId": "A String", # Email id of the user.
-    "etags": "A String", # ETag of the resource.
-    "selfLink": "A String", # Link to this page.
-    "productId": "A String", # Name of the product.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mirror_v1.contacts.html b/docs/dyn/mirror_v1.contacts.html
deleted file mode 100644
index dc73645..0000000
--- a/docs/dyn/mirror_v1.contacts.html
+++ /dev/null
@@ -1,316 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="mirror_v1.html">Google Mirror API</a> . <a href="mirror_v1.contacts.html">contacts</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(id)</a></code></p>
-<p class="firstline">Deletes a contact.</p>
-<p class="toc_element">
-  <code><a href="#get">get(id)</a></code></p>
-<p class="firstline">Gets a single contact by ID.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(body)</a></code></p>
-<p class="firstline">Inserts a new contact.</p>
-<p class="toc_element">
-  <code><a href="#list">list()</a></code></p>
-<p class="firstline">Retrieves a list of contacts for the authenticated user.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(id, body)</a></code></p>
-<p class="firstline">Updates a contact in place. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(id, body)</a></code></p>
-<p class="firstline">Updates a contact in place.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(id)</code>
-  <pre>Deletes a contact.
-
-Args:
-  id: string, The ID of the contact. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(id)</code>
-  <pre>Gets a single contact by ID.
-
-Args:
-  id: string, The ID of the contact. (required)
-
-Returns:
-  An object of the form:
-
-    { # A person or group that can be used as a creator or a contact.
-      "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-      "displayName": "A String", # The name to display for this contact.
-      "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-        "A String",
-      ],
-      "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-          # - INDIVIDUAL - Represents a single person. This is the default.
-          # - GROUP - Represents more than a single person.
-      "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-      "source": "A String", # The ID of the application that created this contact. This is populated by the API
-      "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-      "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-        "A String",
-      ],
-      "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(body)</code>
-  <pre>Inserts a new contact.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A person or group that can be used as a creator or a contact.
-    "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-    "displayName": "A String", # The name to display for this contact.
-    "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-      "A String",
-    ],
-    "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-        # - INDIVIDUAL - Represents a single person. This is the default.
-        # - GROUP - Represents more than a single person.
-    "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-    "source": "A String", # The ID of the application that created this contact. This is populated by the API
-    "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-    "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-      "A String",
-    ],
-    "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A person or group that can be used as a creator or a contact.
-      "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-      "displayName": "A String", # The name to display for this contact.
-      "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-        "A String",
-      ],
-      "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-          # - INDIVIDUAL - Represents a single person. This is the default.
-          # - GROUP - Represents more than a single person.
-      "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-      "source": "A String", # The ID of the application that created this contact. This is populated by the API
-      "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-      "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-        "A String",
-      ],
-      "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list()</code>
-  <pre>Retrieves a list of contacts for the authenticated user.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    { # A list of Contacts representing contacts. This is the response from the server to GET requests on the contacts collection.
-    "items": [ # Contact list.
-      { # A person or group that can be used as a creator or a contact.
-          "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-          "displayName": "A String", # The name to display for this contact.
-          "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-            "A String",
-          ],
-          "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-              # - INDIVIDUAL - Represents a single person. This is the default.
-              # - GROUP - Represents more than a single person.
-          "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-          "source": "A String", # The ID of the application that created this contact. This is populated by the API
-          "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-          "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-            "A String",
-          ],
-          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-        },
-    ],
-    "kind": "mirror#contacts", # The type of resource. This is always mirror#contacts.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(id, body)</code>
-  <pre>Updates a contact in place. This method supports patch semantics.
-
-Args:
-  id: string, The ID of the contact. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A person or group that can be used as a creator or a contact.
-    "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-    "displayName": "A String", # The name to display for this contact.
-    "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-      "A String",
-    ],
-    "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-        # - INDIVIDUAL - Represents a single person. This is the default.
-        # - GROUP - Represents more than a single person.
-    "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-    "source": "A String", # The ID of the application that created this contact. This is populated by the API
-    "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-    "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-      "A String",
-    ],
-    "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A person or group that can be used as a creator or a contact.
-      "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-      "displayName": "A String", # The name to display for this contact.
-      "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-        "A String",
-      ],
-      "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-          # - INDIVIDUAL - Represents a single person. This is the default.
-          # - GROUP - Represents more than a single person.
-      "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-      "source": "A String", # The ID of the application that created this contact. This is populated by the API
-      "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-      "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-        "A String",
-      ],
-      "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(id, body)</code>
-  <pre>Updates a contact in place.
-
-Args:
-  id: string, The ID of the contact. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A person or group that can be used as a creator or a contact.
-    "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-    "displayName": "A String", # The name to display for this contact.
-    "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-      "A String",
-    ],
-    "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-        # - INDIVIDUAL - Represents a single person. This is the default.
-        # - GROUP - Represents more than a single person.
-    "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-    "source": "A String", # The ID of the application that created this contact. This is populated by the API
-    "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-    "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-      "A String",
-    ],
-    "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A person or group that can be used as a creator or a contact.
-      "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-      "displayName": "A String", # The name to display for this contact.
-      "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-        "A String",
-      ],
-      "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-          # - INDIVIDUAL - Represents a single person. This is the default.
-          # - GROUP - Represents more than a single person.
-      "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-      "source": "A String", # The ID of the application that created this contact. This is populated by the API
-      "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-      "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-        "A String",
-      ],
-      "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mirror_v1.html b/docs/dyn/mirror_v1.html
deleted file mode 100644
index 487a745..0000000
--- a/docs/dyn/mirror_v1.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="mirror_v1.html">Google Mirror API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="mirror_v1.contacts.html">contacts()</a></code>
-</p>
-<p class="firstline">Returns the contacts Resource.</p>
-
-<p class="toc_element">
-  <code><a href="mirror_v1.locations.html">locations()</a></code>
-</p>
-<p class="firstline">Returns the locations Resource.</p>
-
-<p class="toc_element">
-  <code><a href="mirror_v1.subscriptions.html">subscriptions()</a></code>
-</p>
-<p class="firstline">Returns the subscriptions Resource.</p>
-
-<p class="toc_element">
-  <code><a href="mirror_v1.timeline.html">timeline()</a></code>
-</p>
-<p class="firstline">Returns the timeline Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mirror_v1.locations.html b/docs/dyn/mirror_v1.locations.html
deleted file mode 100644
index f43929e..0000000
--- a/docs/dyn/mirror_v1.locations.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="mirror_v1.html">Google Mirror API</a> . <a href="mirror_v1.locations.html">locations</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(id)</a></code></p>
-<p class="firstline">Gets a single location by ID.</p>
-<p class="toc_element">
-  <code><a href="#list">list()</a></code></p>
-<p class="firstline">Retrieves a list of locations for the user.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(id)</code>
-  <pre>Gets a single location by ID.
-
-Args:
-  id: string, The ID of the location or latest for the last known location. (required)
-
-Returns:
-  An object of the form:
-
-    { # A geographic location that can be associated with a timeline item.
-    "kind": "mirror#location", # The type of resource. This is always mirror#location.
-    "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
-    "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
-    "longitude": 3.14, # The longitude, in degrees.
-    "address": "A String", # The full address of the location.
-    "latitude": 3.14, # The latitude, in degrees.
-    "id": "A String", # The ID of the location.
-    "accuracy": 3.14, # The accuracy of the location fix in meters.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list()</code>
-  <pre>Retrieves a list of locations for the user.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    { # A list of Locations. This is the response from the server to GET requests on the locations collection.
-    "items": [ # The list of locations.
-      { # A geographic location that can be associated with a timeline item.
-        "kind": "mirror#location", # The type of resource. This is always mirror#location.
-        "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
-        "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
-        "longitude": 3.14, # The longitude, in degrees.
-        "address": "A String", # The full address of the location.
-        "latitude": 3.14, # The latitude, in degrees.
-        "id": "A String", # The ID of the location.
-        "accuracy": 3.14, # The accuracy of the location fix in meters.
-      },
-    ],
-    "kind": "mirror#locationsList", # The type of resource. This is always mirror#locationsList.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mirror_v1.subscriptions.html b/docs/dyn/mirror_v1.subscriptions.html
deleted file mode 100644
index 56ade50..0000000
--- a/docs/dyn/mirror_v1.subscriptions.html
+++ /dev/null
@@ -1,346 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="mirror_v1.html">Google Mirror API</a> . <a href="mirror_v1.subscriptions.html">subscriptions</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(id)</a></code></p>
-<p class="firstline">Deletes a subscription.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(body)</a></code></p>
-<p class="firstline">Creates a new subscription.</p>
-<p class="toc_element">
-  <code><a href="#list">list()</a></code></p>
-<p class="firstline">Retrieves a list of subscriptions for the authenticated user and service.</p>
-<p class="toc_element">
-  <code><a href="#update">update(id, body)</a></code></p>
-<p class="firstline">Updates an existing subscription in place.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(id)</code>
-  <pre>Deletes a subscription.
-
-Args:
-  id: string, The ID of the subscription. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(body)</code>
-  <pre>Creates a new subscription.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A subscription to events on a collection.
-    "kind": "mirror#subscription", # The type of resource. This is always mirror#subscription.
-    "notification": { # A notification delivered by the API. # Container object for notifications. This is not populated in the Subscription resource.
-      "itemId": "A String", # The ID of the item that generated the notification.
-      "collection": "A String", # The collection that generated the notification.
-      "verifyToken": "A String", # The secret verify token provided by the service when it subscribed for notifications.
-      "userToken": "A String", # The user token provided by the service when it subscribed for notifications.
-      "userActions": [ # A list of actions taken by the user that triggered the notification.
-        { # Represents an action taken by the user that triggered a notification.
-          "type": "A String", # The type of action. The value of this can be:
-              # - SHARE - the user shared an item.
-              # - REPLY - the user replied to an item.
-              # - REPLY_ALL - the user replied to all recipients of an item.
-              # - CUSTOM - the user selected a custom menu item on the timeline item.
-              # - DELETE - the user deleted the item.
-              # - PIN - the user pinned the item.
-              # - UNPIN - the user unpinned the item.  In the future, additional types may be added. UserActions with unrecognized types should be ignored.
-          "payload": "A String", # An optional payload for the action.
-              #
-              # For actions of type CUSTOM, this is the ID of the custom menu item that was selected.
-        },
-      ],
-      "operation": "A String", # The type of operation that generated the notification.
-    },
-    "updated": "A String", # The time at which this subscription was last modified, formatted according to RFC 3339.
-    "collection": "A String", # The collection to subscribe to. Allowed values are:
-        # - timeline - Changes in the timeline including insertion, deletion, and updates.
-        # - locations - Location updates.
-    "verifyToken": "A String", # A secret token sent to the subscriber in notifications so that it can verify that the notification was generated by Google.
-    "userToken": "A String", # An opaque token sent to the subscriber in notifications so that it can determine the ID of the user.
-    "operation": [ # A list of operations that should be subscribed to. An empty list indicates that all operations on the collection should be subscribed to. Allowed values are:
-        # - UPDATE - The item has been updated.
-        # - INSERT - A new item has been inserted.
-        # - DELETE - The item has been deleted.
-        # - MENU_ACTION - A custom menu item has been triggered by the user.
-      "A String",
-    ],
-    "id": "A String", # The ID of the subscription.
-    "callbackUrl": "A String", # The URL where notifications should be delivered (must start with https://).
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A subscription to events on a collection.
-      "kind": "mirror#subscription", # The type of resource. This is always mirror#subscription.
-      "notification": { # A notification delivered by the API. # Container object for notifications. This is not populated in the Subscription resource.
-        "itemId": "A String", # The ID of the item that generated the notification.
-        "collection": "A String", # The collection that generated the notification.
-        "verifyToken": "A String", # The secret verify token provided by the service when it subscribed for notifications.
-        "userToken": "A String", # The user token provided by the service when it subscribed for notifications.
-        "userActions": [ # A list of actions taken by the user that triggered the notification.
-          { # Represents an action taken by the user that triggered a notification.
-            "type": "A String", # The type of action. The value of this can be:
-                # - SHARE - the user shared an item.
-                # - REPLY - the user replied to an item.
-                # - REPLY_ALL - the user replied to all recipients of an item.
-                # - CUSTOM - the user selected a custom menu item on the timeline item.
-                # - DELETE - the user deleted the item.
-                # - PIN - the user pinned the item.
-                # - UNPIN - the user unpinned the item.  In the future, additional types may be added. UserActions with unrecognized types should be ignored.
-            "payload": "A String", # An optional payload for the action.
-                #
-                # For actions of type CUSTOM, this is the ID of the custom menu item that was selected.
-          },
-        ],
-        "operation": "A String", # The type of operation that generated the notification.
-      },
-      "updated": "A String", # The time at which this subscription was last modified, formatted according to RFC 3339.
-      "collection": "A String", # The collection to subscribe to. Allowed values are:
-          # - timeline - Changes in the timeline including insertion, deletion, and updates.
-          # - locations - Location updates.
-      "verifyToken": "A String", # A secret token sent to the subscriber in notifications so that it can verify that the notification was generated by Google.
-      "userToken": "A String", # An opaque token sent to the subscriber in notifications so that it can determine the ID of the user.
-      "operation": [ # A list of operations that should be subscribed to. An empty list indicates that all operations on the collection should be subscribed to. Allowed values are:
-          # - UPDATE - The item has been updated.
-          # - INSERT - A new item has been inserted.
-          # - DELETE - The item has been deleted.
-          # - MENU_ACTION - A custom menu item has been triggered by the user.
-        "A String",
-      ],
-      "id": "A String", # The ID of the subscription.
-      "callbackUrl": "A String", # The URL where notifications should be delivered (must start with https://).
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list()</code>
-  <pre>Retrieves a list of subscriptions for the authenticated user and service.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    { # A list of Subscriptions. This is the response from the server to GET requests on the subscription collection.
-    "items": [ # The list of subscriptions.
-      { # A subscription to events on a collection.
-          "kind": "mirror#subscription", # The type of resource. This is always mirror#subscription.
-          "notification": { # A notification delivered by the API. # Container object for notifications. This is not populated in the Subscription resource.
-            "itemId": "A String", # The ID of the item that generated the notification.
-            "collection": "A String", # The collection that generated the notification.
-            "verifyToken": "A String", # The secret verify token provided by the service when it subscribed for notifications.
-            "userToken": "A String", # The user token provided by the service when it subscribed for notifications.
-            "userActions": [ # A list of actions taken by the user that triggered the notification.
-              { # Represents an action taken by the user that triggered a notification.
-                "type": "A String", # The type of action. The value of this can be:
-                    # - SHARE - the user shared an item.
-                    # - REPLY - the user replied to an item.
-                    # - REPLY_ALL - the user replied to all recipients of an item.
-                    # - CUSTOM - the user selected a custom menu item on the timeline item.
-                    # - DELETE - the user deleted the item.
-                    # - PIN - the user pinned the item.
-                    # - UNPIN - the user unpinned the item.  In the future, additional types may be added. UserActions with unrecognized types should be ignored.
-                "payload": "A String", # An optional payload for the action.
-                    #
-                    # For actions of type CUSTOM, this is the ID of the custom menu item that was selected.
-              },
-            ],
-            "operation": "A String", # The type of operation that generated the notification.
-          },
-          "updated": "A String", # The time at which this subscription was last modified, formatted according to RFC 3339.
-          "collection": "A String", # The collection to subscribe to. Allowed values are:
-              # - timeline - Changes in the timeline including insertion, deletion, and updates.
-              # - locations - Location updates.
-          "verifyToken": "A String", # A secret token sent to the subscriber in notifications so that it can verify that the notification was generated by Google.
-          "userToken": "A String", # An opaque token sent to the subscriber in notifications so that it can determine the ID of the user.
-          "operation": [ # A list of operations that should be subscribed to. An empty list indicates that all operations on the collection should be subscribed to. Allowed values are:
-              # - UPDATE - The item has been updated.
-              # - INSERT - A new item has been inserted.
-              # - DELETE - The item has been deleted.
-              # - MENU_ACTION - A custom menu item has been triggered by the user.
-            "A String",
-          ],
-          "id": "A String", # The ID of the subscription.
-          "callbackUrl": "A String", # The URL where notifications should be delivered (must start with https://).
-        },
-    ],
-    "kind": "mirror#subscriptionsList", # The type of resource. This is always mirror#subscriptionsList.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(id, body)</code>
-  <pre>Updates an existing subscription in place.
-
-Args:
-  id: string, The ID of the subscription. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A subscription to events on a collection.
-    "kind": "mirror#subscription", # The type of resource. This is always mirror#subscription.
-    "notification": { # A notification delivered by the API. # Container object for notifications. This is not populated in the Subscription resource.
-      "itemId": "A String", # The ID of the item that generated the notification.
-      "collection": "A String", # The collection that generated the notification.
-      "verifyToken": "A String", # The secret verify token provided by the service when it subscribed for notifications.
-      "userToken": "A String", # The user token provided by the service when it subscribed for notifications.
-      "userActions": [ # A list of actions taken by the user that triggered the notification.
-        { # Represents an action taken by the user that triggered a notification.
-          "type": "A String", # The type of action. The value of this can be:
-              # - SHARE - the user shared an item.
-              # - REPLY - the user replied to an item.
-              # - REPLY_ALL - the user replied to all recipients of an item.
-              # - CUSTOM - the user selected a custom menu item on the timeline item.
-              # - DELETE - the user deleted the item.
-              # - PIN - the user pinned the item.
-              # - UNPIN - the user unpinned the item.  In the future, additional types may be added. UserActions with unrecognized types should be ignored.
-          "payload": "A String", # An optional payload for the action.
-              #
-              # For actions of type CUSTOM, this is the ID of the custom menu item that was selected.
-        },
-      ],
-      "operation": "A String", # The type of operation that generated the notification.
-    },
-    "updated": "A String", # The time at which this subscription was last modified, formatted according to RFC 3339.
-    "collection": "A String", # The collection to subscribe to. Allowed values are:
-        # - timeline - Changes in the timeline including insertion, deletion, and updates.
-        # - locations - Location updates.
-    "verifyToken": "A String", # A secret token sent to the subscriber in notifications so that it can verify that the notification was generated by Google.
-    "userToken": "A String", # An opaque token sent to the subscriber in notifications so that it can determine the ID of the user.
-    "operation": [ # A list of operations that should be subscribed to. An empty list indicates that all operations on the collection should be subscribed to. Allowed values are:
-        # - UPDATE - The item has been updated.
-        # - INSERT - A new item has been inserted.
-        # - DELETE - The item has been deleted.
-        # - MENU_ACTION - A custom menu item has been triggered by the user.
-      "A String",
-    ],
-    "id": "A String", # The ID of the subscription.
-    "callbackUrl": "A String", # The URL where notifications should be delivered (must start with https://).
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A subscription to events on a collection.
-      "kind": "mirror#subscription", # The type of resource. This is always mirror#subscription.
-      "notification": { # A notification delivered by the API. # Container object for notifications. This is not populated in the Subscription resource.
-        "itemId": "A String", # The ID of the item that generated the notification.
-        "collection": "A String", # The collection that generated the notification.
-        "verifyToken": "A String", # The secret verify token provided by the service when it subscribed for notifications.
-        "userToken": "A String", # The user token provided by the service when it subscribed for notifications.
-        "userActions": [ # A list of actions taken by the user that triggered the notification.
-          { # Represents an action taken by the user that triggered a notification.
-            "type": "A String", # The type of action. The value of this can be:
-                # - SHARE - the user shared an item.
-                # - REPLY - the user replied to an item.
-                # - REPLY_ALL - the user replied to all recipients of an item.
-                # - CUSTOM - the user selected a custom menu item on the timeline item.
-                # - DELETE - the user deleted the item.
-                # - PIN - the user pinned the item.
-                # - UNPIN - the user unpinned the item.  In the future, additional types may be added. UserActions with unrecognized types should be ignored.
-            "payload": "A String", # An optional payload for the action.
-                #
-                # For actions of type CUSTOM, this is the ID of the custom menu item that was selected.
-          },
-        ],
-        "operation": "A String", # The type of operation that generated the notification.
-      },
-      "updated": "A String", # The time at which this subscription was last modified, formatted according to RFC 3339.
-      "collection": "A String", # The collection to subscribe to. Allowed values are:
-          # - timeline - Changes in the timeline including insertion, deletion, and updates.
-          # - locations - Location updates.
-      "verifyToken": "A String", # A secret token sent to the subscriber in notifications so that it can verify that the notification was generated by Google.
-      "userToken": "A String", # An opaque token sent to the subscriber in notifications so that it can determine the ID of the user.
-      "operation": [ # A list of operations that should be subscribed to. An empty list indicates that all operations on the collection should be subscribed to. Allowed values are:
-          # - UPDATE - The item has been updated.
-          # - INSERT - A new item has been inserted.
-          # - DELETE - The item has been deleted.
-          # - MENU_ACTION - A custom menu item has been triggered by the user.
-        "A String",
-      ],
-      "id": "A String", # The ID of the subscription.
-      "callbackUrl": "A String", # The URL where notifications should be delivered (must start with https://).
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mirror_v1.timeline.attachments.html b/docs/dyn/mirror_v1.timeline.attachments.html
deleted file mode 100644
index 4684465..0000000
--- a/docs/dyn/mirror_v1.timeline.attachments.html
+++ /dev/null
@@ -1,178 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="mirror_v1.html">Google Mirror API</a> . <a href="mirror_v1.timeline.html">timeline</a> . <a href="mirror_v1.timeline.attachments.html">attachments</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(itemId, attachmentId)</a></code></p>
-<p class="firstline">Deletes an attachment from a timeline item.</p>
-<p class="toc_element">
-  <code><a href="#get">get(itemId, attachmentId)</a></code></p>
-<p class="firstline">Retrieves an attachment on a timeline item by item ID and attachment ID.</p>
-<p class="toc_element">
-  <code><a href="#get_media">get_media(itemId, attachmentId)</a></code></p>
-<p class="firstline">Retrieves an attachment on a timeline item by item ID and attachment ID.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(itemId, media_body=None)</a></code></p>
-<p class="firstline">Adds a new attachment to a timeline item.</p>
-<p class="toc_element">
-  <code><a href="#list">list(itemId)</a></code></p>
-<p class="firstline">Returns a list of attachments for a timeline item.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(itemId, attachmentId)</code>
-  <pre>Deletes an attachment from a timeline item.
-
-Args:
-  itemId: string, The ID of the timeline item the attachment belongs to. (required)
-  attachmentId: string, The ID of the attachment. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(itemId, attachmentId)</code>
-  <pre>Retrieves an attachment on a timeline item by item ID and attachment ID.
-
-Args:
-  itemId: string, The ID of the timeline item the attachment belongs to. (required)
-  attachmentId: string, The ID of the attachment. (required)
-
-Returns:
-  An object of the form:
-
-    { # Represents media content, such as a photo, that can be attached to a timeline item.
-    "contentUrl": "A String", # The URL for the content.
-    "contentType": "A String", # The MIME type of the attachment.
-    "id": "A String", # The ID of the attachment.
-    "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get_media">get_media(itemId, attachmentId)</code>
-  <pre>Retrieves an attachment on a timeline item by item ID and attachment ID.
-
-Args:
-  itemId: string, The ID of the timeline item the attachment belongs to. (required)
-  attachmentId: string, The ID of the attachment. (required)
-
-Returns:
-  The media object as a string.
-
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(itemId, media_body=None)</code>
-  <pre>Adds a new attachment to a timeline item.
-
-Args:
-  itemId: string, The ID of the timeline item the attachment belongs to. (required)
-  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
-
-Returns:
-  An object of the form:
-
-    { # Represents media content, such as a photo, that can be attached to a timeline item.
-    "contentUrl": "A String", # The URL for the content.
-    "contentType": "A String", # The MIME type of the attachment.
-    "id": "A String", # The ID of the attachment.
-    "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(itemId)</code>
-  <pre>Returns a list of attachments for a timeline item.
-
-Args:
-  itemId: string, The ID of the timeline item whose attachments should be listed. (required)
-
-Returns:
-  An object of the form:
-
-    { # A list of Attachments. This is the response from the server to GET requests on the attachments collection.
-    "items": [ # The list of attachments.
-      { # Represents media content, such as a photo, that can be attached to a timeline item.
-        "contentUrl": "A String", # The URL for the content.
-        "contentType": "A String", # The MIME type of the attachment.
-        "id": "A String", # The ID of the attachment.
-        "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
-      },
-    ],
-    "kind": "mirror#attachmentsList", # The type of resource. This is always mirror#attachmentsList.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mirror_v1.timeline.html b/docs/dyn/mirror_v1.timeline.html
deleted file mode 100644
index 9d7d88b..0000000
--- a/docs/dyn/mirror_v1.timeline.html
+++ /dev/null
@@ -1,1351 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="mirror_v1.html">Google Mirror API</a> . <a href="mirror_v1.timeline.html">timeline</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="mirror_v1.timeline.attachments.html">attachments()</a></code>
-</p>
-<p class="firstline">Returns the attachments Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#delete">delete(id)</a></code></p>
-<p class="firstline">Deletes a timeline item.</p>
-<p class="toc_element">
-  <code><a href="#get">get(id)</a></code></p>
-<p class="firstline">Gets a single timeline item by ID.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(body=None, media_body=None)</a></code></p>
-<p class="firstline">Inserts a new item into the timeline.</p>
-<p class="toc_element">
-  <code><a href="#list">list(orderBy=None, includeDeleted=None, pageToken=None, maxResults=None, pinnedOnly=None, sourceItemId=None, bundleId=None)</a></code></p>
-<p class="firstline">Retrieves a list of timeline items for the authenticated user.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(id, body)</a></code></p>
-<p class="firstline">Updates a timeline item in place. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(id, body=None, media_body=None)</a></code></p>
-<p class="firstline">Updates a timeline item in place.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(id)</code>
-  <pre>Deletes a timeline item.
-
-Args:
-  id: string, The ID of the timeline item. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(id)</code>
-  <pre>Gets a single timeline item by ID.
-
-Args:
-  id: string, The ID of the timeline item. (required)
-
-Returns:
-  An object of the form:
-
-    { # Each item in the user's timeline is represented as a TimelineItem JSON structure, described below.
-      "attachments": [ # A list of media attachments associated with this item. As a convenience, you can refer to attachments in your HTML payloads with the attachment or cid scheme. For example:
-          # - attachment: <img src="attachment:attachment_index"> where attachment_index is the 0-based index of this array.
-          # - cid: <img src="cid:attachment_id"> where attachment_id is the ID of the attachment.
-        { # Represents media content, such as a photo, that can be attached to a timeline item.
-          "contentUrl": "A String", # The URL for the content.
-          "contentType": "A String", # The MIME type of the attachment.
-          "id": "A String", # The ID of the attachment.
-          "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
-        },
-      ],
-      "displayTime": "A String", # The time that should be displayed when this item is viewed in the timeline, formatted according to RFC 3339. This user's timeline is sorted chronologically on display time, so this will also determine where the item is displayed in the timeline. If not set by the service, the display time defaults to the updated time.
-      "creator": { # A person or group that can be used as a creator or a contact. # The user or group that created this item.
-          "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-          "displayName": "A String", # The name to display for this contact.
-          "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-            "A String",
-          ],
-          "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-              # - INDIVIDUAL - Represents a single person. This is the default.
-              # - GROUP - Represents more than a single person.
-          "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-          "source": "A String", # The ID of the application that created this contact. This is populated by the API
-          "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-          "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-            "A String",
-          ],
-          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-        },
-      "text": "A String", # Text content of this item.
-      "menuItems": [ # A list of menu items that will be presented to the user when this item is selected in the timeline.
-        { # A custom menu item that can be presented to the user by a timeline item.
-          "action": "A String", # Controls the behavior when the user picks the menu option. Allowed values are:
-              # - CUSTOM - Custom action set by the service. When the user selects this menuItem, the API triggers a notification to your callbackUrl with the userActions.type set to CUSTOM and the userActions.payload set to the ID of this menu item. This is the default value.
-              # - Built-in actions:
-              # - REPLY - Initiate a reply to the timeline item using the voice recording UI. The creator attribute must be set in the timeline item for this menu to be available.
-              # - REPLY_ALL - Same behavior as REPLY. The original timeline item's recipients will be added to the reply item.
-              # - DELETE - Delete the timeline item.
-              # - SHARE - Share the timeline item with the available contacts.
-              # - READ_ALOUD - Read the timeline item's speakableText aloud; if this field is not set, read the text field; if none of those fields are set, this menu item is ignored.
-              # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phone_number attribute as recipient.
-              # - NAVIGATE - Navigate to the timeline item's location.
-              # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
-          "removeWhenSelected": True or False, # If set to true on a CUSTOM menu item, that item will be removed from the menu after it is selected.
-          "values": [ # For CUSTOM items, a list of values controlling the appearance of the menu item in each of its states. A value for the DEFAULT state must be provided. If the PENDING or CONFIRMED states are missing, they will not be shown.
-            { # A single value that is part of a MenuItem.
-              "iconUrl": "A String", # URL of an icon to display with the menu item.
-              "state": "A String", # The state that this value applies to. Allowed values are:
-                  # - DEFAULT - Default value shown when displayed in the menuItems list.
-                  # - PENDING - Value shown when the menuItem has been selected by the user but can still be cancelled.
-                  # - CONFIRMED - Value shown when the menuItem has been selected by the user and can no longer be cancelled.
-              "displayName": "A String", # The name to display for the menu item.
-            },
-          ],
-          "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
-        },
-      ],
-      "isBundleCover": True or False, # Whether this item is a bundle cover.
-          #
-          # If an item is marked as a bundle cover, it will be the entry point to the bundle of items that have the same bundleId as that item. It will be shown only on the main timeline — not within the opened bundle.
-          #
-          # On the main timeline, items that are shown are:
-          # - Items that have isBundleCover set to true
-          # - Items that do not have a bundleId  In a bundle sub-timeline, items that are shown are:
-          # - Items that have the bundleId in question AND isBundleCover set to false
-      "etag": "A String", # ETag for this item.
-      "id": "A String", # The ID of the timeline item. This is unique within a user's timeline.
-      "isDeleted": True or False, # When true, indicates this item is deleted, and only the ID property is set.
-      "bundleId": "A String", # The bundle ID for this item. Services can specify a bundleId to group many items together. They appear under a single top-level item on the device.
-      "isPinned": True or False, # When true, indicates this item is pinned, which means it's grouped alongside "active" items like navigation and hangouts, on the opposite side of the home screen from historical (non-pinned) timeline items. You can allow the user to toggle the value of this property with the TOGGLE_PINNED built-in menu item.
-      "title": "A String", # The title of this item.
-      "notification": { # Controls how notifications for a timeline item are presented to the user. # Controls how notifications for this item are presented on the device. If this is missing, no notification will be generated.
-        "level": "A String", # Describes how important the notification is. Allowed values are:
-            # - DEFAULT - Notifications of default importance. A chime will be played to alert users.
-        "deliveryTime": "A String", # The time at which the notification should be delivered.
-      },
-      "speakableText": "A String", # The speakable version of the content of this item. Along with the READ_ALOUD menu item, use this field to provide text that would be clearer when read aloud, or to provide extended information to what is displayed visually on Glass.
-          #
-          # Glassware should also specify the speakableType field, which will be spoken before this text in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
-      "html": "A String", # HTML content for this item. If both text and html are provided for an item, the html will be rendered in the timeline.
-          # Allowed HTML elements - You can use these elements in your timeline cards.
-          #
-          # - Headers: h1, h2, h3, h4, h5, h6
-          # - Images: img
-          # - Lists: li, ol, ul
-          # - HTML5 semantics: article, aside, details, figure, figcaption, footer, header, nav, section, summary, time
-          # - Structural: blockquote, br, div, hr, p, span
-          # - Style: b, big, center, em, i, u, s, small, strike, strong, style, sub, sup
-          # - Tables: table, tbody, td, tfoot, th, thead, tr
-          # Blocked HTML elements: These elements and their contents are removed from HTML payloads.
-          #
-          # - Document headers: head, title
-          # - Embeds: audio, embed, object, source, video
-          # - Frames: frame, frameset
-          # - Scripting: applet, script
-          # Other elements: Any elements that aren't listed are removed, but their contents are preserved.
-      "location": { # A geographic location that can be associated with a timeline item. # The geographic location associated with this item.
-        "kind": "mirror#location", # The type of resource. This is always mirror#location.
-        "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
-        "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
-        "longitude": 3.14, # The longitude, in degrees.
-        "address": "A String", # The full address of the location.
-        "latitude": 3.14, # The latitude, in degrees.
-        "id": "A String", # The ID of the location.
-        "accuracy": 3.14, # The accuracy of the location fix in meters.
-      },
-      "sourceItemId": "A String", # Opaque string you can use to map a timeline item to data in your own service.
-      "inReplyTo": "A String", # If this item was generated as a reply to another item, this field will be set to the ID of the item being replied to. This can be used to attach a reply to the appropriate conversation or post.
-      "updated": "A String", # The time at which this item was last modified, formatted according to RFC 3339.
-      "canonicalUrl": "A String", # A canonical URL pointing to the canonical/high quality version of the data represented by the timeline item.
-      "recipients": [ # A list of users or groups that this item has been shared with.
-        { # A person or group that can be used as a creator or a contact.
-            "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-            "displayName": "A String", # The name to display for this contact.
-            "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-              "A String",
-            ],
-            "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-                # - INDIVIDUAL - Represents a single person. This is the default.
-                # - GROUP - Represents more than a single person.
-            "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-            "source": "A String", # The ID of the application that created this contact. This is populated by the API
-            "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-            "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-              "A String",
-            ],
-            "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-          },
-      ],
-      "kind": "mirror#timelineItem", # The type of resource. This is always mirror#timelineItem.
-      "created": "A String", # The time at which this item was created, formatted according to RFC 3339.
-      "htmlPages": [ # Additional pages of HTML content associated with this item. If this field is specified, the item will be displayed as a bundle, with the html field as the cover. It is an error to specify this field without specifying the html field.
-        "A String",
-      ],
-      "pinScore": 42, # For pinned items, this determines the order in which the item is displayed in the timeline, with a higher score appearing closer to the clock. Note: setting this field is currently not supported.
-      "speakableType": "A String", # A speakable description of the type of this item. This will be announced to the user prior to reading the content of the item in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
-          #
-          # This should be a short, simple noun phrase such as "Email", "Text message", or "Daily Planet News Update".
-          #
-          # Glassware are encouraged to populate this field for every timeline item, even if the item does not contain speakableText or text so that the user can learn the type of the item without looking at the screen.
-      "selfLink": "A String", # A URL that can be used to retrieve this item.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(body=None, media_body=None)</code>
-  <pre>Inserts a new item into the timeline.
-
-Args:
-  body: object, The request body.
-    The object takes the form of:
-
-{ # Each item in the user's timeline is represented as a TimelineItem JSON structure, described below.
-    "attachments": [ # A list of media attachments associated with this item. As a convenience, you can refer to attachments in your HTML payloads with the attachment or cid scheme. For example:
-        # - attachment: <img src="attachment:attachment_index"> where attachment_index is the 0-based index of this array.
-        # - cid: <img src="cid:attachment_id"> where attachment_id is the ID of the attachment.
-      { # Represents media content, such as a photo, that can be attached to a timeline item.
-        "contentUrl": "A String", # The URL for the content.
-        "contentType": "A String", # The MIME type of the attachment.
-        "id": "A String", # The ID of the attachment.
-        "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
-      },
-    ],
-    "displayTime": "A String", # The time that should be displayed when this item is viewed in the timeline, formatted according to RFC 3339. This user's timeline is sorted chronologically on display time, so this will also determine where the item is displayed in the timeline. If not set by the service, the display time defaults to the updated time.
-    "creator": { # A person or group that can be used as a creator or a contact. # The user or group that created this item.
-        "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-        "displayName": "A String", # The name to display for this contact.
-        "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-          "A String",
-        ],
-        "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-            # - INDIVIDUAL - Represents a single person. This is the default.
-            # - GROUP - Represents more than a single person.
-        "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-        "source": "A String", # The ID of the application that created this contact. This is populated by the API
-        "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-        "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-          "A String",
-        ],
-        "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-      },
-    "text": "A String", # Text content of this item.
-    "menuItems": [ # A list of menu items that will be presented to the user when this item is selected in the timeline.
-      { # A custom menu item that can be presented to the user by a timeline item.
-        "action": "A String", # Controls the behavior when the user picks the menu option. Allowed values are:
-            # - CUSTOM - Custom action set by the service. When the user selects this menuItem, the API triggers a notification to your callbackUrl with the userActions.type set to CUSTOM and the userActions.payload set to the ID of this menu item. This is the default value.
-            # - Built-in actions:
-            # - REPLY - Initiate a reply to the timeline item using the voice recording UI. The creator attribute must be set in the timeline item for this menu to be available.
-            # - REPLY_ALL - Same behavior as REPLY. The original timeline item's recipients will be added to the reply item.
-            # - DELETE - Delete the timeline item.
-            # - SHARE - Share the timeline item with the available contacts.
-            # - READ_ALOUD - Read the timeline item's speakableText aloud; if this field is not set, read the text field; if none of those fields are set, this menu item is ignored.
-            # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phone_number attribute as recipient.
-            # - NAVIGATE - Navigate to the timeline item's location.
-            # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
-        "removeWhenSelected": True or False, # If set to true on a CUSTOM menu item, that item will be removed from the menu after it is selected.
-        "values": [ # For CUSTOM items, a list of values controlling the appearance of the menu item in each of its states. A value for the DEFAULT state must be provided. If the PENDING or CONFIRMED states are missing, they will not be shown.
-          { # A single value that is part of a MenuItem.
-            "iconUrl": "A String", # URL of an icon to display with the menu item.
-            "state": "A String", # The state that this value applies to. Allowed values are:
-                # - DEFAULT - Default value shown when displayed in the menuItems list.
-                # - PENDING - Value shown when the menuItem has been selected by the user but can still be cancelled.
-                # - CONFIRMED - Value shown when the menuItem has been selected by the user and can no longer be cancelled.
-            "displayName": "A String", # The name to display for the menu item.
-          },
-        ],
-        "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
-      },
-    ],
-    "isBundleCover": True or False, # Whether this item is a bundle cover.
-        # 
-        # If an item is marked as a bundle cover, it will be the entry point to the bundle of items that have the same bundleId as that item. It will be shown only on the main timeline — not within the opened bundle.
-        # 
-        # On the main timeline, items that are shown are:
-        # - Items that have isBundleCover set to true
-        # - Items that do not have a bundleId  In a bundle sub-timeline, items that are shown are:
-        # - Items that have the bundleId in question AND isBundleCover set to false
-    "etag": "A String", # ETag for this item.
-    "id": "A String", # The ID of the timeline item. This is unique within a user's timeline.
-    "isDeleted": True or False, # When true, indicates this item is deleted, and only the ID property is set.
-    "bundleId": "A String", # The bundle ID for this item. Services can specify a bundleId to group many items together. They appear under a single top-level item on the device.
-    "isPinned": True or False, # When true, indicates this item is pinned, which means it's grouped alongside "active" items like navigation and hangouts, on the opposite side of the home screen from historical (non-pinned) timeline items. You can allow the user to toggle the value of this property with the TOGGLE_PINNED built-in menu item.
-    "title": "A String", # The title of this item.
-    "notification": { # Controls how notifications for a timeline item are presented to the user. # Controls how notifications for this item are presented on the device. If this is missing, no notification will be generated.
-      "level": "A String", # Describes how important the notification is. Allowed values are:
-          # - DEFAULT - Notifications of default importance. A chime will be played to alert users.
-      "deliveryTime": "A String", # The time at which the notification should be delivered.
-    },
-    "speakableText": "A String", # The speakable version of the content of this item. Along with the READ_ALOUD menu item, use this field to provide text that would be clearer when read aloud, or to provide extended information to what is displayed visually on Glass.
-        # 
-        # Glassware should also specify the speakableType field, which will be spoken before this text in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
-    "html": "A String", # HTML content for this item. If both text and html are provided for an item, the html will be rendered in the timeline.
-        # Allowed HTML elements - You can use these elements in your timeline cards.
-        # 
-        # - Headers: h1, h2, h3, h4, h5, h6
-        # - Images: img
-        # - Lists: li, ol, ul
-        # - HTML5 semantics: article, aside, details, figure, figcaption, footer, header, nav, section, summary, time
-        # - Structural: blockquote, br, div, hr, p, span
-        # - Style: b, big, center, em, i, u, s, small, strike, strong, style, sub, sup
-        # - Tables: table, tbody, td, tfoot, th, thead, tr
-        # Blocked HTML elements: These elements and their contents are removed from HTML payloads.
-        # 
-        # - Document headers: head, title
-        # - Embeds: audio, embed, object, source, video
-        # - Frames: frame, frameset
-        # - Scripting: applet, script
-        # Other elements: Any elements that aren't listed are removed, but their contents are preserved.
-    "location": { # A geographic location that can be associated with a timeline item. # The geographic location associated with this item.
-      "kind": "mirror#location", # The type of resource. This is always mirror#location.
-      "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
-      "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
-      "longitude": 3.14, # The longitude, in degrees.
-      "address": "A String", # The full address of the location.
-      "latitude": 3.14, # The latitude, in degrees.
-      "id": "A String", # The ID of the location.
-      "accuracy": 3.14, # The accuracy of the location fix in meters.
-    },
-    "sourceItemId": "A String", # Opaque string you can use to map a timeline item to data in your own service.
-    "inReplyTo": "A String", # If this item was generated as a reply to another item, this field will be set to the ID of the item being replied to. This can be used to attach a reply to the appropriate conversation or post.
-    "updated": "A String", # The time at which this item was last modified, formatted according to RFC 3339.
-    "canonicalUrl": "A String", # A canonical URL pointing to the canonical/high quality version of the data represented by the timeline item.
-    "recipients": [ # A list of users or groups that this item has been shared with.
-      { # A person or group that can be used as a creator or a contact.
-          "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-          "displayName": "A String", # The name to display for this contact.
-          "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-            "A String",
-          ],
-          "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-              # - INDIVIDUAL - Represents a single person. This is the default.
-              # - GROUP - Represents more than a single person.
-          "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-          "source": "A String", # The ID of the application that created this contact. This is populated by the API
-          "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-          "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-            "A String",
-          ],
-          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-        },
-    ],
-    "kind": "mirror#timelineItem", # The type of resource. This is always mirror#timelineItem.
-    "created": "A String", # The time at which this item was created, formatted according to RFC 3339.
-    "htmlPages": [ # Additional pages of HTML content associated with this item. If this field is specified, the item will be displayed as a bundle, with the html field as the cover. It is an error to specify this field without specifying the html field.
-      "A String",
-    ],
-    "pinScore": 42, # For pinned items, this determines the order in which the item is displayed in the timeline, with a higher score appearing closer to the clock. Note: setting this field is currently not supported.
-    "speakableType": "A String", # A speakable description of the type of this item. This will be announced to the user prior to reading the content of the item in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
-        # 
-        # This should be a short, simple noun phrase such as "Email", "Text message", or "Daily Planet News Update".
-        # 
-        # Glassware are encouraged to populate this field for every timeline item, even if the item does not contain speakableText or text so that the user can learn the type of the item without looking at the screen.
-    "selfLink": "A String", # A URL that can be used to retrieve this item.
-  }
-
-  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
-
-Returns:
-  An object of the form:
-
-    { # Each item in the user's timeline is represented as a TimelineItem JSON structure, described below.
-      "attachments": [ # A list of media attachments associated with this item. As a convenience, you can refer to attachments in your HTML payloads with the attachment or cid scheme. For example:
-          # - attachment: <img src="attachment:attachment_index"> where attachment_index is the 0-based index of this array.
-          # - cid: <img src="cid:attachment_id"> where attachment_id is the ID of the attachment.
-        { # Represents media content, such as a photo, that can be attached to a timeline item.
-          "contentUrl": "A String", # The URL for the content.
-          "contentType": "A String", # The MIME type of the attachment.
-          "id": "A String", # The ID of the attachment.
-          "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
-        },
-      ],
-      "displayTime": "A String", # The time that should be displayed when this item is viewed in the timeline, formatted according to RFC 3339. This user's timeline is sorted chronologically on display time, so this will also determine where the item is displayed in the timeline. If not set by the service, the display time defaults to the updated time.
-      "creator": { # A person or group that can be used as a creator or a contact. # The user or group that created this item.
-          "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-          "displayName": "A String", # The name to display for this contact.
-          "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-            "A String",
-          ],
-          "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-              # - INDIVIDUAL - Represents a single person. This is the default.
-              # - GROUP - Represents more than a single person.
-          "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-          "source": "A String", # The ID of the application that created this contact. This is populated by the API
-          "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-          "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-            "A String",
-          ],
-          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-        },
-      "text": "A String", # Text content of this item.
-      "menuItems": [ # A list of menu items that will be presented to the user when this item is selected in the timeline.
-        { # A custom menu item that can be presented to the user by a timeline item.
-          "action": "A String", # Controls the behavior when the user picks the menu option. Allowed values are:
-              # - CUSTOM - Custom action set by the service. When the user selects this menuItem, the API triggers a notification to your callbackUrl with the userActions.type set to CUSTOM and the userActions.payload set to the ID of this menu item. This is the default value.
-              # - Built-in actions:
-              # - REPLY - Initiate a reply to the timeline item using the voice recording UI. The creator attribute must be set in the timeline item for this menu to be available.
-              # - REPLY_ALL - Same behavior as REPLY. The original timeline item's recipients will be added to the reply item.
-              # - DELETE - Delete the timeline item.
-              # - SHARE - Share the timeline item with the available contacts.
-              # - READ_ALOUD - Read the timeline item's speakableText aloud; if this field is not set, read the text field; if none of those fields are set, this menu item is ignored.
-              # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phone_number attribute as recipient.
-              # - NAVIGATE - Navigate to the timeline item's location.
-              # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
-          "removeWhenSelected": True or False, # If set to true on a CUSTOM menu item, that item will be removed from the menu after it is selected.
-          "values": [ # For CUSTOM items, a list of values controlling the appearance of the menu item in each of its states. A value for the DEFAULT state must be provided. If the PENDING or CONFIRMED states are missing, they will not be shown.
-            { # A single value that is part of a MenuItem.
-              "iconUrl": "A String", # URL of an icon to display with the menu item.
-              "state": "A String", # The state that this value applies to. Allowed values are:
-                  # - DEFAULT - Default value shown when displayed in the menuItems list.
-                  # - PENDING - Value shown when the menuItem has been selected by the user but can still be cancelled.
-                  # - CONFIRMED - Value shown when the menuItem has been selected by the user and can no longer be cancelled.
-              "displayName": "A String", # The name to display for the menu item.
-            },
-          ],
-          "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
-        },
-      ],
-      "isBundleCover": True or False, # Whether this item is a bundle cover.
-          #
-          # If an item is marked as a bundle cover, it will be the entry point to the bundle of items that have the same bundleId as that item. It will be shown only on the main timeline — not within the opened bundle.
-          #
-          # On the main timeline, items that are shown are:
-          # - Items that have isBundleCover set to true
-          # - Items that do not have a bundleId  In a bundle sub-timeline, items that are shown are:
-          # - Items that have the bundleId in question AND isBundleCover set to false
-      "etag": "A String", # ETag for this item.
-      "id": "A String", # The ID of the timeline item. This is unique within a user's timeline.
-      "isDeleted": True or False, # When true, indicates this item is deleted, and only the ID property is set.
-      "bundleId": "A String", # The bundle ID for this item. Services can specify a bundleId to group many items together. They appear under a single top-level item on the device.
-      "isPinned": True or False, # When true, indicates this item is pinned, which means it's grouped alongside "active" items like navigation and hangouts, on the opposite side of the home screen from historical (non-pinned) timeline items. You can allow the user to toggle the value of this property with the TOGGLE_PINNED built-in menu item.
-      "title": "A String", # The title of this item.
-      "notification": { # Controls how notifications for a timeline item are presented to the user. # Controls how notifications for this item are presented on the device. If this is missing, no notification will be generated.
-        "level": "A String", # Describes how important the notification is. Allowed values are:
-            # - DEFAULT - Notifications of default importance. A chime will be played to alert users.
-        "deliveryTime": "A String", # The time at which the notification should be delivered.
-      },
-      "speakableText": "A String", # The speakable version of the content of this item. Along with the READ_ALOUD menu item, use this field to provide text that would be clearer when read aloud, or to provide extended information to what is displayed visually on Glass.
-          #
-          # Glassware should also specify the speakableType field, which will be spoken before this text in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
-      "html": "A String", # HTML content for this item. If both text and html are provided for an item, the html will be rendered in the timeline.
-          # Allowed HTML elements - You can use these elements in your timeline cards.
-          #
-          # - Headers: h1, h2, h3, h4, h5, h6
-          # - Images: img
-          # - Lists: li, ol, ul
-          # - HTML5 semantics: article, aside, details, figure, figcaption, footer, header, nav, section, summary, time
-          # - Structural: blockquote, br, div, hr, p, span
-          # - Style: b, big, center, em, i, u, s, small, strike, strong, style, sub, sup
-          # - Tables: table, tbody, td, tfoot, th, thead, tr
-          # Blocked HTML elements: These elements and their contents are removed from HTML payloads.
-          #
-          # - Document headers: head, title
-          # - Embeds: audio, embed, object, source, video
-          # - Frames: frame, frameset
-          # - Scripting: applet, script
-          # Other elements: Any elements that aren't listed are removed, but their contents are preserved.
-      "location": { # A geographic location that can be associated with a timeline item. # The geographic location associated with this item.
-        "kind": "mirror#location", # The type of resource. This is always mirror#location.
-        "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
-        "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
-        "longitude": 3.14, # The longitude, in degrees.
-        "address": "A String", # The full address of the location.
-        "latitude": 3.14, # The latitude, in degrees.
-        "id": "A String", # The ID of the location.
-        "accuracy": 3.14, # The accuracy of the location fix in meters.
-      },
-      "sourceItemId": "A String", # Opaque string you can use to map a timeline item to data in your own service.
-      "inReplyTo": "A String", # If this item was generated as a reply to another item, this field will be set to the ID of the item being replied to. This can be used to attach a reply to the appropriate conversation or post.
-      "updated": "A String", # The time at which this item was last modified, formatted according to RFC 3339.
-      "canonicalUrl": "A String", # A canonical URL pointing to the canonical/high quality version of the data represented by the timeline item.
-      "recipients": [ # A list of users or groups that this item has been shared with.
-        { # A person or group that can be used as a creator or a contact.
-            "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-            "displayName": "A String", # The name to display for this contact.
-            "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-              "A String",
-            ],
-            "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-                # - INDIVIDUAL - Represents a single person. This is the default.
-                # - GROUP - Represents more than a single person.
-            "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-            "source": "A String", # The ID of the application that created this contact. This is populated by the API
-            "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-            "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-              "A String",
-            ],
-            "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-          },
-      ],
-      "kind": "mirror#timelineItem", # The type of resource. This is always mirror#timelineItem.
-      "created": "A String", # The time at which this item was created, formatted according to RFC 3339.
-      "htmlPages": [ # Additional pages of HTML content associated with this item. If this field is specified, the item will be displayed as a bundle, with the html field as the cover. It is an error to specify this field without specifying the html field.
-        "A String",
-      ],
-      "pinScore": 42, # For pinned items, this determines the order in which the item is displayed in the timeline, with a higher score appearing closer to the clock. Note: setting this field is currently not supported.
-      "speakableType": "A String", # A speakable description of the type of this item. This will be announced to the user prior to reading the content of the item in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
-          #
-          # This should be a short, simple noun phrase such as "Email", "Text message", or "Daily Planet News Update".
-          #
-          # Glassware are encouraged to populate this field for every timeline item, even if the item does not contain speakableText or text so that the user can learn the type of the item without looking at the screen.
-      "selfLink": "A String", # A URL that can be used to retrieve this item.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(orderBy=None, includeDeleted=None, pageToken=None, maxResults=None, pinnedOnly=None, sourceItemId=None, bundleId=None)</code>
-  <pre>Retrieves a list of timeline items for the authenticated user.
-
-Args:
-  orderBy: string, Controls the order in which timeline items are returned.
-    Allowed values
-      displayTime - Results will be ordered by displayTime (default). This is the same ordering as is used in the timeline on the device.
-      writeTime - Results will be ordered by the time at which they were last written to the data store.
-  includeDeleted: boolean, If true, tombstone records for deleted items will be returned.
-  pageToken: string, Token for the page of results to return.
-  maxResults: integer, The maximum number of items to include in the response, used for paging.
-  pinnedOnly: boolean, If true, only pinned items will be returned.
-  sourceItemId: string, If provided, only items with the given sourceItemId will be returned.
-  bundleId: string, If provided, only items with the given bundleId will be returned.
-
-Returns:
-  An object of the form:
-
-    { # A list of timeline items. This is the response from the server to GET requests on the timeline collection.
-    "nextPageToken": "A String", # The next page token. Provide this as the pageToken parameter in the request to retrieve the next page of results.
-    "items": [ # Items in the timeline.
-      { # Each item in the user's timeline is represented as a TimelineItem JSON structure, described below.
-          "attachments": [ # A list of media attachments associated with this item. As a convenience, you can refer to attachments in your HTML payloads with the attachment or cid scheme. For example:
-              # - attachment: <img src="attachment:attachment_index"> where attachment_index is the 0-based index of this array.
-              # - cid: <img src="cid:attachment_id"> where attachment_id is the ID of the attachment.
-            { # Represents media content, such as a photo, that can be attached to a timeline item.
-              "contentUrl": "A String", # The URL for the content.
-              "contentType": "A String", # The MIME type of the attachment.
-              "id": "A String", # The ID of the attachment.
-              "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
-            },
-          ],
-          "displayTime": "A String", # The time that should be displayed when this item is viewed in the timeline, formatted according to RFC 3339. This user's timeline is sorted chronologically on display time, so this will also determine where the item is displayed in the timeline. If not set by the service, the display time defaults to the updated time.
-          "creator": { # A person or group that can be used as a creator or a contact. # The user or group that created this item.
-              "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-              "displayName": "A String", # The name to display for this contact.
-              "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-                "A String",
-              ],
-              "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-                  # - INDIVIDUAL - Represents a single person. This is the default.
-                  # - GROUP - Represents more than a single person.
-              "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-              "source": "A String", # The ID of the application that created this contact. This is populated by the API
-              "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-              "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-                "A String",
-              ],
-              "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-            },
-          "text": "A String", # Text content of this item.
-          "menuItems": [ # A list of menu items that will be presented to the user when this item is selected in the timeline.
-            { # A custom menu item that can be presented to the user by a timeline item.
-              "action": "A String", # Controls the behavior when the user picks the menu option. Allowed values are:
-                  # - CUSTOM - Custom action set by the service. When the user selects this menuItem, the API triggers a notification to your callbackUrl with the userActions.type set to CUSTOM and the userActions.payload set to the ID of this menu item. This is the default value.
-                  # - Built-in actions:
-                  # - REPLY - Initiate a reply to the timeline item using the voice recording UI. The creator attribute must be set in the timeline item for this menu to be available.
-                  # - REPLY_ALL - Same behavior as REPLY. The original timeline item's recipients will be added to the reply item.
-                  # - DELETE - Delete the timeline item.
-                  # - SHARE - Share the timeline item with the available contacts.
-                  # - READ_ALOUD - Read the timeline item's speakableText aloud; if this field is not set, read the text field; if none of those fields are set, this menu item is ignored.
-                  # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phone_number attribute as recipient.
-                  # - NAVIGATE - Navigate to the timeline item's location.
-                  # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
-              "removeWhenSelected": True or False, # If set to true on a CUSTOM menu item, that item will be removed from the menu after it is selected.
-              "values": [ # For CUSTOM items, a list of values controlling the appearance of the menu item in each of its states. A value for the DEFAULT state must be provided. If the PENDING or CONFIRMED states are missing, they will not be shown.
-                { # A single value that is part of a MenuItem.
-                  "iconUrl": "A String", # URL of an icon to display with the menu item.
-                  "state": "A String", # The state that this value applies to. Allowed values are:
-                      # - DEFAULT - Default value shown when displayed in the menuItems list.
-                      # - PENDING - Value shown when the menuItem has been selected by the user but can still be cancelled.
-                      # - CONFIRMED - Value shown when the menuItem has been selected by the user and can no longer be cancelled.
-                  "displayName": "A String", # The name to display for the menu item.
-                },
-              ],
-              "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
-            },
-          ],
-          "isBundleCover": True or False, # Whether this item is a bundle cover.
-              #
-              # If an item is marked as a bundle cover, it will be the entry point to the bundle of items that have the same bundleId as that item. It will be shown only on the main timeline — not within the opened bundle.
-              #
-              # On the main timeline, items that are shown are:
-              # - Items that have isBundleCover set to true
-              # - Items that do not have a bundleId  In a bundle sub-timeline, items that are shown are:
-              # - Items that have the bundleId in question AND isBundleCover set to false
-          "etag": "A String", # ETag for this item.
-          "id": "A String", # The ID of the timeline item. This is unique within a user's timeline.
-          "isDeleted": True or False, # When true, indicates this item is deleted, and only the ID property is set.
-          "bundleId": "A String", # The bundle ID for this item. Services can specify a bundleId to group many items together. They appear under a single top-level item on the device.
-          "isPinned": True or False, # When true, indicates this item is pinned, which means it's grouped alongside "active" items like navigation and hangouts, on the opposite side of the home screen from historical (non-pinned) timeline items. You can allow the user to toggle the value of this property with the TOGGLE_PINNED built-in menu item.
-          "title": "A String", # The title of this item.
-          "notification": { # Controls how notifications for a timeline item are presented to the user. # Controls how notifications for this item are presented on the device. If this is missing, no notification will be generated.
-            "level": "A String", # Describes how important the notification is. Allowed values are:
-                # - DEFAULT - Notifications of default importance. A chime will be played to alert users.
-            "deliveryTime": "A String", # The time at which the notification should be delivered.
-          },
-          "speakableText": "A String", # The speakable version of the content of this item. Along with the READ_ALOUD menu item, use this field to provide text that would be clearer when read aloud, or to provide extended information to what is displayed visually on Glass.
-              #
-              # Glassware should also specify the speakableType field, which will be spoken before this text in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
-          "html": "A String", # HTML content for this item. If both text and html are provided for an item, the html will be rendered in the timeline.
-              # Allowed HTML elements - You can use these elements in your timeline cards.
-              #
-              # - Headers: h1, h2, h3, h4, h5, h6
-              # - Images: img
-              # - Lists: li, ol, ul
-              # - HTML5 semantics: article, aside, details, figure, figcaption, footer, header, nav, section, summary, time
-              # - Structural: blockquote, br, div, hr, p, span
-              # - Style: b, big, center, em, i, u, s, small, strike, strong, style, sub, sup
-              # - Tables: table, tbody, td, tfoot, th, thead, tr
-              # Blocked HTML elements: These elements and their contents are removed from HTML payloads.
-              #
-              # - Document headers: head, title
-              # - Embeds: audio, embed, object, source, video
-              # - Frames: frame, frameset
-              # - Scripting: applet, script
-              # Other elements: Any elements that aren't listed are removed, but their contents are preserved.
-          "location": { # A geographic location that can be associated with a timeline item. # The geographic location associated with this item.
-            "kind": "mirror#location", # The type of resource. This is always mirror#location.
-            "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
-            "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
-            "longitude": 3.14, # The longitude, in degrees.
-            "address": "A String", # The full address of the location.
-            "latitude": 3.14, # The latitude, in degrees.
-            "id": "A String", # The ID of the location.
-            "accuracy": 3.14, # The accuracy of the location fix in meters.
-          },
-          "sourceItemId": "A String", # Opaque string you can use to map a timeline item to data in your own service.
-          "inReplyTo": "A String", # If this item was generated as a reply to another item, this field will be set to the ID of the item being replied to. This can be used to attach a reply to the appropriate conversation or post.
-          "updated": "A String", # The time at which this item was last modified, formatted according to RFC 3339.
-          "canonicalUrl": "A String", # A canonical URL pointing to the canonical/high quality version of the data represented by the timeline item.
-          "recipients": [ # A list of users or groups that this item has been shared with.
-            { # A person or group that can be used as a creator or a contact.
-                "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-                "displayName": "A String", # The name to display for this contact.
-                "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-                  "A String",
-                ],
-                "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-                    # - INDIVIDUAL - Represents a single person. This is the default.
-                    # - GROUP - Represents more than a single person.
-                "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-                "source": "A String", # The ID of the application that created this contact. This is populated by the API
-                "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-                "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-                  "A String",
-                ],
-                "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-              },
-          ],
-          "kind": "mirror#timelineItem", # The type of resource. This is always mirror#timelineItem.
-          "created": "A String", # The time at which this item was created, formatted according to RFC 3339.
-          "htmlPages": [ # Additional pages of HTML content associated with this item. If this field is specified, the item will be displayed as a bundle, with the html field as the cover. It is an error to specify this field without specifying the html field.
-            "A String",
-          ],
-          "pinScore": 42, # For pinned items, this determines the order in which the item is displayed in the timeline, with a higher score appearing closer to the clock. Note: setting this field is currently not supported.
-          "speakableType": "A String", # A speakable description of the type of this item. This will be announced to the user prior to reading the content of the item in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
-              #
-              # This should be a short, simple noun phrase such as "Email", "Text message", or "Daily Planet News Update".
-              #
-              # Glassware are encouraged to populate this field for every timeline item, even if the item does not contain speakableText or text so that the user can learn the type of the item without looking at the screen.
-          "selfLink": "A String", # A URL that can be used to retrieve this item.
-        },
-    ],
-    "kind": "mirror#timeline", # The type of resource. This is always mirror#timeline.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(id, body)</code>
-  <pre>Updates a timeline item in place. This method supports patch semantics.
-
-Args:
-  id: string, The ID of the timeline item. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Each item in the user's timeline is represented as a TimelineItem JSON structure, described below.
-    "attachments": [ # A list of media attachments associated with this item. As a convenience, you can refer to attachments in your HTML payloads with the attachment or cid scheme. For example:
-        # - attachment: <img src="attachment:attachment_index"> where attachment_index is the 0-based index of this array.
-        # - cid: <img src="cid:attachment_id"> where attachment_id is the ID of the attachment.
-      { # Represents media content, such as a photo, that can be attached to a timeline item.
-        "contentUrl": "A String", # The URL for the content.
-        "contentType": "A String", # The MIME type of the attachment.
-        "id": "A String", # The ID of the attachment.
-        "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
-      },
-    ],
-    "displayTime": "A String", # The time that should be displayed when this item is viewed in the timeline, formatted according to RFC 3339. This user's timeline is sorted chronologically on display time, so this will also determine where the item is displayed in the timeline. If not set by the service, the display time defaults to the updated time.
-    "creator": { # A person or group that can be used as a creator or a contact. # The user or group that created this item.
-        "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-        "displayName": "A String", # The name to display for this contact.
-        "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-          "A String",
-        ],
-        "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-            # - INDIVIDUAL - Represents a single person. This is the default.
-            # - GROUP - Represents more than a single person.
-        "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-        "source": "A String", # The ID of the application that created this contact. This is populated by the API
-        "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-        "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-          "A String",
-        ],
-        "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-      },
-    "text": "A String", # Text content of this item.
-    "menuItems": [ # A list of menu items that will be presented to the user when this item is selected in the timeline.
-      { # A custom menu item that can be presented to the user by a timeline item.
-        "action": "A String", # Controls the behavior when the user picks the menu option. Allowed values are:
-            # - CUSTOM - Custom action set by the service. When the user selects this menuItem, the API triggers a notification to your callbackUrl with the userActions.type set to CUSTOM and the userActions.payload set to the ID of this menu item. This is the default value.
-            # - Built-in actions:
-            # - REPLY - Initiate a reply to the timeline item using the voice recording UI. The creator attribute must be set in the timeline item for this menu to be available.
-            # - REPLY_ALL - Same behavior as REPLY. The original timeline item's recipients will be added to the reply item.
-            # - DELETE - Delete the timeline item.
-            # - SHARE - Share the timeline item with the available contacts.
-            # - READ_ALOUD - Read the timeline item's speakableText aloud; if this field is not set, read the text field; if none of those fields are set, this menu item is ignored.
-            # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phone_number attribute as recipient.
-            # - NAVIGATE - Navigate to the timeline item's location.
-            # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
-        "removeWhenSelected": True or False, # If set to true on a CUSTOM menu item, that item will be removed from the menu after it is selected.
-        "values": [ # For CUSTOM items, a list of values controlling the appearance of the menu item in each of its states. A value for the DEFAULT state must be provided. If the PENDING or CONFIRMED states are missing, they will not be shown.
-          { # A single value that is part of a MenuItem.
-            "iconUrl": "A String", # URL of an icon to display with the menu item.
-            "state": "A String", # The state that this value applies to. Allowed values are:
-                # - DEFAULT - Default value shown when displayed in the menuItems list.
-                # - PENDING - Value shown when the menuItem has been selected by the user but can still be cancelled.
-                # - CONFIRMED - Value shown when the menuItem has been selected by the user and can no longer be cancelled.
-            "displayName": "A String", # The name to display for the menu item.
-          },
-        ],
-        "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
-      },
-    ],
-    "isBundleCover": True or False, # Whether this item is a bundle cover.
-        # 
-        # If an item is marked as a bundle cover, it will be the entry point to the bundle of items that have the same bundleId as that item. It will be shown only on the main timeline — not within the opened bundle.
-        # 
-        # On the main timeline, items that are shown are:
-        # - Items that have isBundleCover set to true
-        # - Items that do not have a bundleId  In a bundle sub-timeline, items that are shown are:
-        # - Items that have the bundleId in question AND isBundleCover set to false
-    "etag": "A String", # ETag for this item.
-    "id": "A String", # The ID of the timeline item. This is unique within a user's timeline.
-    "isDeleted": True or False, # When true, indicates this item is deleted, and only the ID property is set.
-    "bundleId": "A String", # The bundle ID for this item. Services can specify a bundleId to group many items together. They appear under a single top-level item on the device.
-    "isPinned": True or False, # When true, indicates this item is pinned, which means it's grouped alongside "active" items like navigation and hangouts, on the opposite side of the home screen from historical (non-pinned) timeline items. You can allow the user to toggle the value of this property with the TOGGLE_PINNED built-in menu item.
-    "title": "A String", # The title of this item.
-    "notification": { # Controls how notifications for a timeline item are presented to the user. # Controls how notifications for this item are presented on the device. If this is missing, no notification will be generated.
-      "level": "A String", # Describes how important the notification is. Allowed values are:
-          # - DEFAULT - Notifications of default importance. A chime will be played to alert users.
-      "deliveryTime": "A String", # The time at which the notification should be delivered.
-    },
-    "speakableText": "A String", # The speakable version of the content of this item. Along with the READ_ALOUD menu item, use this field to provide text that would be clearer when read aloud, or to provide extended information to what is displayed visually on Glass.
-        # 
-        # Glassware should also specify the speakableType field, which will be spoken before this text in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
-    "html": "A String", # HTML content for this item. If both text and html are provided for an item, the html will be rendered in the timeline.
-        # Allowed HTML elements - You can use these elements in your timeline cards.
-        # 
-        # - Headers: h1, h2, h3, h4, h5, h6
-        # - Images: img
-        # - Lists: li, ol, ul
-        # - HTML5 semantics: article, aside, details, figure, figcaption, footer, header, nav, section, summary, time
-        # - Structural: blockquote, br, div, hr, p, span
-        # - Style: b, big, center, em, i, u, s, small, strike, strong, style, sub, sup
-        # - Tables: table, tbody, td, tfoot, th, thead, tr
-        # Blocked HTML elements: These elements and their contents are removed from HTML payloads.
-        # 
-        # - Document headers: head, title
-        # - Embeds: audio, embed, object, source, video
-        # - Frames: frame, frameset
-        # - Scripting: applet, script
-        # Other elements: Any elements that aren't listed are removed, but their contents are preserved.
-    "location": { # A geographic location that can be associated with a timeline item. # The geographic location associated with this item.
-      "kind": "mirror#location", # The type of resource. This is always mirror#location.
-      "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
-      "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
-      "longitude": 3.14, # The longitude, in degrees.
-      "address": "A String", # The full address of the location.
-      "latitude": 3.14, # The latitude, in degrees.
-      "id": "A String", # The ID of the location.
-      "accuracy": 3.14, # The accuracy of the location fix in meters.
-    },
-    "sourceItemId": "A String", # Opaque string you can use to map a timeline item to data in your own service.
-    "inReplyTo": "A String", # If this item was generated as a reply to another item, this field will be set to the ID of the item being replied to. This can be used to attach a reply to the appropriate conversation or post.
-    "updated": "A String", # The time at which this item was last modified, formatted according to RFC 3339.
-    "canonicalUrl": "A String", # A canonical URL pointing to the canonical/high quality version of the data represented by the timeline item.
-    "recipients": [ # A list of users or groups that this item has been shared with.
-      { # A person or group that can be used as a creator or a contact.
-          "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-          "displayName": "A String", # The name to display for this contact.
-          "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-            "A String",
-          ],
-          "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-              # - INDIVIDUAL - Represents a single person. This is the default.
-              # - GROUP - Represents more than a single person.
-          "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-          "source": "A String", # The ID of the application that created this contact. This is populated by the API
-          "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-          "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-            "A String",
-          ],
-          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-        },
-    ],
-    "kind": "mirror#timelineItem", # The type of resource. This is always mirror#timelineItem.
-    "created": "A String", # The time at which this item was created, formatted according to RFC 3339.
-    "htmlPages": [ # Additional pages of HTML content associated with this item. If this field is specified, the item will be displayed as a bundle, with the html field as the cover. It is an error to specify this field without specifying the html field.
-      "A String",
-    ],
-    "pinScore": 42, # For pinned items, this determines the order in which the item is displayed in the timeline, with a higher score appearing closer to the clock. Note: setting this field is currently not supported.
-    "speakableType": "A String", # A speakable description of the type of this item. This will be announced to the user prior to reading the content of the item in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
-        # 
-        # This should be a short, simple noun phrase such as "Email", "Text message", or "Daily Planet News Update".
-        # 
-        # Glassware are encouraged to populate this field for every timeline item, even if the item does not contain speakableText or text so that the user can learn the type of the item without looking at the screen.
-    "selfLink": "A String", # A URL that can be used to retrieve this item.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Each item in the user's timeline is represented as a TimelineItem JSON structure, described below.
-      "attachments": [ # A list of media attachments associated with this item. As a convenience, you can refer to attachments in your HTML payloads with the attachment or cid scheme. For example:
-          # - attachment: <img src="attachment:attachment_index"> where attachment_index is the 0-based index of this array.
-          # - cid: <img src="cid:attachment_id"> where attachment_id is the ID of the attachment.
-        { # Represents media content, such as a photo, that can be attached to a timeline item.
-          "contentUrl": "A String", # The URL for the content.
-          "contentType": "A String", # The MIME type of the attachment.
-          "id": "A String", # The ID of the attachment.
-          "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
-        },
-      ],
-      "displayTime": "A String", # The time that should be displayed when this item is viewed in the timeline, formatted according to RFC 3339. This user's timeline is sorted chronologically on display time, so this will also determine where the item is displayed in the timeline. If not set by the service, the display time defaults to the updated time.
-      "creator": { # A person or group that can be used as a creator or a contact. # The user or group that created this item.
-          "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-          "displayName": "A String", # The name to display for this contact.
-          "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-            "A String",
-          ],
-          "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-              # - INDIVIDUAL - Represents a single person. This is the default.
-              # - GROUP - Represents more than a single person.
-          "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-          "source": "A String", # The ID of the application that created this contact. This is populated by the API
-          "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-          "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-            "A String",
-          ],
-          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-        },
-      "text": "A String", # Text content of this item.
-      "menuItems": [ # A list of menu items that will be presented to the user when this item is selected in the timeline.
-        { # A custom menu item that can be presented to the user by a timeline item.
-          "action": "A String", # Controls the behavior when the user picks the menu option. Allowed values are:
-              # - CUSTOM - Custom action set by the service. When the user selects this menuItem, the API triggers a notification to your callbackUrl with the userActions.type set to CUSTOM and the userActions.payload set to the ID of this menu item. This is the default value.
-              # - Built-in actions:
-              # - REPLY - Initiate a reply to the timeline item using the voice recording UI. The creator attribute must be set in the timeline item for this menu to be available.
-              # - REPLY_ALL - Same behavior as REPLY. The original timeline item's recipients will be added to the reply item.
-              # - DELETE - Delete the timeline item.
-              # - SHARE - Share the timeline item with the available contacts.
-              # - READ_ALOUD - Read the timeline item's speakableText aloud; if this field is not set, read the text field; if none of those fields are set, this menu item is ignored.
-              # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phone_number attribute as recipient.
-              # - NAVIGATE - Navigate to the timeline item's location.
-              # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
-          "removeWhenSelected": True or False, # If set to true on a CUSTOM menu item, that item will be removed from the menu after it is selected.
-          "values": [ # For CUSTOM items, a list of values controlling the appearance of the menu item in each of its states. A value for the DEFAULT state must be provided. If the PENDING or CONFIRMED states are missing, they will not be shown.
-            { # A single value that is part of a MenuItem.
-              "iconUrl": "A String", # URL of an icon to display with the menu item.
-              "state": "A String", # The state that this value applies to. Allowed values are:
-                  # - DEFAULT - Default value shown when displayed in the menuItems list.
-                  # - PENDING - Value shown when the menuItem has been selected by the user but can still be cancelled.
-                  # - CONFIRMED - Value shown when the menuItem has been selected by the user and can no longer be cancelled.
-              "displayName": "A String", # The name to display for the menu item.
-            },
-          ],
-          "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
-        },
-      ],
-      "isBundleCover": True or False, # Whether this item is a bundle cover.
-          #
-          # If an item is marked as a bundle cover, it will be the entry point to the bundle of items that have the same bundleId as that item. It will be shown only on the main timeline — not within the opened bundle.
-          #
-          # On the main timeline, items that are shown are:
-          # - Items that have isBundleCover set to true
-          # - Items that do not have a bundleId  In a bundle sub-timeline, items that are shown are:
-          # - Items that have the bundleId in question AND isBundleCover set to false
-      "etag": "A String", # ETag for this item.
-      "id": "A String", # The ID of the timeline item. This is unique within a user's timeline.
-      "isDeleted": True or False, # When true, indicates this item is deleted, and only the ID property is set.
-      "bundleId": "A String", # The bundle ID for this item. Services can specify a bundleId to group many items together. They appear under a single top-level item on the device.
-      "isPinned": True or False, # When true, indicates this item is pinned, which means it's grouped alongside "active" items like navigation and hangouts, on the opposite side of the home screen from historical (non-pinned) timeline items. You can allow the user to toggle the value of this property with the TOGGLE_PINNED built-in menu item.
-      "title": "A String", # The title of this item.
-      "notification": { # Controls how notifications for a timeline item are presented to the user. # Controls how notifications for this item are presented on the device. If this is missing, no notification will be generated.
-        "level": "A String", # Describes how important the notification is. Allowed values are:
-            # - DEFAULT - Notifications of default importance. A chime will be played to alert users.
-        "deliveryTime": "A String", # The time at which the notification should be delivered.
-      },
-      "speakableText": "A String", # The speakable version of the content of this item. Along with the READ_ALOUD menu item, use this field to provide text that would be clearer when read aloud, or to provide extended information to what is displayed visually on Glass.
-          #
-          # Glassware should also specify the speakableType field, which will be spoken before this text in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
-      "html": "A String", # HTML content for this item. If both text and html are provided for an item, the html will be rendered in the timeline.
-          # Allowed HTML elements - You can use these elements in your timeline cards.
-          #
-          # - Headers: h1, h2, h3, h4, h5, h6
-          # - Images: img
-          # - Lists: li, ol, ul
-          # - HTML5 semantics: article, aside, details, figure, figcaption, footer, header, nav, section, summary, time
-          # - Structural: blockquote, br, div, hr, p, span
-          # - Style: b, big, center, em, i, u, s, small, strike, strong, style, sub, sup
-          # - Tables: table, tbody, td, tfoot, th, thead, tr
-          # Blocked HTML elements: These elements and their contents are removed from HTML payloads.
-          #
-          # - Document headers: head, title
-          # - Embeds: audio, embed, object, source, video
-          # - Frames: frame, frameset
-          # - Scripting: applet, script
-          # Other elements: Any elements that aren't listed are removed, but their contents are preserved.
-      "location": { # A geographic location that can be associated with a timeline item. # The geographic location associated with this item.
-        "kind": "mirror#location", # The type of resource. This is always mirror#location.
-        "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
-        "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
-        "longitude": 3.14, # The longitude, in degrees.
-        "address": "A String", # The full address of the location.
-        "latitude": 3.14, # The latitude, in degrees.
-        "id": "A String", # The ID of the location.
-        "accuracy": 3.14, # The accuracy of the location fix in meters.
-      },
-      "sourceItemId": "A String", # Opaque string you can use to map a timeline item to data in your own service.
-      "inReplyTo": "A String", # If this item was generated as a reply to another item, this field will be set to the ID of the item being replied to. This can be used to attach a reply to the appropriate conversation or post.
-      "updated": "A String", # The time at which this item was last modified, formatted according to RFC 3339.
-      "canonicalUrl": "A String", # A canonical URL pointing to the canonical/high quality version of the data represented by the timeline item.
-      "recipients": [ # A list of users or groups that this item has been shared with.
-        { # A person or group that can be used as a creator or a contact.
-            "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-            "displayName": "A String", # The name to display for this contact.
-            "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-              "A String",
-            ],
-            "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-                # - INDIVIDUAL - Represents a single person. This is the default.
-                # - GROUP - Represents more than a single person.
-            "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-            "source": "A String", # The ID of the application that created this contact. This is populated by the API
-            "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-            "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-              "A String",
-            ],
-            "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-          },
-      ],
-      "kind": "mirror#timelineItem", # The type of resource. This is always mirror#timelineItem.
-      "created": "A String", # The time at which this item was created, formatted according to RFC 3339.
-      "htmlPages": [ # Additional pages of HTML content associated with this item. If this field is specified, the item will be displayed as a bundle, with the html field as the cover. It is an error to specify this field without specifying the html field.
-        "A String",
-      ],
-      "pinScore": 42, # For pinned items, this determines the order in which the item is displayed in the timeline, with a higher score appearing closer to the clock. Note: setting this field is currently not supported.
-      "speakableType": "A String", # A speakable description of the type of this item. This will be announced to the user prior to reading the content of the item in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
-          #
-          # This should be a short, simple noun phrase such as "Email", "Text message", or "Daily Planet News Update".
-          #
-          # Glassware are encouraged to populate this field for every timeline item, even if the item does not contain speakableText or text so that the user can learn the type of the item without looking at the screen.
-      "selfLink": "A String", # A URL that can be used to retrieve this item.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(id, body=None, media_body=None)</code>
-  <pre>Updates a timeline item in place.
-
-Args:
-  id: string, The ID of the timeline item. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # Each item in the user's timeline is represented as a TimelineItem JSON structure, described below.
-    "attachments": [ # A list of media attachments associated with this item. As a convenience, you can refer to attachments in your HTML payloads with the attachment or cid scheme. For example:
-        # - attachment: <img src="attachment:attachment_index"> where attachment_index is the 0-based index of this array.
-        # - cid: <img src="cid:attachment_id"> where attachment_id is the ID of the attachment.
-      { # Represents media content, such as a photo, that can be attached to a timeline item.
-        "contentUrl": "A String", # The URL for the content.
-        "contentType": "A String", # The MIME type of the attachment.
-        "id": "A String", # The ID of the attachment.
-        "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
-      },
-    ],
-    "displayTime": "A String", # The time that should be displayed when this item is viewed in the timeline, formatted according to RFC 3339. This user's timeline is sorted chronologically on display time, so this will also determine where the item is displayed in the timeline. If not set by the service, the display time defaults to the updated time.
-    "creator": { # A person or group that can be used as a creator or a contact. # The user or group that created this item.
-        "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-        "displayName": "A String", # The name to display for this contact.
-        "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-          "A String",
-        ],
-        "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-            # - INDIVIDUAL - Represents a single person. This is the default.
-            # - GROUP - Represents more than a single person.
-        "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-        "source": "A String", # The ID of the application that created this contact. This is populated by the API
-        "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-        "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-          "A String",
-        ],
-        "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-      },
-    "text": "A String", # Text content of this item.
-    "menuItems": [ # A list of menu items that will be presented to the user when this item is selected in the timeline.
-      { # A custom menu item that can be presented to the user by a timeline item.
-        "action": "A String", # Controls the behavior when the user picks the menu option. Allowed values are:
-            # - CUSTOM - Custom action set by the service. When the user selects this menuItem, the API triggers a notification to your callbackUrl with the userActions.type set to CUSTOM and the userActions.payload set to the ID of this menu item. This is the default value.
-            # - Built-in actions:
-            # - REPLY - Initiate a reply to the timeline item using the voice recording UI. The creator attribute must be set in the timeline item for this menu to be available.
-            # - REPLY_ALL - Same behavior as REPLY. The original timeline item's recipients will be added to the reply item.
-            # - DELETE - Delete the timeline item.
-            # - SHARE - Share the timeline item with the available contacts.
-            # - READ_ALOUD - Read the timeline item's speakableText aloud; if this field is not set, read the text field; if none of those fields are set, this menu item is ignored.
-            # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phone_number attribute as recipient.
-            # - NAVIGATE - Navigate to the timeline item's location.
-            # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
-        "removeWhenSelected": True or False, # If set to true on a CUSTOM menu item, that item will be removed from the menu after it is selected.
-        "values": [ # For CUSTOM items, a list of values controlling the appearance of the menu item in each of its states. A value for the DEFAULT state must be provided. If the PENDING or CONFIRMED states are missing, they will not be shown.
-          { # A single value that is part of a MenuItem.
-            "iconUrl": "A String", # URL of an icon to display with the menu item.
-            "state": "A String", # The state that this value applies to. Allowed values are:
-                # - DEFAULT - Default value shown when displayed in the menuItems list.
-                # - PENDING - Value shown when the menuItem has been selected by the user but can still be cancelled.
-                # - CONFIRMED - Value shown when the menuItem has been selected by the user and can no longer be cancelled.
-            "displayName": "A String", # The name to display for the menu item.
-          },
-        ],
-        "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
-      },
-    ],
-    "isBundleCover": True or False, # Whether this item is a bundle cover.
-        # 
-        # If an item is marked as a bundle cover, it will be the entry point to the bundle of items that have the same bundleId as that item. It will be shown only on the main timeline — not within the opened bundle.
-        # 
-        # On the main timeline, items that are shown are:
-        # - Items that have isBundleCover set to true
-        # - Items that do not have a bundleId  In a bundle sub-timeline, items that are shown are:
-        # - Items that have the bundleId in question AND isBundleCover set to false
-    "etag": "A String", # ETag for this item.
-    "id": "A String", # The ID of the timeline item. This is unique within a user's timeline.
-    "isDeleted": True or False, # When true, indicates this item is deleted, and only the ID property is set.
-    "bundleId": "A String", # The bundle ID for this item. Services can specify a bundleId to group many items together. They appear under a single top-level item on the device.
-    "isPinned": True or False, # When true, indicates this item is pinned, which means it's grouped alongside "active" items like navigation and hangouts, on the opposite side of the home screen from historical (non-pinned) timeline items. You can allow the user to toggle the value of this property with the TOGGLE_PINNED built-in menu item.
-    "title": "A String", # The title of this item.
-    "notification": { # Controls how notifications for a timeline item are presented to the user. # Controls how notifications for this item are presented on the device. If this is missing, no notification will be generated.
-      "level": "A String", # Describes how important the notification is. Allowed values are:
-          # - DEFAULT - Notifications of default importance. A chime will be played to alert users.
-      "deliveryTime": "A String", # The time at which the notification should be delivered.
-    },
-    "speakableText": "A String", # The speakable version of the content of this item. Along with the READ_ALOUD menu item, use this field to provide text that would be clearer when read aloud, or to provide extended information to what is displayed visually on Glass.
-        # 
-        # Glassware should also specify the speakableType field, which will be spoken before this text in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
-    "html": "A String", # HTML content for this item. If both text and html are provided for an item, the html will be rendered in the timeline.
-        # Allowed HTML elements - You can use these elements in your timeline cards.
-        # 
-        # - Headers: h1, h2, h3, h4, h5, h6
-        # - Images: img
-        # - Lists: li, ol, ul
-        # - HTML5 semantics: article, aside, details, figure, figcaption, footer, header, nav, section, summary, time
-        # - Structural: blockquote, br, div, hr, p, span
-        # - Style: b, big, center, em, i, u, s, small, strike, strong, style, sub, sup
-        # - Tables: table, tbody, td, tfoot, th, thead, tr
-        # Blocked HTML elements: These elements and their contents are removed from HTML payloads.
-        # 
-        # - Document headers: head, title
-        # - Embeds: audio, embed, object, source, video
-        # - Frames: frame, frameset
-        # - Scripting: applet, script
-        # Other elements: Any elements that aren't listed are removed, but their contents are preserved.
-    "location": { # A geographic location that can be associated with a timeline item. # The geographic location associated with this item.
-      "kind": "mirror#location", # The type of resource. This is always mirror#location.
-      "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
-      "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
-      "longitude": 3.14, # The longitude, in degrees.
-      "address": "A String", # The full address of the location.
-      "latitude": 3.14, # The latitude, in degrees.
-      "id": "A String", # The ID of the location.
-      "accuracy": 3.14, # The accuracy of the location fix in meters.
-    },
-    "sourceItemId": "A String", # Opaque string you can use to map a timeline item to data in your own service.
-    "inReplyTo": "A String", # If this item was generated as a reply to another item, this field will be set to the ID of the item being replied to. This can be used to attach a reply to the appropriate conversation or post.
-    "updated": "A String", # The time at which this item was last modified, formatted according to RFC 3339.
-    "canonicalUrl": "A String", # A canonical URL pointing to the canonical/high quality version of the data represented by the timeline item.
-    "recipients": [ # A list of users or groups that this item has been shared with.
-      { # A person or group that can be used as a creator or a contact.
-          "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-          "displayName": "A String", # The name to display for this contact.
-          "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-            "A String",
-          ],
-          "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-              # - INDIVIDUAL - Represents a single person. This is the default.
-              # - GROUP - Represents more than a single person.
-          "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-          "source": "A String", # The ID of the application that created this contact. This is populated by the API
-          "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-          "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-            "A String",
-          ],
-          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-        },
-    ],
-    "kind": "mirror#timelineItem", # The type of resource. This is always mirror#timelineItem.
-    "created": "A String", # The time at which this item was created, formatted according to RFC 3339.
-    "htmlPages": [ # Additional pages of HTML content associated with this item. If this field is specified, the item will be displayed as a bundle, with the html field as the cover. It is an error to specify this field without specifying the html field.
-      "A String",
-    ],
-    "pinScore": 42, # For pinned items, this determines the order in which the item is displayed in the timeline, with a higher score appearing closer to the clock. Note: setting this field is currently not supported.
-    "speakableType": "A String", # A speakable description of the type of this item. This will be announced to the user prior to reading the content of the item in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
-        # 
-        # This should be a short, simple noun phrase such as "Email", "Text message", or "Daily Planet News Update".
-        # 
-        # Glassware are encouraged to populate this field for every timeline item, even if the item does not contain speakableText or text so that the user can learn the type of the item without looking at the screen.
-    "selfLink": "A String", # A URL that can be used to retrieve this item.
-  }
-
-  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
-
-Returns:
-  An object of the form:
-
-    { # Each item in the user's timeline is represented as a TimelineItem JSON structure, described below.
-      "attachments": [ # A list of media attachments associated with this item. As a convenience, you can refer to attachments in your HTML payloads with the attachment or cid scheme. For example:
-          # - attachment: <img src="attachment:attachment_index"> where attachment_index is the 0-based index of this array.
-          # - cid: <img src="cid:attachment_id"> where attachment_id is the ID of the attachment.
-        { # Represents media content, such as a photo, that can be attached to a timeline item.
-          "contentUrl": "A String", # The URL for the content.
-          "contentType": "A String", # The MIME type of the attachment.
-          "id": "A String", # The ID of the attachment.
-          "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
-        },
-      ],
-      "displayTime": "A String", # The time that should be displayed when this item is viewed in the timeline, formatted according to RFC 3339. This user's timeline is sorted chronologically on display time, so this will also determine where the item is displayed in the timeline. If not set by the service, the display time defaults to the updated time.
-      "creator": { # A person or group that can be used as a creator or a contact. # The user or group that created this item.
-          "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-          "displayName": "A String", # The name to display for this contact.
-          "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-            "A String",
-          ],
-          "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-              # - INDIVIDUAL - Represents a single person. This is the default.
-              # - GROUP - Represents more than a single person.
-          "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-          "source": "A String", # The ID of the application that created this contact. This is populated by the API
-          "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-          "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-            "A String",
-          ],
-          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-        },
-      "text": "A String", # Text content of this item.
-      "menuItems": [ # A list of menu items that will be presented to the user when this item is selected in the timeline.
-        { # A custom menu item that can be presented to the user by a timeline item.
-          "action": "A String", # Controls the behavior when the user picks the menu option. Allowed values are:
-              # - CUSTOM - Custom action set by the service. When the user selects this menuItem, the API triggers a notification to your callbackUrl with the userActions.type set to CUSTOM and the userActions.payload set to the ID of this menu item. This is the default value.
-              # - Built-in actions:
-              # - REPLY - Initiate a reply to the timeline item using the voice recording UI. The creator attribute must be set in the timeline item for this menu to be available.
-              # - REPLY_ALL - Same behavior as REPLY. The original timeline item's recipients will be added to the reply item.
-              # - DELETE - Delete the timeline item.
-              # - SHARE - Share the timeline item with the available contacts.
-              # - READ_ALOUD - Read the timeline item's speakableText aloud; if this field is not set, read the text field; if none of those fields are set, this menu item is ignored.
-              # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phone_number attribute as recipient.
-              # - NAVIGATE - Navigate to the timeline item's location.
-              # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
-          "removeWhenSelected": True or False, # If set to true on a CUSTOM menu item, that item will be removed from the menu after it is selected.
-          "values": [ # For CUSTOM items, a list of values controlling the appearance of the menu item in each of its states. A value for the DEFAULT state must be provided. If the PENDING or CONFIRMED states are missing, they will not be shown.
-            { # A single value that is part of a MenuItem.
-              "iconUrl": "A String", # URL of an icon to display with the menu item.
-              "state": "A String", # The state that this value applies to. Allowed values are:
-                  # - DEFAULT - Default value shown when displayed in the menuItems list.
-                  # - PENDING - Value shown when the menuItem has been selected by the user but can still be cancelled.
-                  # - CONFIRMED - Value shown when the menuItem has been selected by the user and can no longer be cancelled.
-              "displayName": "A String", # The name to display for the menu item.
-            },
-          ],
-          "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
-        },
-      ],
-      "isBundleCover": True or False, # Whether this item is a bundle cover.
-          #
-          # If an item is marked as a bundle cover, it will be the entry point to the bundle of items that have the same bundleId as that item. It will be shown only on the main timeline — not within the opened bundle.
-          #
-          # On the main timeline, items that are shown are:
-          # - Items that have isBundleCover set to true
-          # - Items that do not have a bundleId  In a bundle sub-timeline, items that are shown are:
-          # - Items that have the bundleId in question AND isBundleCover set to false
-      "etag": "A String", # ETag for this item.
-      "id": "A String", # The ID of the timeline item. This is unique within a user's timeline.
-      "isDeleted": True or False, # When true, indicates this item is deleted, and only the ID property is set.
-      "bundleId": "A String", # The bundle ID for this item. Services can specify a bundleId to group many items together. They appear under a single top-level item on the device.
-      "isPinned": True or False, # When true, indicates this item is pinned, which means it's grouped alongside "active" items like navigation and hangouts, on the opposite side of the home screen from historical (non-pinned) timeline items. You can allow the user to toggle the value of this property with the TOGGLE_PINNED built-in menu item.
-      "title": "A String", # The title of this item.
-      "notification": { # Controls how notifications for a timeline item are presented to the user. # Controls how notifications for this item are presented on the device. If this is missing, no notification will be generated.
-        "level": "A String", # Describes how important the notification is. Allowed values are:
-            # - DEFAULT - Notifications of default importance. A chime will be played to alert users.
-        "deliveryTime": "A String", # The time at which the notification should be delivered.
-      },
-      "speakableText": "A String", # The speakable version of the content of this item. Along with the READ_ALOUD menu item, use this field to provide text that would be clearer when read aloud, or to provide extended information to what is displayed visually on Glass.
-          #
-          # Glassware should also specify the speakableType field, which will be spoken before this text in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
-      "html": "A String", # HTML content for this item. If both text and html are provided for an item, the html will be rendered in the timeline.
-          # Allowed HTML elements - You can use these elements in your timeline cards.
-          #
-          # - Headers: h1, h2, h3, h4, h5, h6
-          # - Images: img
-          # - Lists: li, ol, ul
-          # - HTML5 semantics: article, aside, details, figure, figcaption, footer, header, nav, section, summary, time
-          # - Structural: blockquote, br, div, hr, p, span
-          # - Style: b, big, center, em, i, u, s, small, strike, strong, style, sub, sup
-          # - Tables: table, tbody, td, tfoot, th, thead, tr
-          # Blocked HTML elements: These elements and their contents are removed from HTML payloads.
-          #
-          # - Document headers: head, title
-          # - Embeds: audio, embed, object, source, video
-          # - Frames: frame, frameset
-          # - Scripting: applet, script
-          # Other elements: Any elements that aren't listed are removed, but their contents are preserved.
-      "location": { # A geographic location that can be associated with a timeline item. # The geographic location associated with this item.
-        "kind": "mirror#location", # The type of resource. This is always mirror#location.
-        "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
-        "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
-        "longitude": 3.14, # The longitude, in degrees.
-        "address": "A String", # The full address of the location.
-        "latitude": 3.14, # The latitude, in degrees.
-        "id": "A String", # The ID of the location.
-        "accuracy": 3.14, # The accuracy of the location fix in meters.
-      },
-      "sourceItemId": "A String", # Opaque string you can use to map a timeline item to data in your own service.
-      "inReplyTo": "A String", # If this item was generated as a reply to another item, this field will be set to the ID of the item being replied to. This can be used to attach a reply to the appropriate conversation or post.
-      "updated": "A String", # The time at which this item was last modified, formatted according to RFC 3339.
-      "canonicalUrl": "A String", # A canonical URL pointing to the canonical/high quality version of the data represented by the timeline item.
-      "recipients": [ # A list of users or groups that this item has been shared with.
-        { # A person or group that can be used as a creator or a contact.
-            "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
-            "displayName": "A String", # The name to display for this contact.
-            "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
-              "A String",
-            ],
-            "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
-                # - INDIVIDUAL - Represents a single person. This is the default.
-                # - GROUP - Represents more than a single person.
-            "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
-            "source": "A String", # The ID of the application that created this contact. This is populated by the API
-            "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
-            "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
-              "A String",
-            ],
-            "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
-          },
-      ],
-      "kind": "mirror#timelineItem", # The type of resource. This is always mirror#timelineItem.
-      "created": "A String", # The time at which this item was created, formatted according to RFC 3339.
-      "htmlPages": [ # Additional pages of HTML content associated with this item. If this field is specified, the item will be displayed as a bundle, with the html field as the cover. It is an error to specify this field without specifying the html field.
-        "A String",
-      ],
-      "pinScore": 42, # For pinned items, this determines the order in which the item is displayed in the timeline, with a higher score appearing closer to the clock. Note: setting this field is currently not supported.
-      "speakableType": "A String", # A speakable description of the type of this item. This will be announced to the user prior to reading the content of the item in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
-          #
-          # This should be a short, simple noun phrase such as "Email", "Text message", or "Daily Planet News Update".
-          #
-          # Glassware are encouraged to populate this field for every timeline item, even if the item does not contain speakableText or text so that the user can learn the type of the item without looking at the screen.
-      "selfLink": "A String", # A URL that can be used to retrieve this item.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.featured.html b/docs/dyn/moderator_v1.featured.html
deleted file mode 100644
index 4f5086f..0000000
--- a/docs/dyn/moderator_v1.featured.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a> . <a href="moderator_v1.featured.html">featured</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="moderator_v1.featured.series.html">series()</a></code>
-</p>
-<p class="firstline">Returns the series Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.featured.series.html b/docs/dyn/moderator_v1.featured.series.html
deleted file mode 100644
index e97cdd1..0000000
--- a/docs/dyn/moderator_v1.featured.series.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a> . <a href="moderator_v1.featured.html">featured</a> . <a href="moderator_v1.featured.series.html">series</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list()</a></code></p>
-<p class="firstline">Lists the featured series.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list()</code>
-  <pre>Lists the featured series.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [
-      {
-        "kind": "moderator#series",
-        "description": "A String",
-        "rules": {
-          "votes": {
-            "close": "A String",
-            "open": "A String",
-          },
-          "submissions": {
-            "close": "A String",
-            "open": "A String",
-          },
-        },
-        "unauthVotingAllowed": True or False,
-        "videoSubmissionAllowed": True or False,
-        "name": "A String",
-        "numTopics": 42,
-        "anonymousSubmissionAllowed": True or False,
-        "unauthSubmissionAllowed": True or False,
-        "id": {
-          "seriesId": "A String",
-        },
-        "counters": {
-          "users": 42,
-          "noneVotes": 42,
-          "videoSubmissions": 42,
-          "minusVotes": 42,
-          "anonymousSubmissions": 42,
-          "submissions": 42,
-          "plusVotes": 42,
-        },
-      },
-    ],
-    "kind": "moderator#seriesList",
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.global_.html b/docs/dyn/moderator_v1.global_.html
deleted file mode 100644
index 595acb3..0000000
--- a/docs/dyn/moderator_v1.global_.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a> . <a href="moderator_v1.global_.html">global_</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="moderator_v1.global_.series.html">series()</a></code>
-</p>
-<p class="firstline">Returns the series Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.global_.series.html b/docs/dyn/moderator_v1.global_.series.html
deleted file mode 100644
index d212e93..0000000
--- a/docs/dyn/moderator_v1.global_.series.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a> . <a href="moderator_v1.global_.html">global_</a> . <a href="moderator_v1.global_.series.html">series</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(q=None, max_results=None, start_index=None)</a></code></p>
-<p class="firstline">Searches the public series and returns the search results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(q=None, max_results=None, start_index=None)</code>
-  <pre>Searches the public series and returns the search results.
-
-Args:
-  q: string, Search query.
-  max_results: integer, Maximum number of results to return.
-  start_index: integer, Index of the first result to be retrieved.
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [
-      {
-        "kind": "moderator#series",
-        "description": "A String",
-        "rules": {
-          "votes": {
-            "close": "A String",
-            "open": "A String",
-          },
-          "submissions": {
-            "close": "A String",
-            "open": "A String",
-          },
-        },
-        "unauthVotingAllowed": True or False,
-        "videoSubmissionAllowed": True or False,
-        "name": "A String",
-        "numTopics": 42,
-        "anonymousSubmissionAllowed": True or False,
-        "unauthSubmissionAllowed": True or False,
-        "id": {
-          "seriesId": "A String",
-        },
-        "counters": {
-          "users": 42,
-          "noneVotes": 42,
-          "videoSubmissions": 42,
-          "minusVotes": 42,
-          "anonymousSubmissions": 42,
-          "submissions": 42,
-          "plusVotes": 42,
-        },
-      },
-    ],
-    "kind": "moderator#seriesList",
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.html b/docs/dyn/moderator_v1.html
deleted file mode 100644
index 7b175e1..0000000
--- a/docs/dyn/moderator_v1.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="moderator_v1.featured.html">featured()</a></code>
-</p>
-<p class="firstline">Returns the featured Resource.</p>
-
-<p class="toc_element">
-  <code><a href="moderator_v1.global_.html">global_()</a></code>
-</p>
-<p class="firstline">Returns the global_ Resource.</p>
-
-<p class="toc_element">
-  <code><a href="moderator_v1.my.html">my()</a></code>
-</p>
-<p class="firstline">Returns the my Resource.</p>
-
-<p class="toc_element">
-  <code><a href="moderator_v1.myrecent.html">myrecent()</a></code>
-</p>
-<p class="firstline">Returns the myrecent Resource.</p>
-
-<p class="toc_element">
-  <code><a href="moderator_v1.profiles.html">profiles()</a></code>
-</p>
-<p class="firstline">Returns the profiles Resource.</p>
-
-<p class="toc_element">
-  <code><a href="moderator_v1.responses.html">responses()</a></code>
-</p>
-<p class="firstline">Returns the responses Resource.</p>
-
-<p class="toc_element">
-  <code><a href="moderator_v1.series.html">series()</a></code>
-</p>
-<p class="firstline">Returns the series Resource.</p>
-
-<p class="toc_element">
-  <code><a href="moderator_v1.submissions.html">submissions()</a></code>
-</p>
-<p class="firstline">Returns the submissions Resource.</p>
-
-<p class="toc_element">
-  <code><a href="moderator_v1.tags.html">tags()</a></code>
-</p>
-<p class="firstline">Returns the tags Resource.</p>
-
-<p class="toc_element">
-  <code><a href="moderator_v1.topics.html">topics()</a></code>
-</p>
-<p class="firstline">Returns the topics Resource.</p>
-
-<p class="toc_element">
-  <code><a href="moderator_v1.votes.html">votes()</a></code>
-</p>
-<p class="firstline">Returns the votes Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.my.html b/docs/dyn/moderator_v1.my.html
deleted file mode 100644
index bbe8412..0000000
--- a/docs/dyn/moderator_v1.my.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a> . <a href="moderator_v1.my.html">my</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="moderator_v1.my.series.html">series()</a></code>
-</p>
-<p class="firstline">Returns the series Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.my.series.html b/docs/dyn/moderator_v1.my.series.html
deleted file mode 100644
index 6369258..0000000
--- a/docs/dyn/moderator_v1.my.series.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a> . <a href="moderator_v1.my.html">my</a> . <a href="moderator_v1.my.series.html">series</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list()</a></code></p>
-<p class="firstline">Lists all series created by the authenticated user.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list()</code>
-  <pre>Lists all series created by the authenticated user.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [
-      {
-        "kind": "moderator#series",
-        "description": "A String",
-        "rules": {
-          "votes": {
-            "close": "A String",
-            "open": "A String",
-          },
-          "submissions": {
-            "close": "A String",
-            "open": "A String",
-          },
-        },
-        "unauthVotingAllowed": True or False,
-        "videoSubmissionAllowed": True or False,
-        "name": "A String",
-        "numTopics": 42,
-        "anonymousSubmissionAllowed": True or False,
-        "unauthSubmissionAllowed": True or False,
-        "id": {
-          "seriesId": "A String",
-        },
-        "counters": {
-          "users": 42,
-          "noneVotes": 42,
-          "videoSubmissions": 42,
-          "minusVotes": 42,
-          "anonymousSubmissions": 42,
-          "submissions": 42,
-          "plusVotes": 42,
-        },
-      },
-    ],
-    "kind": "moderator#seriesList",
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.myrecent.html b/docs/dyn/moderator_v1.myrecent.html
deleted file mode 100644
index 6014162..0000000
--- a/docs/dyn/moderator_v1.myrecent.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a> . <a href="moderator_v1.myrecent.html">myrecent</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="moderator_v1.myrecent.series.html">series()</a></code>
-</p>
-<p class="firstline">Returns the series Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.myrecent.series.html b/docs/dyn/moderator_v1.myrecent.series.html
deleted file mode 100644
index bdf2808..0000000
--- a/docs/dyn/moderator_v1.myrecent.series.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a> . <a href="moderator_v1.myrecent.html">myrecent</a> . <a href="moderator_v1.myrecent.series.html">series</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list()</a></code></p>
-<p class="firstline">Lists the series the authenticated user has visited.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list()</code>
-  <pre>Lists the series the authenticated user has visited.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [
-      {
-        "kind": "moderator#series",
-        "description": "A String",
-        "rules": {
-          "votes": {
-            "close": "A String",
-            "open": "A String",
-          },
-          "submissions": {
-            "close": "A String",
-            "open": "A String",
-          },
-        },
-        "unauthVotingAllowed": True or False,
-        "videoSubmissionAllowed": True or False,
-        "name": "A String",
-        "numTopics": 42,
-        "anonymousSubmissionAllowed": True or False,
-        "unauthSubmissionAllowed": True or False,
-        "id": {
-          "seriesId": "A String",
-        },
-        "counters": {
-          "users": 42,
-          "noneVotes": 42,
-          "videoSubmissions": 42,
-          "minusVotes": 42,
-          "anonymousSubmissions": 42,
-          "submissions": 42,
-          "plusVotes": 42,
-        },
-      },
-    ],
-    "kind": "moderator#seriesList",
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.profiles.html b/docs/dyn/moderator_v1.profiles.html
deleted file mode 100644
index 3485e4f..0000000
--- a/docs/dyn/moderator_v1.profiles.html
+++ /dev/null
@@ -1,208 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a> . <a href="moderator_v1.profiles.html">profiles</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get()</a></code></p>
-<p class="firstline">Returns the profile information for the authenticated user.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(body)</a></code></p>
-<p class="firstline">Updates the profile information for the authenticated user. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(body)</a></code></p>
-<p class="firstline">Updates the profile information for the authenticated user.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get()</code>
-  <pre>Returns the profile information for the authenticated user.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "moderator#profile",
-      "attribution": {
-        "geo": {
-          "latitude": 3.14,
-          "location": "A String",
-          "longitude": 3.14,
-        },
-        "displayName": "A String",
-        "location": "A String",
-        "avatarUrl": "A String",
-      },
-      "id": {
-        "user": "A String",
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(body)</code>
-  <pre>Updates the profile information for the authenticated user. This method supports patch semantics.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "moderator#profile",
-    "attribution": {
-      "geo": {
-        "latitude": 3.14,
-        "location": "A String",
-        "longitude": 3.14,
-      },
-      "displayName": "A String",
-      "location": "A String",
-      "avatarUrl": "A String",
-    },
-    "id": {
-      "user": "A String",
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "moderator#profile",
-      "attribution": {
-        "geo": {
-          "latitude": 3.14,
-          "location": "A String",
-          "longitude": 3.14,
-        },
-        "displayName": "A String",
-        "location": "A String",
-        "avatarUrl": "A String",
-      },
-      "id": {
-        "user": "A String",
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(body)</code>
-  <pre>Updates the profile information for the authenticated user.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "moderator#profile",
-    "attribution": {
-      "geo": {
-        "latitude": 3.14,
-        "location": "A String",
-        "longitude": 3.14,
-      },
-      "displayName": "A String",
-      "location": "A String",
-      "avatarUrl": "A String",
-    },
-    "id": {
-      "user": "A String",
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "moderator#profile",
-      "attribution": {
-        "geo": {
-          "latitude": 3.14,
-          "location": "A String",
-          "longitude": 3.14,
-        },
-        "displayName": "A String",
-        "location": "A String",
-        "avatarUrl": "A String",
-      },
-      "id": {
-        "user": "A String",
-      },
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.responses.html b/docs/dyn/moderator_v1.responses.html
deleted file mode 100644
index ec165ae..0000000
--- a/docs/dyn/moderator_v1.responses.html
+++ /dev/null
@@ -1,272 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a> . <a href="moderator_v1.responses.html">responses</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#insert">insert(seriesId, topicId, parentSubmissionId, body, unauthToken=None, anonymous=None)</a></code></p>
-<p class="firstline">Inserts a response for the specified submission in the specified topic within the specified series.</p>
-<p class="toc_element">
-  <code><a href="#list">list(seriesId, submissionId, sort=None, author=None, q=None, max_results=None, hasAttachedVideo=None, start_index=None)</a></code></p>
-<p class="firstline">Lists or searches the responses for the specified submission within the specified series and returns the search results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="insert">insert(seriesId, topicId, parentSubmissionId, body, unauthToken=None, anonymous=None)</code>
-  <pre>Inserts a response for the specified submission in the specified topic within the specified series.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  topicId: integer, The decimal ID of the Topic within the Series. (required)
-  parentSubmissionId: integer, The decimal ID of the parent Submission within the Series. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "moderator#submission",
-    "attribution": {
-      "displayName": "A String",
-      "location": "A String",
-      "avatarUrl": "A String",
-    },
-    "created": "A String",
-    "text": "A String",
-    "topics": [
-      {
-        "id": {
-          "seriesId": "A String",
-          "topicId": "A String",
-        },
-      },
-    ],
-    "author": "A String",
-    "translations": [
-      {
-        "lang": "A String",
-        "text": "A String",
-      },
-    ],
-    "parentSubmissionId": {
-      "seriesId": "A String",
-      "submissionId": "A String",
-    },
-    "vote": {
-      "vote": "A String",
-      "flag": "A String",
-    },
-    "attachmentUrl": "A String",
-    "geo": {
-      "latitude": 3.14,
-      "location": "A String",
-      "longitude": 3.14,
-    },
-    "id": {
-      "seriesId": "A String",
-      "submissionId": "A String",
-    },
-    "counters": {
-      "noneVotes": 42,
-      "minusVotes": 42,
-      "plusVotes": 42,
-    },
-  }
-
-  unauthToken: string, User identifier for unauthenticated usage mode
-  anonymous: boolean, Set to true to mark the new submission as anonymous.
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "moderator#submission",
-      "attribution": {
-        "displayName": "A String",
-        "location": "A String",
-        "avatarUrl": "A String",
-      },
-      "created": "A String",
-      "text": "A String",
-      "topics": [
-        {
-          "id": {
-            "seriesId": "A String",
-            "topicId": "A String",
-          },
-        },
-      ],
-      "author": "A String",
-      "translations": [
-        {
-          "lang": "A String",
-          "text": "A String",
-        },
-      ],
-      "parentSubmissionId": {
-        "seriesId": "A String",
-        "submissionId": "A String",
-      },
-      "vote": {
-        "vote": "A String",
-        "flag": "A String",
-      },
-      "attachmentUrl": "A String",
-      "geo": {
-        "latitude": 3.14,
-        "location": "A String",
-        "longitude": 3.14,
-      },
-      "id": {
-        "seriesId": "A String",
-        "submissionId": "A String",
-      },
-      "counters": {
-        "noneVotes": 42,
-        "minusVotes": 42,
-        "plusVotes": 42,
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(seriesId, submissionId, sort=None, author=None, q=None, max_results=None, hasAttachedVideo=None, start_index=None)</code>
-  <pre>Lists or searches the responses for the specified submission within the specified series and returns the search results.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  submissionId: integer, The decimal ID of the Submission within the Series. (required)
-  sort: string, Sort order.
-  author: string, Restricts the results to submissions by a specific author.
-  q: string, Search query.
-  max_results: integer, Maximum number of results to return.
-  hasAttachedVideo: boolean, Specifies whether to restrict to submissions that have videos attached.
-  start_index: integer, Index of the first result to be retrieved.
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [
-      {
-          "kind": "moderator#submission",
-          "attribution": {
-            "displayName": "A String",
-            "location": "A String",
-            "avatarUrl": "A String",
-          },
-          "created": "A String",
-          "text": "A String",
-          "topics": [
-            {
-              "id": {
-                "seriesId": "A String",
-                "topicId": "A String",
-              },
-            },
-          ],
-          "author": "A String",
-          "translations": [
-            {
-              "lang": "A String",
-              "text": "A String",
-            },
-          ],
-          "parentSubmissionId": {
-            "seriesId": "A String",
-            "submissionId": "A String",
-          },
-          "vote": {
-            "vote": "A String",
-            "flag": "A String",
-          },
-          "attachmentUrl": "A String",
-          "geo": {
-            "latitude": 3.14,
-            "location": "A String",
-            "longitude": 3.14,
-          },
-          "id": {
-            "seriesId": "A String",
-            "submissionId": "A String",
-          },
-          "counters": {
-            "noneVotes": 42,
-            "minusVotes": 42,
-            "plusVotes": 42,
-          },
-        },
-    ],
-    "kind": "moderator#submissionList",
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.series.html b/docs/dyn/moderator_v1.series.html
deleted file mode 100644
index e6d53cb..0000000
--- a/docs/dyn/moderator_v1.series.html
+++ /dev/null
@@ -1,437 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a> . <a href="moderator_v1.series.html">series</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="moderator_v1.series.responses.html">responses()</a></code>
-</p>
-<p class="firstline">Returns the responses Resource.</p>
-
-<p class="toc_element">
-  <code><a href="moderator_v1.series.submissions.html">submissions()</a></code>
-</p>
-<p class="firstline">Returns the submissions Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get(seriesId)</a></code></p>
-<p class="firstline">Returns the specified series.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(body)</a></code></p>
-<p class="firstline">Inserts a new series.</p>
-<p class="toc_element">
-  <code><a href="#list">list(q=None, max_results=None, start_index=None)</a></code></p>
-<p class="firstline">Searches the series and returns the search results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(seriesId, body)</a></code></p>
-<p class="firstline">Updates the specified series. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(seriesId, body)</a></code></p>
-<p class="firstline">Updates the specified series.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(seriesId)</code>
-  <pre>Returns the specified series.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "moderator#series",
-    "description": "A String",
-    "rules": {
-      "votes": {
-        "close": "A String",
-        "open": "A String",
-      },
-      "submissions": {
-        "close": "A String",
-        "open": "A String",
-      },
-    },
-    "unauthVotingAllowed": True or False,
-    "videoSubmissionAllowed": True or False,
-    "name": "A String",
-    "numTopics": 42,
-    "anonymousSubmissionAllowed": True or False,
-    "unauthSubmissionAllowed": True or False,
-    "id": {
-      "seriesId": "A String",
-    },
-    "counters": {
-      "users": 42,
-      "noneVotes": 42,
-      "videoSubmissions": 42,
-      "minusVotes": 42,
-      "anonymousSubmissions": 42,
-      "submissions": 42,
-      "plusVotes": 42,
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(body)</code>
-  <pre>Inserts a new series.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-  "kind": "moderator#series",
-  "description": "A String",
-  "rules": {
-    "votes": {
-      "close": "A String",
-      "open": "A String",
-    },
-    "submissions": {
-      "close": "A String",
-      "open": "A String",
-    },
-  },
-  "unauthVotingAllowed": True or False,
-  "videoSubmissionAllowed": True or False,
-  "name": "A String",
-  "numTopics": 42,
-  "anonymousSubmissionAllowed": True or False,
-  "unauthSubmissionAllowed": True or False,
-  "id": {
-    "seriesId": "A String",
-  },
-  "counters": {
-    "users": 42,
-    "noneVotes": 42,
-    "videoSubmissions": 42,
-    "minusVotes": 42,
-    "anonymousSubmissions": 42,
-    "submissions": 42,
-    "plusVotes": 42,
-  },
-}
-
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "moderator#series",
-    "description": "A String",
-    "rules": {
-      "votes": {
-        "close": "A String",
-        "open": "A String",
-      },
-      "submissions": {
-        "close": "A String",
-        "open": "A String",
-      },
-    },
-    "unauthVotingAllowed": True or False,
-    "videoSubmissionAllowed": True or False,
-    "name": "A String",
-    "numTopics": 42,
-    "anonymousSubmissionAllowed": True or False,
-    "unauthSubmissionAllowed": True or False,
-    "id": {
-      "seriesId": "A String",
-    },
-    "counters": {
-      "users": 42,
-      "noneVotes": 42,
-      "videoSubmissions": 42,
-      "minusVotes": 42,
-      "anonymousSubmissions": 42,
-      "submissions": 42,
-      "plusVotes": 42,
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(q=None, max_results=None, start_index=None)</code>
-  <pre>Searches the series and returns the search results.
-
-Args:
-  q: string, Search query.
-  max_results: integer, Maximum number of results to return.
-  start_index: integer, Index of the first result to be retrieved.
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [
-      {
-        "kind": "moderator#series",
-        "description": "A String",
-        "rules": {
-          "votes": {
-            "close": "A String",
-            "open": "A String",
-          },
-          "submissions": {
-            "close": "A String",
-            "open": "A String",
-          },
-        },
-        "unauthVotingAllowed": True or False,
-        "videoSubmissionAllowed": True or False,
-        "name": "A String",
-        "numTopics": 42,
-        "anonymousSubmissionAllowed": True or False,
-        "unauthSubmissionAllowed": True or False,
-        "id": {
-          "seriesId": "A String",
-        },
-        "counters": {
-          "users": 42,
-          "noneVotes": 42,
-          "videoSubmissions": 42,
-          "minusVotes": 42,
-          "anonymousSubmissions": 42,
-          "submissions": 42,
-          "plusVotes": 42,
-        },
-      },
-    ],
-    "kind": "moderator#seriesList",
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(seriesId, body)</code>
-  <pre>Updates the specified series. This method supports patch semantics.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-  "kind": "moderator#series",
-  "description": "A String",
-  "rules": {
-    "votes": {
-      "close": "A String",
-      "open": "A String",
-    },
-    "submissions": {
-      "close": "A String",
-      "open": "A String",
-    },
-  },
-  "unauthVotingAllowed": True or False,
-  "videoSubmissionAllowed": True or False,
-  "name": "A String",
-  "numTopics": 42,
-  "anonymousSubmissionAllowed": True or False,
-  "unauthSubmissionAllowed": True or False,
-  "id": {
-    "seriesId": "A String",
-  },
-  "counters": {
-    "users": 42,
-    "noneVotes": 42,
-    "videoSubmissions": 42,
-    "minusVotes": 42,
-    "anonymousSubmissions": 42,
-    "submissions": 42,
-    "plusVotes": 42,
-  },
-}
-
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "moderator#series",
-    "description": "A String",
-    "rules": {
-      "votes": {
-        "close": "A String",
-        "open": "A String",
-      },
-      "submissions": {
-        "close": "A String",
-        "open": "A String",
-      },
-    },
-    "unauthVotingAllowed": True or False,
-    "videoSubmissionAllowed": True or False,
-    "name": "A String",
-    "numTopics": 42,
-    "anonymousSubmissionAllowed": True or False,
-    "unauthSubmissionAllowed": True or False,
-    "id": {
-      "seriesId": "A String",
-    },
-    "counters": {
-      "users": 42,
-      "noneVotes": 42,
-      "videoSubmissions": 42,
-      "minusVotes": 42,
-      "anonymousSubmissions": 42,
-      "submissions": 42,
-      "plusVotes": 42,
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(seriesId, body)</code>
-  <pre>Updates the specified series.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-  "kind": "moderator#series",
-  "description": "A String",
-  "rules": {
-    "votes": {
-      "close": "A String",
-      "open": "A String",
-    },
-    "submissions": {
-      "close": "A String",
-      "open": "A String",
-    },
-  },
-  "unauthVotingAllowed": True or False,
-  "videoSubmissionAllowed": True or False,
-  "name": "A String",
-  "numTopics": 42,
-  "anonymousSubmissionAllowed": True or False,
-  "unauthSubmissionAllowed": True or False,
-  "id": {
-    "seriesId": "A String",
-  },
-  "counters": {
-    "users": 42,
-    "noneVotes": 42,
-    "videoSubmissions": 42,
-    "minusVotes": 42,
-    "anonymousSubmissions": 42,
-    "submissions": 42,
-    "plusVotes": 42,
-  },
-}
-
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "moderator#series",
-    "description": "A String",
-    "rules": {
-      "votes": {
-        "close": "A String",
-        "open": "A String",
-      },
-      "submissions": {
-        "close": "A String",
-        "open": "A String",
-      },
-    },
-    "unauthVotingAllowed": True or False,
-    "videoSubmissionAllowed": True or False,
-    "name": "A String",
-    "numTopics": 42,
-    "anonymousSubmissionAllowed": True or False,
-    "unauthSubmissionAllowed": True or False,
-    "id": {
-      "seriesId": "A String",
-    },
-    "counters": {
-      "users": 42,
-      "noneVotes": 42,
-      "videoSubmissions": 42,
-      "minusVotes": 42,
-      "anonymousSubmissions": 42,
-      "submissions": 42,
-      "plusVotes": 42,
-    },
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.series.responses.html b/docs/dyn/moderator_v1.series.responses.html
deleted file mode 100644
index f884a5f..0000000
--- a/docs/dyn/moderator_v1.series.responses.html
+++ /dev/null
@@ -1,136 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a> . <a href="moderator_v1.series.html">series</a> . <a href="moderator_v1.series.responses.html">responses</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(seriesId, sort=None, author=None, q=None, max_results=None, hasAttachedVideo=None, start_index=None)</a></code></p>
-<p class="firstline">Searches the responses for the specified series and returns the search results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(seriesId, sort=None, author=None, q=None, max_results=None, hasAttachedVideo=None, start_index=None)</code>
-  <pre>Searches the responses for the specified series and returns the search results.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  sort: string, Sort order.
-  author: string, Restricts the results to submissions by a specific author.
-  q: string, Search query.
-  max_results: integer, Maximum number of results to return.
-  hasAttachedVideo: boolean, Specifies whether to restrict to submissions that have videos attached.
-  start_index: integer, Index of the first result to be retrieved.
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [
-      {
-        "kind": "moderator#series",
-        "description": "A String",
-        "rules": {
-          "votes": {
-            "close": "A String",
-            "open": "A String",
-          },
-          "submissions": {
-            "close": "A String",
-            "open": "A String",
-          },
-        },
-        "unauthVotingAllowed": True or False,
-        "videoSubmissionAllowed": True or False,
-        "name": "A String",
-        "numTopics": 42,
-        "anonymousSubmissionAllowed": True or False,
-        "unauthSubmissionAllowed": True or False,
-        "id": {
-          "seriesId": "A String",
-        },
-        "counters": {
-          "users": 42,
-          "noneVotes": 42,
-          "videoSubmissions": 42,
-          "minusVotes": 42,
-          "anonymousSubmissions": 42,
-          "submissions": 42,
-          "plusVotes": 42,
-        },
-      },
-    ],
-    "kind": "moderator#seriesList",
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.series.submissions.html b/docs/dyn/moderator_v1.series.submissions.html
deleted file mode 100644
index 510d475..0000000
--- a/docs/dyn/moderator_v1.series.submissions.html
+++ /dev/null
@@ -1,154 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a> . <a href="moderator_v1.series.html">series</a> . <a href="moderator_v1.series.submissions.html">submissions</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(seriesId, lang=None, includeVotes=None, author=None, sort=None, max_results=None, q=None, start_index=None, hasAttachedVideo=None)</a></code></p>
-<p class="firstline">Searches the submissions for the specified series and returns the search results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(seriesId, lang=None, includeVotes=None, author=None, sort=None, max_results=None, q=None, start_index=None, hasAttachedVideo=None)</code>
-  <pre>Searches the submissions for the specified series and returns the search results.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  lang: string, The language code for the language the client prefers resuls in.
-  includeVotes: boolean, Specifies whether to include the current user's vote
-  author: string, Restricts the results to submissions by a specific author.
-  sort: string, Sort order.
-  max_results: integer, Maximum number of results to return.
-  q: string, Search query.
-  start_index: integer, Index of the first result to be retrieved.
-  hasAttachedVideo: boolean, Specifies whether to restrict to submissions that have videos attached.
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [
-      {
-          "kind": "moderator#submission",
-          "attribution": {
-            "displayName": "A String",
-            "location": "A String",
-            "avatarUrl": "A String",
-          },
-          "created": "A String",
-          "text": "A String",
-          "topics": [
-            {
-              "id": {
-                "seriesId": "A String",
-                "topicId": "A String",
-              },
-            },
-          ],
-          "author": "A String",
-          "translations": [
-            {
-              "lang": "A String",
-              "text": "A String",
-            },
-          ],
-          "parentSubmissionId": {
-            "seriesId": "A String",
-            "submissionId": "A String",
-          },
-          "vote": {
-            "vote": "A String",
-            "flag": "A String",
-          },
-          "attachmentUrl": "A String",
-          "geo": {
-            "latitude": 3.14,
-            "location": "A String",
-            "longitude": 3.14,
-          },
-          "id": {
-            "seriesId": "A String",
-            "submissionId": "A String",
-          },
-          "counters": {
-            "noneVotes": 42,
-            "minusVotes": 42,
-            "plusVotes": 42,
-          },
-        },
-    ],
-    "kind": "moderator#submissionList",
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.submissions.html b/docs/dyn/moderator_v1.submissions.html
deleted file mode 100644
index db35fb6..0000000
--- a/docs/dyn/moderator_v1.submissions.html
+++ /dev/null
@@ -1,262 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a> . <a href="moderator_v1.submissions.html">submissions</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(seriesId, submissionId, lang=None, includeVotes=None)</a></code></p>
-<p class="firstline">Returns the specified submission within the specified series.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(seriesId, topicId, body, unauthToken=None, anonymous=None)</a></code></p>
-<p class="firstline">Inserts a new submission in the specified topic within the specified series.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(seriesId, submissionId, lang=None, includeVotes=None)</code>
-  <pre>Returns the specified submission within the specified series.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  submissionId: integer, The decimal ID of the Submission within the Series. (required)
-  lang: string, The language code for the language the client prefers resuls in.
-  includeVotes: boolean, Specifies whether to include the current user's vote
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "moderator#submission",
-      "attribution": {
-        "displayName": "A String",
-        "location": "A String",
-        "avatarUrl": "A String",
-      },
-      "created": "A String",
-      "text": "A String",
-      "topics": [
-        {
-          "id": {
-            "seriesId": "A String",
-            "topicId": "A String",
-          },
-        },
-      ],
-      "author": "A String",
-      "translations": [
-        {
-          "lang": "A String",
-          "text": "A String",
-        },
-      ],
-      "parentSubmissionId": {
-        "seriesId": "A String",
-        "submissionId": "A String",
-      },
-      "vote": {
-        "vote": "A String",
-        "flag": "A String",
-      },
-      "attachmentUrl": "A String",
-      "geo": {
-        "latitude": 3.14,
-        "location": "A String",
-        "longitude": 3.14,
-      },
-      "id": {
-        "seriesId": "A String",
-        "submissionId": "A String",
-      },
-      "counters": {
-        "noneVotes": 42,
-        "minusVotes": 42,
-        "plusVotes": 42,
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(seriesId, topicId, body, unauthToken=None, anonymous=None)</code>
-  <pre>Inserts a new submission in the specified topic within the specified series.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  topicId: integer, The decimal ID of the Topic within the Series. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "moderator#submission",
-    "attribution": {
-      "displayName": "A String",
-      "location": "A String",
-      "avatarUrl": "A String",
-    },
-    "created": "A String",
-    "text": "A String",
-    "topics": [
-      {
-        "id": {
-          "seriesId": "A String",
-          "topicId": "A String",
-        },
-      },
-    ],
-    "author": "A String",
-    "translations": [
-      {
-        "lang": "A String",
-        "text": "A String",
-      },
-    ],
-    "parentSubmissionId": {
-      "seriesId": "A String",
-      "submissionId": "A String",
-    },
-    "vote": {
-      "vote": "A String",
-      "flag": "A String",
-    },
-    "attachmentUrl": "A String",
-    "geo": {
-      "latitude": 3.14,
-      "location": "A String",
-      "longitude": 3.14,
-    },
-    "id": {
-      "seriesId": "A String",
-      "submissionId": "A String",
-    },
-    "counters": {
-      "noneVotes": 42,
-      "minusVotes": 42,
-      "plusVotes": 42,
-    },
-  }
-
-  unauthToken: string, User identifier for unauthenticated usage mode
-  anonymous: boolean, Set to true to mark the new submission as anonymous.
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "moderator#submission",
-      "attribution": {
-        "displayName": "A String",
-        "location": "A String",
-        "avatarUrl": "A String",
-      },
-      "created": "A String",
-      "text": "A String",
-      "topics": [
-        {
-          "id": {
-            "seriesId": "A String",
-            "topicId": "A String",
-          },
-        },
-      ],
-      "author": "A String",
-      "translations": [
-        {
-          "lang": "A String",
-          "text": "A String",
-        },
-      ],
-      "parentSubmissionId": {
-        "seriesId": "A String",
-        "submissionId": "A String",
-      },
-      "vote": {
-        "vote": "A String",
-        "flag": "A String",
-      },
-      "attachmentUrl": "A String",
-      "geo": {
-        "latitude": 3.14,
-        "location": "A String",
-        "longitude": 3.14,
-      },
-      "id": {
-        "seriesId": "A String",
-        "submissionId": "A String",
-      },
-      "counters": {
-        "noneVotes": 42,
-        "minusVotes": 42,
-        "plusVotes": 42,
-      },
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.tags.html b/docs/dyn/moderator_v1.tags.html
deleted file mode 100644
index 9feb74e..0000000
--- a/docs/dyn/moderator_v1.tags.html
+++ /dev/null
@@ -1,160 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a> . <a href="moderator_v1.tags.html">tags</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(seriesId, submissionId, tagId)</a></code></p>
-<p class="firstline">Deletes the specified tag from the specified submission within the specified series.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(seriesId, submissionId, body)</a></code></p>
-<p class="firstline">Inserts a new tag for the specified submission within the specified series.</p>
-<p class="toc_element">
-  <code><a href="#list">list(seriesId, submissionId)</a></code></p>
-<p class="firstline">Lists all tags for the specified submission within the specified series.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(seriesId, submissionId, tagId)</code>
-  <pre>Deletes the specified tag from the specified submission within the specified series.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  submissionId: integer, The decimal ID of the Submission within the Series. (required)
-  tagId: string, A parameter (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(seriesId, submissionId, body)</code>
-  <pre>Inserts a new tag for the specified submission within the specified series.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  submissionId: integer, The decimal ID of the Submission within the Series. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "text": "A String",
-    "kind": "moderator#tag",
-    "id": {
-      "seriesId": "A String",
-      "tagId": "A String",
-      "submissionId": "A String",
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "text": "A String",
-      "kind": "moderator#tag",
-      "id": {
-        "seriesId": "A String",
-        "tagId": "A String",
-        "submissionId": "A String",
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(seriesId, submissionId)</code>
-  <pre>Lists all tags for the specified submission within the specified series.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  submissionId: integer, The decimal ID of the Submission within the Series. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [
-      {
-          "text": "A String",
-          "kind": "moderator#tag",
-          "id": {
-            "seriesId": "A String",
-            "tagId": "A String",
-            "submissionId": "A String",
-          },
-        },
-    ],
-    "kind": "moderator#tagList",
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.topics.html b/docs/dyn/moderator_v1.topics.html
deleted file mode 100644
index c86990d..0000000
--- a/docs/dyn/moderator_v1.topics.html
+++ /dev/null
@@ -1,618 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a> . <a href="moderator_v1.topics.html">topics</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="moderator_v1.topics.submissions.html">submissions()</a></code>
-</p>
-<p class="firstline">Returns the submissions Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get(seriesId, topicId)</a></code></p>
-<p class="firstline">Returns the specified topic from the specified series.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(seriesId, body)</a></code></p>
-<p class="firstline">Inserts a new topic into the specified series.</p>
-<p class="toc_element">
-  <code><a href="#list">list(seriesId, q=None, max_results=None, mode=None, start_index=None)</a></code></p>
-<p class="firstline">Searches the topics within the specified series and returns the search results.</p>
-<p class="toc_element">
-  <code><a href="#update">update(seriesId, topicId, body)</a></code></p>
-<p class="firstline">Updates the specified topic within the specified series.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(seriesId, topicId)</code>
-  <pre>Returns the specified topic from the specified series.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  topicId: integer, The decimal ID of the Topic within the Series. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "moderator#topic",
-      "description": "A String",
-      "rules": {
-        "votes": {
-          "close": "A String",
-          "open": "A String",
-        },
-        "submissions": {
-          "close": "A String",
-          "open": "A String",
-        },
-      },
-      "featuredSubmission": {
-          "kind": "moderator#submission",
-          "attribution": {
-            "displayName": "A String",
-            "location": "A String",
-            "avatarUrl": "A String",
-          },
-          "created": "A String",
-          "text": "A String",
-          "topics": [
-            {
-              "id": {
-                "seriesId": "A String",
-                "topicId": "A String",
-              },
-            },
-          ],
-          "author": "A String",
-          "translations": [
-            {
-              "lang": "A String",
-              "text": "A String",
-            },
-          ],
-          "parentSubmissionId": {
-            "seriesId": "A String",
-            "submissionId": "A String",
-          },
-          "vote": {
-            "vote": "A String",
-            "flag": "A String",
-          },
-          "attachmentUrl": "A String",
-          "geo": {
-            "latitude": 3.14,
-            "location": "A String",
-            "longitude": 3.14,
-          },
-          "id": {
-            "seriesId": "A String",
-            "submissionId": "A String",
-          },
-          "counters": {
-            "noneVotes": 42,
-            "minusVotes": 42,
-            "plusVotes": 42,
-          },
-        },
-      "presenter": "A String",
-      "counters": {
-        "users": 42,
-        "noneVotes": 42,
-        "videoSubmissions": 42,
-        "minusVotes": 42,
-        "submissions": 42,
-        "plusVotes": 42,
-      },
-      "id": {
-        "seriesId": "A String",
-        "topicId": "A String",
-      },
-      "name": "A String",
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(seriesId, body)</code>
-  <pre>Inserts a new topic into the specified series.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "moderator#topic",
-    "description": "A String",
-    "rules": {
-      "votes": {
-        "close": "A String",
-        "open": "A String",
-      },
-      "submissions": {
-        "close": "A String",
-        "open": "A String",
-      },
-    },
-    "featuredSubmission": {
-        "kind": "moderator#submission",
-        "attribution": {
-          "displayName": "A String",
-          "location": "A String",
-          "avatarUrl": "A String",
-        },
-        "created": "A String",
-        "text": "A String",
-        "topics": [
-          {
-            "id": {
-              "seriesId": "A String",
-              "topicId": "A String",
-            },
-          },
-        ],
-        "author": "A String",
-        "translations": [
-          {
-            "lang": "A String",
-            "text": "A String",
-          },
-        ],
-        "parentSubmissionId": {
-          "seriesId": "A String",
-          "submissionId": "A String",
-        },
-        "vote": {
-          "vote": "A String",
-          "flag": "A String",
-        },
-        "attachmentUrl": "A String",
-        "geo": {
-          "latitude": 3.14,
-          "location": "A String",
-          "longitude": 3.14,
-        },
-        "id": {
-          "seriesId": "A String",
-          "submissionId": "A String",
-        },
-        "counters": {
-          "noneVotes": 42,
-          "minusVotes": 42,
-          "plusVotes": 42,
-        },
-      },
-    "presenter": "A String",
-    "counters": {
-      "users": 42,
-      "noneVotes": 42,
-      "videoSubmissions": 42,
-      "minusVotes": 42,
-      "submissions": 42,
-      "plusVotes": 42,
-    },
-    "id": {
-      "seriesId": "A String",
-      "topicId": "A String",
-    },
-    "name": "A String",
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "moderator#topic",
-      "description": "A String",
-      "rules": {
-        "votes": {
-          "close": "A String",
-          "open": "A String",
-        },
-        "submissions": {
-          "close": "A String",
-          "open": "A String",
-        },
-      },
-      "featuredSubmission": {
-          "kind": "moderator#submission",
-          "attribution": {
-            "displayName": "A String",
-            "location": "A String",
-            "avatarUrl": "A String",
-          },
-          "created": "A String",
-          "text": "A String",
-          "topics": [
-            {
-              "id": {
-                "seriesId": "A String",
-                "topicId": "A String",
-              },
-            },
-          ],
-          "author": "A String",
-          "translations": [
-            {
-              "lang": "A String",
-              "text": "A String",
-            },
-          ],
-          "parentSubmissionId": {
-            "seriesId": "A String",
-            "submissionId": "A String",
-          },
-          "vote": {
-            "vote": "A String",
-            "flag": "A String",
-          },
-          "attachmentUrl": "A String",
-          "geo": {
-            "latitude": 3.14,
-            "location": "A String",
-            "longitude": 3.14,
-          },
-          "id": {
-            "seriesId": "A String",
-            "submissionId": "A String",
-          },
-          "counters": {
-            "noneVotes": 42,
-            "minusVotes": 42,
-            "plusVotes": 42,
-          },
-        },
-      "presenter": "A String",
-      "counters": {
-        "users": 42,
-        "noneVotes": 42,
-        "videoSubmissions": 42,
-        "minusVotes": 42,
-        "submissions": 42,
-        "plusVotes": 42,
-      },
-      "id": {
-        "seriesId": "A String",
-        "topicId": "A String",
-      },
-      "name": "A String",
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(seriesId, q=None, max_results=None, mode=None, start_index=None)</code>
-  <pre>Searches the topics within the specified series and returns the search results.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  q: string, Search query.
-  max_results: integer, Maximum number of results to return.
-  mode: string, A parameter
-  start_index: integer, Index of the first result to be retrieved.
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [
-      {
-          "kind": "moderator#topic",
-          "description": "A String",
-          "rules": {
-            "votes": {
-              "close": "A String",
-              "open": "A String",
-            },
-            "submissions": {
-              "close": "A String",
-              "open": "A String",
-            },
-          },
-          "featuredSubmission": {
-              "kind": "moderator#submission",
-              "attribution": {
-                "displayName": "A String",
-                "location": "A String",
-                "avatarUrl": "A String",
-              },
-              "created": "A String",
-              "text": "A String",
-              "topics": [
-                {
-                  "id": {
-                    "seriesId": "A String",
-                    "topicId": "A String",
-                  },
-                },
-              ],
-              "author": "A String",
-              "translations": [
-                {
-                  "lang": "A String",
-                  "text": "A String",
-                },
-              ],
-              "parentSubmissionId": {
-                "seriesId": "A String",
-                "submissionId": "A String",
-              },
-              "vote": {
-                "vote": "A String",
-                "flag": "A String",
-              },
-              "attachmentUrl": "A String",
-              "geo": {
-                "latitude": 3.14,
-                "location": "A String",
-                "longitude": 3.14,
-              },
-              "id": {
-                "seriesId": "A String",
-                "submissionId": "A String",
-              },
-              "counters": {
-                "noneVotes": 42,
-                "minusVotes": 42,
-                "plusVotes": 42,
-              },
-            },
-          "presenter": "A String",
-          "counters": {
-            "users": 42,
-            "noneVotes": 42,
-            "videoSubmissions": 42,
-            "minusVotes": 42,
-            "submissions": 42,
-            "plusVotes": 42,
-          },
-          "id": {
-            "seriesId": "A String",
-            "topicId": "A String",
-          },
-          "name": "A String",
-        },
-    ],
-    "kind": "moderator#topicList",
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(seriesId, topicId, body)</code>
-  <pre>Updates the specified topic within the specified series.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  topicId: integer, The decimal ID of the Topic within the Series. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "moderator#topic",
-    "description": "A String",
-    "rules": {
-      "votes": {
-        "close": "A String",
-        "open": "A String",
-      },
-      "submissions": {
-        "close": "A String",
-        "open": "A String",
-      },
-    },
-    "featuredSubmission": {
-        "kind": "moderator#submission",
-        "attribution": {
-          "displayName": "A String",
-          "location": "A String",
-          "avatarUrl": "A String",
-        },
-        "created": "A String",
-        "text": "A String",
-        "topics": [
-          {
-            "id": {
-              "seriesId": "A String",
-              "topicId": "A String",
-            },
-          },
-        ],
-        "author": "A String",
-        "translations": [
-          {
-            "lang": "A String",
-            "text": "A String",
-          },
-        ],
-        "parentSubmissionId": {
-          "seriesId": "A String",
-          "submissionId": "A String",
-        },
-        "vote": {
-          "vote": "A String",
-          "flag": "A String",
-        },
-        "attachmentUrl": "A String",
-        "geo": {
-          "latitude": 3.14,
-          "location": "A String",
-          "longitude": 3.14,
-        },
-        "id": {
-          "seriesId": "A String",
-          "submissionId": "A String",
-        },
-        "counters": {
-          "noneVotes": 42,
-          "minusVotes": 42,
-          "plusVotes": 42,
-        },
-      },
-    "presenter": "A String",
-    "counters": {
-      "users": 42,
-      "noneVotes": 42,
-      "videoSubmissions": 42,
-      "minusVotes": 42,
-      "submissions": 42,
-      "plusVotes": 42,
-    },
-    "id": {
-      "seriesId": "A String",
-      "topicId": "A String",
-    },
-    "name": "A String",
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "moderator#topic",
-      "description": "A String",
-      "rules": {
-        "votes": {
-          "close": "A String",
-          "open": "A String",
-        },
-        "submissions": {
-          "close": "A String",
-          "open": "A String",
-        },
-      },
-      "featuredSubmission": {
-          "kind": "moderator#submission",
-          "attribution": {
-            "displayName": "A String",
-            "location": "A String",
-            "avatarUrl": "A String",
-          },
-          "created": "A String",
-          "text": "A String",
-          "topics": [
-            {
-              "id": {
-                "seriesId": "A String",
-                "topicId": "A String",
-              },
-            },
-          ],
-          "author": "A String",
-          "translations": [
-            {
-              "lang": "A String",
-              "text": "A String",
-            },
-          ],
-          "parentSubmissionId": {
-            "seriesId": "A String",
-            "submissionId": "A String",
-          },
-          "vote": {
-            "vote": "A String",
-            "flag": "A String",
-          },
-          "attachmentUrl": "A String",
-          "geo": {
-            "latitude": 3.14,
-            "location": "A String",
-            "longitude": 3.14,
-          },
-          "id": {
-            "seriesId": "A String",
-            "submissionId": "A String",
-          },
-          "counters": {
-            "noneVotes": 42,
-            "minusVotes": 42,
-            "plusVotes": 42,
-          },
-        },
-      "presenter": "A String",
-      "counters": {
-        "users": 42,
-        "noneVotes": 42,
-        "videoSubmissions": 42,
-        "minusVotes": 42,
-        "submissions": 42,
-        "plusVotes": 42,
-      },
-      "id": {
-        "seriesId": "A String",
-        "topicId": "A String",
-      },
-      "name": "A String",
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.topics.submissions.html b/docs/dyn/moderator_v1.topics.submissions.html
deleted file mode 100644
index 0bcb152..0000000
--- a/docs/dyn/moderator_v1.topics.submissions.html
+++ /dev/null
@@ -1,154 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a> . <a href="moderator_v1.topics.html">topics</a> . <a href="moderator_v1.topics.submissions.html">submissions</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(seriesId, topicId, includeVotes=None, author=None, sort=None, max_results=None, q=None, start_index=None, hasAttachedVideo=None)</a></code></p>
-<p class="firstline">Searches the submissions for the specified topic within the specified series and returns the search results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(seriesId, topicId, includeVotes=None, author=None, sort=None, max_results=None, q=None, start_index=None, hasAttachedVideo=None)</code>
-  <pre>Searches the submissions for the specified topic within the specified series and returns the search results.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  topicId: integer, The decimal ID of the Topic within the Series. (required)
-  includeVotes: boolean, Specifies whether to include the current user's vote
-  author: string, Restricts the results to submissions by a specific author.
-  sort: string, Sort order.
-  max_results: integer, Maximum number of results to return.
-  q: string, Search query.
-  start_index: integer, Index of the first result to be retrieved.
-  hasAttachedVideo: boolean, Specifies whether to restrict to submissions that have videos attached.
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [
-      {
-          "kind": "moderator#submission",
-          "attribution": {
-            "displayName": "A String",
-            "location": "A String",
-            "avatarUrl": "A String",
-          },
-          "created": "A String",
-          "text": "A String",
-          "topics": [
-            {
-              "id": {
-                "seriesId": "A String",
-                "topicId": "A String",
-              },
-            },
-          ],
-          "author": "A String",
-          "translations": [
-            {
-              "lang": "A String",
-              "text": "A String",
-            },
-          ],
-          "parentSubmissionId": {
-            "seriesId": "A String",
-            "submissionId": "A String",
-          },
-          "vote": {
-            "vote": "A String",
-            "flag": "A String",
-          },
-          "attachmentUrl": "A String",
-          "geo": {
-            "latitude": 3.14,
-            "location": "A String",
-            "longitude": 3.14,
-          },
-          "id": {
-            "seriesId": "A String",
-            "submissionId": "A String",
-          },
-          "counters": {
-            "noneVotes": 42,
-            "minusVotes": 42,
-            "plusVotes": 42,
-          },
-        },
-    ],
-    "kind": "moderator#submissionList",
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/moderator_v1.votes.html b/docs/dyn/moderator_v1.votes.html
deleted file mode 100644
index c2e2e09..0000000
--- a/docs/dyn/moderator_v1.votes.html
+++ /dev/null
@@ -1,255 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="moderator_v1.html">Moderator API</a> . <a href="moderator_v1.votes.html">votes</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(seriesId, submissionId, unauthToken=None, userId=None)</a></code></p>
-<p class="firstline">Returns the votes by the authenticated user for the specified submission within the specified series.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(seriesId, submissionId, body, unauthToken=None)</a></code></p>
-<p class="firstline">Inserts a new vote by the authenticated user for the specified submission within the specified series.</p>
-<p class="toc_element">
-  <code><a href="#list">list(seriesId, max_results=None, start_index=None)</a></code></p>
-<p class="firstline">Lists the votes by the authenticated user for the given series.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(seriesId, submissionId, body, unauthToken=None, userId=None)</a></code></p>
-<p class="firstline">Updates the votes by the authenticated user for the specified submission within the specified series. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(seriesId, submissionId, body, unauthToken=None, userId=None)</a></code></p>
-<p class="firstline">Updates the votes by the authenticated user for the specified submission within the specified series.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(seriesId, submissionId, unauthToken=None, userId=None)</code>
-  <pre>Returns the votes by the authenticated user for the specified submission within the specified series.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  submissionId: integer, The decimal ID of the Submission within the Series. (required)
-  unauthToken: string, User identifier for unauthenticated usage mode
-  userId: string, A parameter
-
-Returns:
-  An object of the form:
-
-    {
-      "vote": "A String",
-      "flag": "A String",
-      "id": {
-        "seriesId": "A String",
-        "submissionId": "A String",
-      },
-      "kind": "moderator#vote",
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(seriesId, submissionId, body, unauthToken=None)</code>
-  <pre>Inserts a new vote by the authenticated user for the specified submission within the specified series.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  submissionId: integer, The decimal ID of the Submission within the Series. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "vote": "A String",
-    "flag": "A String",
-    "id": {
-      "seriesId": "A String",
-      "submissionId": "A String",
-    },
-    "kind": "moderator#vote",
-  }
-
-  unauthToken: string, User identifier for unauthenticated usage mode
-
-Returns:
-  An object of the form:
-
-    {
-      "vote": "A String",
-      "flag": "A String",
-      "id": {
-        "seriesId": "A String",
-        "submissionId": "A String",
-      },
-      "kind": "moderator#vote",
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(seriesId, max_results=None, start_index=None)</code>
-  <pre>Lists the votes by the authenticated user for the given series.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  max_results: integer, Maximum number of results to return.
-  start_index: integer, Index of the first result to be retrieved.
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [
-      {
-          "vote": "A String",
-          "flag": "A String",
-          "id": {
-            "seriesId": "A String",
-            "submissionId": "A String",
-          },
-          "kind": "moderator#vote",
-        },
-    ],
-    "kind": "moderator#voteList",
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(seriesId, submissionId, body, unauthToken=None, userId=None)</code>
-  <pre>Updates the votes by the authenticated user for the specified submission within the specified series. This method supports patch semantics.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  submissionId: integer, The decimal ID of the Submission within the Series. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "vote": "A String",
-    "flag": "A String",
-    "id": {
-      "seriesId": "A String",
-      "submissionId": "A String",
-    },
-    "kind": "moderator#vote",
-  }
-
-  unauthToken: string, User identifier for unauthenticated usage mode
-  userId: string, A parameter
-
-Returns:
-  An object of the form:
-
-    {
-      "vote": "A String",
-      "flag": "A String",
-      "id": {
-        "seriesId": "A String",
-        "submissionId": "A String",
-      },
-      "kind": "moderator#vote",
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(seriesId, submissionId, body, unauthToken=None, userId=None)</code>
-  <pre>Updates the votes by the authenticated user for the specified submission within the specified series.
-
-Args:
-  seriesId: integer, The decimal ID of the Series. (required)
-  submissionId: integer, The decimal ID of the Submission within the Series. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "vote": "A String",
-    "flag": "A String",
-    "id": {
-      "seriesId": "A String",
-      "submissionId": "A String",
-    },
-    "kind": "moderator#vote",
-  }
-
-  unauthToken: string, User identifier for unauthenticated usage mode
-  userId: string, A parameter
-
-Returns:
-  An object of the form:
-
-    {
-      "vote": "A String",
-      "flag": "A String",
-      "id": {
-        "seriesId": "A String",
-        "submissionId": "A String",
-      },
-      "kind": "moderator#vote",
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/oauth2_v2.html b/docs/dyn/oauth2_v2.html
deleted file mode 100644
index 8c22fe5..0000000
--- a/docs/dyn/oauth2_v2.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="oauth2_v2.html">Google OAuth2 API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="oauth2_v2.userinfo.html">userinfo()</a></code>
-</p>
-<p class="firstline">Returns the userinfo Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#tokeninfo">tokeninfo(access_token=None, id_token=None)</a></code></p>
-<p class="firstline">A description of how to use this function</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="tokeninfo">tokeninfo(access_token=None, id_token=None)</code>
-  <pre>A description of how to use this function
-
-Args:
-  access_token: string, A parameter
-  id_token: string, A parameter
-
-Returns:
-  An object of the form:
-
-    {
-    "issued_to": "A String", # To whom was the token issued to. In general the same as audience.
-    "user_id": "A String", # The Gaia obfuscated user id.
-    "expires_in": 42, # The expiry time of the token, as number of seconds left until expiry.
-    "access_type": "A String", # The access type granted with this token. It can be offline or online.
-    "audience": "A String", # Who is the intended audience for this token. In general the same as issued_to.
-    "scope": "A String", # The space separated list of scopes granted to this token.
-    "email": "A String", # The email address of the user. Present only if the email scope is present in the request.
-    "verified_email": True or False, # Boolean flag which is true if the email address is verified. Present only if the email scope is present in the request.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/oauth2_v2.userinfo.html b/docs/dyn/oauth2_v2.userinfo.html
deleted file mode 100644
index dab5c0d..0000000
--- a/docs/dyn/oauth2_v2.userinfo.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="oauth2_v2.html">Google OAuth2 API</a> . <a href="oauth2_v2.userinfo.html">userinfo</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="oauth2_v2.userinfo.v2.html">v2()</a></code>
-</p>
-<p class="firstline">Returns the v2 Resource.</p>
-
-<p class="toc_element">
-  <code><a href="#get">get()</a></code></p>
-<p class="firstline">A description of how to use this function</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get()</code>
-  <pre>A description of how to use this function
-
-Args:
-
-Returns:
-  An object of the form:
-
-    {
-    "family_name": "A String", # The user's last name.
-    "name": "A String", # The user's full name.
-    "picture": "A String", # URL of the user's picture image.
-    "locale": "A String", # The user's default locale.
-    "gender": "A String", # The user's gender.
-    "id": "A String", # The focus obfuscated gaia id of the user.
-    "birthday": "A String", # The user's birthday. The year is not present.
-    "link": "A String", # URL of the profile page.
-    "given_name": "A String", # The user's first name.
-    "timezone": "A String", # The user's default timezone.
-    "email": "A String", # The user's email address.
-    "hd": "A String", # The hosted domain e.g. example.com if the user is Google apps user.
-    "verified_email": True or False, # Boolean flag which is true if the email address is verified.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/oauth2_v2.userinfo.v2.html b/docs/dyn/oauth2_v2.userinfo.v2.html
deleted file mode 100644
index 230b0b3..0000000
--- a/docs/dyn/oauth2_v2.userinfo.v2.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="oauth2_v2.html">Google OAuth2 API</a> . <a href="oauth2_v2.userinfo.html">userinfo</a> . <a href="oauth2_v2.userinfo.v2.html">v2</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="oauth2_v2.userinfo.v2.me.html">me()</a></code>
-</p>
-<p class="firstline">Returns the me Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/oauth2_v2.userinfo.v2.me.html b/docs/dyn/oauth2_v2.userinfo.v2.me.html
deleted file mode 100644
index 0f796b1..0000000
--- a/docs/dyn/oauth2_v2.userinfo.v2.me.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="oauth2_v2.html">Google OAuth2 API</a> . <a href="oauth2_v2.userinfo.html">userinfo</a> . <a href="oauth2_v2.userinfo.v2.html">v2</a> . <a href="oauth2_v2.userinfo.v2.me.html">me</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get()</a></code></p>
-<p class="firstline">A description of how to use this function</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get()</code>
-  <pre>A description of how to use this function
-
-Args:
-
-Returns:
-  An object of the form:
-
-    {
-    "family_name": "A String", # The user's last name.
-    "name": "A String", # The user's full name.
-    "picture": "A String", # URL of the user's picture image.
-    "locale": "A String", # The user's default locale.
-    "gender": "A String", # The user's gender.
-    "id": "A String", # The focus obfuscated gaia id of the user.
-    "birthday": "A String", # The user's birthday. The year is not present.
-    "link": "A String", # URL of the profile page.
-    "given_name": "A String", # The user's first name.
-    "timezone": "A String", # The user's default timezone.
-    "email": "A String", # The user's email address.
-    "hd": "A String", # The hosted domain e.g. example.com if the user is Google apps user.
-    "verified_email": True or False, # Boolean flag which is true if the email address is verified.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.acl.html b/docs/dyn/orkut_v2.acl.html
deleted file mode 100644
index 26005b7..0000000
--- a/docs/dyn/orkut_v2.acl.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.acl.html">acl</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(activityId, userId)</a></code></p>
-<p class="firstline">Excludes an element from the ACL of the activity.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(activityId, userId)</code>
-  <pre>Excludes an element from the ACL of the activity.
-
-Args:
-  activityId: string, ID of the activity. (required)
-  userId: string, ID of the user to be removed from the activity. (required)
-</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.activities.html b/docs/dyn/orkut_v2.activities.html
deleted file mode 100644
index b0ae2d0..0000000
--- a/docs/dyn/orkut_v2.activities.html
+++ /dev/null
@@ -1,291 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.activities.html">activities</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(activityId)</a></code></p>
-<p class="firstline">Deletes an existing activity, if the access controls allow it.</p>
-<p class="toc_element">
-  <code><a href="#list">list(userId, collection, pageToken=None, hl=None, maxResults=None)</a></code></p>
-<p class="firstline">Retrieves a list of activities.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(activityId)</code>
-  <pre>Deletes an existing activity, if the access controls allow it.
-
-Args:
-  activityId: string, ID of the activity to remove. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(userId, collection, pageToken=None, hl=None, maxResults=None)</code>
-  <pre>Retrieves a list of activities.
-
-Args:
-  userId: string, The ID of the user whose activities will be listed. Can be me to refer to the viewer (i.e. the authenticated user). (required)
-  collection: string, The collection of activities to list. (required)
-    Allowed values
-      all - All activities created by the specified user that the authenticated user is authorized to view.
-      scraps - The specified user's scrapbook.
-      stream - The specified user's stream feed, intended for consumption. This includes activities posted by people that the user is following, and activities in which the user has been mentioned.
-  pageToken: string, A continuation token that allows pagination.
-  hl: string, Specifies the interface language (host language) of your user interface.
-  maxResults: integer, The maximum number of activities to include in the response.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # The value of pageToken query parameter in activities.list request to get the next page, if there are more to retrieve.
-    "items": [ # List of activities retrieved.
-      {
-        "kind": "orkut#activity", # The kind of activity. Always orkut#activity.
-        "links": [ # Links to resources related to this activity.
-          { # Links to resources related to the parent object.
-            "href": "A String", # URL of the link.
-            "type": "A String", # Media type of the link.
-            "rel": "A String", # Relation between the resource and the parent object.
-            "title": "A String", # Title of the link.
-          },
-        ],
-        "title": "A String", # Title of the activity.
-        "object": { # The activity's object.
-          "content": "A String", # The HTML-formatted content, suitable for display. When updating an activity's content, post the changes to this property, using the value of originalContent as a starting point. If the update is successful, the server adds HTML formatting and responds with this formatted content.
-          "items": [ # The list of additional items.
-            {
-              "displayName": "A String", # The title of the object.
-              "links": [ # Links to other resources related to this object.
-                { # Links to resources related to the parent object.
-                  "href": "A String", # URL of the link.
-                  "type": "A String", # Media type of the link.
-                  "rel": "A String", # Relation between the resource and the parent object.
-                  "title": "A String", # Title of the link.
-                },
-              ],
-              "community": { # The community which is related with this activity, e.g. a joined community.
-                "category": "A String", # The category of the community.
-                "kind": "orkut#community", # Identifies this resource as a community. Value: "orkut#community"
-                "member_count": 42, # The number of users who are part of the community. This number may be approximate, so do not rely on it for iteration.
-                "description": "A String", # The description of the community.
-                "language": "A String", # The official language of the community.
-                "links": [ # List of resources for the community.
-                  { # Links to resources related to the parent object.
-                    "href": "A String", # URL of the link.
-                    "type": "A String", # Media type of the link.
-                    "rel": "A String", # Relation between the resource and the parent object.
-                    "title": "A String", # Title of the link.
-                  },
-                ],
-                "creation_date": "A String", # The time the community was created, in RFC 3339 format.
-                "owner": { # The person who owns the community.
-                  "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-                  "image": { # Image data about the author.
-                    "url": "A String", # A URL that points to a thumbnail photo of the author.
-                  },
-                  "displayName": "A String", # The name of the author, suitable for display.
-                  "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-                },
-                "moderators": [ # The list of moderators of the community.
-                  {
-                    "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-                    "image": { # Image data about the author.
-                      "url": "A String", # A URL that points to a thumbnail photo of the author.
-                    },
-                    "displayName": "A String", # The name of the author, suitable for display.
-                    "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-                  },
-                ],
-                "location": "A String", # The location of the community.
-                "co_owners": [ # The co-owners of the community.
-                  {
-                    "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-                    "image": { # Image data about the author.
-                      "url": "A String", # A URL that points to a thumbnail photo of the author.
-                    },
-                    "displayName": "A String", # The name of the author, suitable for display.
-                    "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-                  },
-                ],
-                "photo_url": "A String", # The photo of the community.
-                "id": 42, # The id of the community.
-                "name": "A String", # The name of the community.
-              },
-              "content": "A String", # The HTML-formatted content, suitable for display. When updating an activity's content, post the changes to this property, using the value of originalContent as a starting point. If the update is successful, the server adds HTML formatting and responds with this formatted content.
-              "person": { # The person who is related with this activity, e.g. an Added User.
-                "name": { # An object that encapsulates the individual components of a person's name.
-                  "givenName": "A String", # The given name (first name) of this person.
-                  "familyName": "A String", # The family name (last name) of this person.
-                },
-                "url": "A String", # The person's profile url. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
-                "gender": "A String", # The person's gender. Values include "male", "female", and "other".
-                "image": { # The person's profile photo. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
-                  "url": "A String", # The URL of the person's profile photo.
-                },
-                "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
-                "id": "A String", # The person's opensocial ID.
-              },
-              "id": "A String", # The ID for the object.
-              "objectType": "A String", # The object type.
-            },
-          ],
-          "replies": { # Comments in reply to this activity.
-            "totalItems": "A String", # Total number of comments.
-            "items": [ # The list of comments.
-              {
-                "inReplyTo": { # Link to the original activity where this comment was posted.
-                  "type": "A String", # Type of the post on activity stream being commented. Always text/html.
-                  "href": "A String", # Link to the post on activity stream being commented.
-                  "ref": "A String", # Unique identifier of the post on activity stream being commented.
-                  "rel": "inReplyTo", # Relationship between the comment and the post on activity stream being commented. Always inReplyTo.
-                },
-                "kind": "orkut#comment", # Identifies this resource as a comment. Value: "orkut#comment"
-                "links": [ # List of resources for the comment.
-                  { # Links to resources related to the parent object.
-                    "href": "A String", # URL of the link.
-                    "type": "A String", # Media type of the link.
-                    "rel": "A String", # Relation between the resource and the parent object.
-                    "title": "A String", # Title of the link.
-                  },
-                ],
-                "actor": { # The person who posted the comment.
-                  "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-                  "image": { # Image data about the author.
-                    "url": "A String", # A URL that points to a thumbnail photo of the author.
-                  },
-                  "displayName": "A String", # The name of the author, suitable for display.
-                  "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-                },
-                "content": "A String", # The content of the comment in text/html
-                "published": "A String", # The time the comment was initially published, in RFC 3339 format.
-                "id": "A String", # The unique ID for the comment.
-              },
-            ],
-            "url": "A String", # URL for the collection of comments in reply to this activity.
-          },
-          "objectType": "A String", # The type of the object affected by the activity. Clients can use this information to style the rendered activity object differently depending on the content.
-        },
-        "updated": "A String", # The time at which the activity was last updated.
-        "actor": { # The person who performed the activity.
-          "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-          "image": { # Image data about the author.
-            "url": "A String", # A URL that points to a thumbnail photo of the author.
-          },
-          "displayName": "A String", # The name of the author, suitable for display.
-          "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-        },
-        "access": { # Identifies who has access to see this activity.
-          "items": [ # The list of ACL entries.
-            {
-              "type": "A String", # The type of entity to whom access is granted.
-              "id": "A String", # The ID of the entity. For entities of type "person" or "circle", this is the ID of the resource. For other types, this will be unset.
-            },
-          ],
-          "kind": "orkut#acl", # Identifies this resource as an access control list. Value: "orkut#acl"
-          "description": "A String", # Human readable description of the access granted.
-          "totalParticipants": 42, # The total count of participants of the parent resource.
-        },
-        "verb": "A String", # This activity's verb, indicating what action was performed. Possible values are:
-            # - add - User added new content to profile or album, e.g. video, photo.
-            # - post - User publish content to the stream, e.g. status, scrap.
-            # - update - User commented on an activity.
-            # - make-friend - User added a new friend.
-            # - birthday - User has a birthday.
-        "published": "A String", # The time at which the activity was initially published.
-        "id": "A String", # The ID for the activity.
-      },
-    ],
-    "kind": "orkut#activityList", # Identifies this resource as a collection of activities. Value: "orkut#activityList"
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.activityVisibility.html b/docs/dyn/orkut_v2.activityVisibility.html
deleted file mode 100644
index c41949a..0000000
--- a/docs/dyn/orkut_v2.activityVisibility.html
+++ /dev/null
@@ -1,201 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.activityVisibility.html">activityVisibility</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(activityId)</a></code></p>
-<p class="firstline">Gets the visibility of an existing activity.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(activityId, body)</a></code></p>
-<p class="firstline">Updates the visibility of an existing activity. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(activityId, body)</a></code></p>
-<p class="firstline">Updates the visibility of an existing activity.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(activityId)</code>
-  <pre>Gets the visibility of an existing activity.
-
-Args:
-  activityId: string, ID of the activity to get the visibility. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "orkut#visibility", # Identifies this resource as a visibility item. Value: "orkut#visibility"
-      "visibility": "A String", # The visibility of the resource. Possible values are:
-          # - default: not hidden by the user
-          # - hidden: hidden
-      "links": [ # List of resources for the visibility item.
-        { # Links to resources related to the parent object.
-          "href": "A String", # URL of the link.
-          "type": "A String", # Media type of the link.
-          "rel": "A String", # Relation between the resource and the parent object.
-          "title": "A String", # Title of the link.
-        },
-      ],
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(activityId, body)</code>
-  <pre>Updates the visibility of an existing activity. This method supports patch semantics.
-
-Args:
-  activityId: string, ID of the activity. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "orkut#visibility", # Identifies this resource as a visibility item. Value: "orkut#visibility"
-    "visibility": "A String", # The visibility of the resource. Possible values are:
-        # - default: not hidden by the user
-        # - hidden: hidden
-    "links": [ # List of resources for the visibility item.
-      { # Links to resources related to the parent object.
-        "href": "A String", # URL of the link.
-        "type": "A String", # Media type of the link.
-        "rel": "A String", # Relation between the resource and the parent object.
-        "title": "A String", # Title of the link.
-      },
-    ],
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "orkut#visibility", # Identifies this resource as a visibility item. Value: "orkut#visibility"
-      "visibility": "A String", # The visibility of the resource. Possible values are:
-          # - default: not hidden by the user
-          # - hidden: hidden
-      "links": [ # List of resources for the visibility item.
-        { # Links to resources related to the parent object.
-          "href": "A String", # URL of the link.
-          "type": "A String", # Media type of the link.
-          "rel": "A String", # Relation between the resource and the parent object.
-          "title": "A String", # Title of the link.
-        },
-      ],
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(activityId, body)</code>
-  <pre>Updates the visibility of an existing activity.
-
-Args:
-  activityId: string, ID of the activity. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "orkut#visibility", # Identifies this resource as a visibility item. Value: "orkut#visibility"
-    "visibility": "A String", # The visibility of the resource. Possible values are:
-        # - default: not hidden by the user
-        # - hidden: hidden
-    "links": [ # List of resources for the visibility item.
-      { # Links to resources related to the parent object.
-        "href": "A String", # URL of the link.
-        "type": "A String", # Media type of the link.
-        "rel": "A String", # Relation between the resource and the parent object.
-        "title": "A String", # Title of the link.
-      },
-    ],
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "orkut#visibility", # Identifies this resource as a visibility item. Value: "orkut#visibility"
-      "visibility": "A String", # The visibility of the resource. Possible values are:
-          # - default: not hidden by the user
-          # - hidden: hidden
-      "links": [ # List of resources for the visibility item.
-        { # Links to resources related to the parent object.
-          "href": "A String", # URL of the link.
-          "type": "A String", # Media type of the link.
-          "rel": "A String", # Relation between the resource and the parent object.
-          "title": "A String", # Title of the link.
-        },
-      ],
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.badges.html b/docs/dyn/orkut_v2.badges.html
deleted file mode 100644
index cb9b33d..0000000
--- a/docs/dyn/orkut_v2.badges.html
+++ /dev/null
@@ -1,136 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.badges.html">badges</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(userId, badgeId)</a></code></p>
-<p class="firstline">Retrieves a badge from a user.</p>
-<p class="toc_element">
-  <code><a href="#list">list(userId)</a></code></p>
-<p class="firstline">Retrieves the list of visible badges of a user.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(userId, badgeId)</code>
-  <pre>Retrieves a badge from a user.
-
-Args:
-  userId: string, The ID of the user whose badges will be listed. Can be me to refer to caller. (required)
-  badgeId: string, The ID of the badge that will be retrieved. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "badgeSmallLogo": "A String", # The URL for the 24x24 badge logo.
-    "kind": "orkut#badge", # Identifies this resource as a badge. Value: "orkut#badge"
-    "description": "A String", # The description for the badge, suitable for display.
-    "sponsorLogo": "A String", # The URL for the 32x32 badge sponsor logo.
-    "sponsorName": "A String", # The name of the badge sponsor, suitable for display.
-    "badgeLargeLogo": "A String", # The URL for the 64x64 badge logo.
-    "caption": "A String", # The name of the badge, suitable for display.
-    "sponsorUrl": "A String", # The URL for the badge sponsor.
-    "id": "A String", # The unique ID for the badge.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(userId)</code>
-  <pre>Retrieves the list of visible badges of a user.
-
-Args:
-  userId: string, The id of the user whose badges will be listed. Can be me to refer to caller. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # List of badges retrieved.
-      {
-        "badgeSmallLogo": "A String", # The URL for the 24x24 badge logo.
-        "kind": "orkut#badge", # Identifies this resource as a badge. Value: "orkut#badge"
-        "description": "A String", # The description for the badge, suitable for display.
-        "sponsorLogo": "A String", # The URL for the 32x32 badge sponsor logo.
-        "sponsorName": "A String", # The name of the badge sponsor, suitable for display.
-        "badgeLargeLogo": "A String", # The URL for the 64x64 badge logo.
-        "caption": "A String", # The name of the badge, suitable for display.
-        "sponsorUrl": "A String", # The URL for the badge sponsor.
-        "id": "A String", # The unique ID for the badge.
-      },
-    ],
-    "kind": "orkut#badgeList", # Identifies this resource as a collection of badges. Value: "orkut#badgeList"
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.comments.html b/docs/dyn/orkut_v2.comments.html
deleted file mode 100644
index a26e441..0000000
--- a/docs/dyn/orkut_v2.comments.html
+++ /dev/null
@@ -1,283 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.comments.html">comments</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(commentId)</a></code></p>
-<p class="firstline">Deletes an existing comment.</p>
-<p class="toc_element">
-  <code><a href="#get">get(commentId, hl=None)</a></code></p>
-<p class="firstline">Retrieves an existing comment.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(activityId, body)</a></code></p>
-<p class="firstline">Inserts a new comment to an activity.</p>
-<p class="toc_element">
-  <code><a href="#list">list(activityId, orderBy=None, pageToken=None, hl=None, maxResults=None)</a></code></p>
-<p class="firstline">Retrieves a list of comments, possibly filtered.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(commentId)</code>
-  <pre>Deletes an existing comment.
-
-Args:
-  commentId: string, ID of the comment to remove. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(commentId, hl=None)</code>
-  <pre>Retrieves an existing comment.
-
-Args:
-  commentId: string, ID of the comment to get. (required)
-  hl: string, Specifies the interface language (host language) of your user interface.
-
-Returns:
-  An object of the form:
-
-    {
-    "inReplyTo": { # Link to the original activity where this comment was posted.
-      "type": "A String", # Type of the post on activity stream being commented. Always text/html.
-      "href": "A String", # Link to the post on activity stream being commented.
-      "ref": "A String", # Unique identifier of the post on activity stream being commented.
-      "rel": "inReplyTo", # Relationship between the comment and the post on activity stream being commented. Always inReplyTo.
-    },
-    "kind": "orkut#comment", # Identifies this resource as a comment. Value: "orkut#comment"
-    "links": [ # List of resources for the comment.
-      { # Links to resources related to the parent object.
-        "href": "A String", # URL of the link.
-        "type": "A String", # Media type of the link.
-        "rel": "A String", # Relation between the resource and the parent object.
-        "title": "A String", # Title of the link.
-      },
-    ],
-    "actor": { # The person who posted the comment.
-      "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-      "image": { # Image data about the author.
-        "url": "A String", # A URL that points to a thumbnail photo of the author.
-      },
-      "displayName": "A String", # The name of the author, suitable for display.
-      "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-    },
-    "content": "A String", # The content of the comment in text/html
-    "published": "A String", # The time the comment was initially published, in RFC 3339 format.
-    "id": "A String", # The unique ID for the comment.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(activityId, body)</code>
-  <pre>Inserts a new comment to an activity.
-
-Args:
-  activityId: string, The ID of the activity to contain the new comment. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-  "inReplyTo": { # Link to the original activity where this comment was posted.
-    "type": "A String", # Type of the post on activity stream being commented. Always text/html.
-    "href": "A String", # Link to the post on activity stream being commented.
-    "ref": "A String", # Unique identifier of the post on activity stream being commented.
-    "rel": "inReplyTo", # Relationship between the comment and the post on activity stream being commented. Always inReplyTo.
-  },
-  "kind": "orkut#comment", # Identifies this resource as a comment. Value: "orkut#comment"
-  "links": [ # List of resources for the comment.
-    { # Links to resources related to the parent object.
-      "href": "A String", # URL of the link.
-      "type": "A String", # Media type of the link.
-      "rel": "A String", # Relation between the resource and the parent object.
-      "title": "A String", # Title of the link.
-    },
-  ],
-  "actor": { # The person who posted the comment.
-    "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-    "image": { # Image data about the author.
-      "url": "A String", # A URL that points to a thumbnail photo of the author.
-    },
-    "displayName": "A String", # The name of the author, suitable for display.
-    "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-  },
-  "content": "A String", # The content of the comment in text/html
-  "published": "A String", # The time the comment was initially published, in RFC 3339 format.
-  "id": "A String", # The unique ID for the comment.
-}
-
-
-Returns:
-  An object of the form:
-
-    {
-    "inReplyTo": { # Link to the original activity where this comment was posted.
-      "type": "A String", # Type of the post on activity stream being commented. Always text/html.
-      "href": "A String", # Link to the post on activity stream being commented.
-      "ref": "A String", # Unique identifier of the post on activity stream being commented.
-      "rel": "inReplyTo", # Relationship between the comment and the post on activity stream being commented. Always inReplyTo.
-    },
-    "kind": "orkut#comment", # Identifies this resource as a comment. Value: "orkut#comment"
-    "links": [ # List of resources for the comment.
-      { # Links to resources related to the parent object.
-        "href": "A String", # URL of the link.
-        "type": "A String", # Media type of the link.
-        "rel": "A String", # Relation between the resource and the parent object.
-        "title": "A String", # Title of the link.
-      },
-    ],
-    "actor": { # The person who posted the comment.
-      "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-      "image": { # Image data about the author.
-        "url": "A String", # A URL that points to a thumbnail photo of the author.
-      },
-      "displayName": "A String", # The name of the author, suitable for display.
-      "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-    },
-    "content": "A String", # The content of the comment in text/html
-    "published": "A String", # The time the comment was initially published, in RFC 3339 format.
-    "id": "A String", # The unique ID for the comment.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(activityId, orderBy=None, pageToken=None, hl=None, maxResults=None)</code>
-  <pre>Retrieves a list of comments, possibly filtered.
-
-Args:
-  activityId: string, The ID of the activity containing the comments. (required)
-  orderBy: string, Sort search results.
-    Allowed values
-      ascending - Use ascending sort order.
-      descending - Use descending sort order.
-  pageToken: string, A continuation token that allows pagination.
-  hl: string, Specifies the interface language (host language) of your user interface.
-  maxResults: integer, The maximum number of activities to include in the response.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # The value of pageToken query parameter in comments.list request to get the next page, if there are more to retrieve.
-    "items": [ # List of comments retrieved.
-      {
-        "inReplyTo": { # Link to the original activity where this comment was posted.
-          "type": "A String", # Type of the post on activity stream being commented. Always text/html.
-          "href": "A String", # Link to the post on activity stream being commented.
-          "ref": "A String", # Unique identifier of the post on activity stream being commented.
-          "rel": "inReplyTo", # Relationship between the comment and the post on activity stream being commented. Always inReplyTo.
-        },
-        "kind": "orkut#comment", # Identifies this resource as a comment. Value: "orkut#comment"
-        "links": [ # List of resources for the comment.
-          { # Links to resources related to the parent object.
-            "href": "A String", # URL of the link.
-            "type": "A String", # Media type of the link.
-            "rel": "A String", # Relation between the resource and the parent object.
-            "title": "A String", # Title of the link.
-          },
-        ],
-        "actor": { # The person who posted the comment.
-          "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-          "image": { # Image data about the author.
-            "url": "A String", # A URL that points to a thumbnail photo of the author.
-          },
-          "displayName": "A String", # The name of the author, suitable for display.
-          "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-        },
-        "content": "A String", # The content of the comment in text/html
-        "published": "A String", # The time the comment was initially published, in RFC 3339 format.
-        "id": "A String", # The unique ID for the comment.
-      },
-    ],
-    "kind": "orkut#commentList", # Identifies this resource as a collection of comments. Value: "orkut#commentList"
-    "previousPageToken": "A String", # The value of pageToken query parameter in comments.list request to get the previous page, if there are more to retrieve.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.communities.html b/docs/dyn/orkut_v2.communities.html
deleted file mode 100644
index ef4c659..0000000
--- a/docs/dyn/orkut_v2.communities.html
+++ /dev/null
@@ -1,216 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.communities.html">communities</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(communityId, hl=None)</a></code></p>
-<p class="firstline">Retrieves the basic information (aka. profile) of a community.</p>
-<p class="toc_element">
-  <code><a href="#list">list(userId, orderBy=None, hl=None, maxResults=None)</a></code></p>
-<p class="firstline">Retrieves the list of communities the current user is a member of.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(communityId, hl=None)</code>
-  <pre>Retrieves the basic information (aka. profile) of a community.
-
-Args:
-  communityId: integer, The ID of the community to get. (required)
-  hl: string, Specifies the interface language (host language) of your user interface.
-
-Returns:
-  An object of the form:
-
-    {
-    "category": "A String", # The category of the community.
-    "kind": "orkut#community", # Identifies this resource as a community. Value: "orkut#community"
-    "member_count": 42, # The number of users who are part of the community. This number may be approximate, so do not rely on it for iteration.
-    "description": "A String", # The description of the community.
-    "language": "A String", # The official language of the community.
-    "links": [ # List of resources for the community.
-      { # Links to resources related to the parent object.
-        "href": "A String", # URL of the link.
-        "type": "A String", # Media type of the link.
-        "rel": "A String", # Relation between the resource and the parent object.
-        "title": "A String", # Title of the link.
-      },
-    ],
-    "creation_date": "A String", # The time the community was created, in RFC 3339 format.
-    "owner": { # The person who owns the community.
-      "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-      "image": { # Image data about the author.
-        "url": "A String", # A URL that points to a thumbnail photo of the author.
-      },
-      "displayName": "A String", # The name of the author, suitable for display.
-      "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-    },
-    "moderators": [ # The list of moderators of the community.
-      {
-        "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-        "image": { # Image data about the author.
-          "url": "A String", # A URL that points to a thumbnail photo of the author.
-        },
-        "displayName": "A String", # The name of the author, suitable for display.
-        "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-      },
-    ],
-    "location": "A String", # The location of the community.
-    "co_owners": [ # The co-owners of the community.
-      {
-        "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-        "image": { # Image data about the author.
-          "url": "A String", # A URL that points to a thumbnail photo of the author.
-        },
-        "displayName": "A String", # The name of the author, suitable for display.
-        "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-      },
-    ],
-    "photo_url": "A String", # The photo of the community.
-    "id": 42, # The id of the community.
-    "name": "A String", # The name of the community.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(userId, orderBy=None, hl=None, maxResults=None)</code>
-  <pre>Retrieves the list of communities the current user is a member of.
-
-Args:
-  userId: string, The ID of the user whose communities will be listed. Can be me to refer to caller. (required)
-  orderBy: string, How to order the communities by.
-    Allowed values
-      id - Returns the communities sorted by a fixed, natural order.
-      ranked - Returns the communities ranked accordingly to how they are displayed on the orkut web application.
-  hl: string, Specifies the interface language (host language) of your user interface.
-  maxResults: integer, The maximum number of communities to include in the response.
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # List of communities retrieved.
-      {
-        "category": "A String", # The category of the community.
-        "kind": "orkut#community", # Identifies this resource as a community. Value: "orkut#community"
-        "member_count": 42, # The number of users who are part of the community. This number may be approximate, so do not rely on it for iteration.
-        "description": "A String", # The description of the community.
-        "language": "A String", # The official language of the community.
-        "links": [ # List of resources for the community.
-          { # Links to resources related to the parent object.
-            "href": "A String", # URL of the link.
-            "type": "A String", # Media type of the link.
-            "rel": "A String", # Relation between the resource and the parent object.
-            "title": "A String", # Title of the link.
-          },
-        ],
-        "creation_date": "A String", # The time the community was created, in RFC 3339 format.
-        "owner": { # The person who owns the community.
-          "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-          "image": { # Image data about the author.
-            "url": "A String", # A URL that points to a thumbnail photo of the author.
-          },
-          "displayName": "A String", # The name of the author, suitable for display.
-          "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-        },
-        "moderators": [ # The list of moderators of the community.
-          {
-            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-            "image": { # Image data about the author.
-              "url": "A String", # A URL that points to a thumbnail photo of the author.
-            },
-            "displayName": "A String", # The name of the author, suitable for display.
-            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-          },
-        ],
-        "location": "A String", # The location of the community.
-        "co_owners": [ # The co-owners of the community.
-          {
-            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-            "image": { # Image data about the author.
-              "url": "A String", # A URL that points to a thumbnail photo of the author.
-            },
-            "displayName": "A String", # The name of the author, suitable for display.
-            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-          },
-        ],
-        "photo_url": "A String", # The photo of the community.
-        "id": 42, # The id of the community.
-        "name": "A String", # The name of the community.
-      },
-    ],
-    "kind": "orkut#communityList", # Identifies this resource as a collection of communities. Value: "orkut#communityList"
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.communityFollow.html b/docs/dyn/orkut_v2.communityFollow.html
deleted file mode 100644
index 2002c14..0000000
--- a/docs/dyn/orkut_v2.communityFollow.html
+++ /dev/null
@@ -1,136 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.communityFollow.html">communityFollow</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(communityId, userId)</a></code></p>
-<p class="firstline">Removes a user from the followers of a community.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(communityId, userId)</a></code></p>
-<p class="firstline">Adds a user as a follower of a community.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(communityId, userId)</code>
-  <pre>Removes a user from the followers of a community.
-
-Args:
-  communityId: integer, ID of the community. (required)
-  userId: string, ID of the user. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(communityId, userId)</code>
-  <pre>Adds a user as a follower of a community.
-
-Args:
-  communityId: integer, ID of the community. (required)
-  userId: string, ID of the user. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "communityMembershipStatus": { # Status and permissions of the user related to the community.
-      "status": "A String", # The status of the current link between the community and the user.
-      "isFollowing": True or False, # Whether the user is following this community.
-      "isRestoreAvailable": True or False, # Whether the restore operation is available for the community.
-      "isModerator": True or False, # Whether the session user is a community moderator.
-      "kind": "orkut#communityMembershipStatus", # Kind of this item. Always orkut#communityMembershipStatus.
-      "isCoOwner": True or False, # Whether the session user is a community co-owner.
-      "canCreatePoll": True or False, # Whether the user can create a poll in this community.
-      "canShout": True or False, # Whether the user can perform a shout operation in this community.
-      "isOwner": True or False, # Whether the session user is the community owner.
-      "canCreateTopic": True or False, # Whether the user can create a topic in this community.
-      "isTakebackAvailable": True or False, # Whether the take-back operation is available for the community.
-    },
-    "person": { # Description of the community member.
-      "name": { # An object that encapsulates the individual components of a person's name.
-        "givenName": "A String", # The given name (first name) of this person.
-        "familyName": "A String", # The family name (last name) of this person.
-      },
-      "url": "A String", # The person's profile url. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
-      "gender": "A String", # The person's gender. Values include "male", "female", and "other".
-      "image": { # The person's profile photo. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
-        "url": "A String", # The URL of the person's profile photo.
-      },
-      "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
-      "id": "A String", # The person's opensocial ID.
-    },
-    "kind": "orkut#communityMembers", # Kind of this item. Always orkut#communityMembers.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.communityMembers.html b/docs/dyn/orkut_v2.communityMembers.html
deleted file mode 100644
index ae7831d..0000000
--- a/docs/dyn/orkut_v2.communityMembers.html
+++ /dev/null
@@ -1,256 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.communityMembers.html">communityMembers</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(communityId, userId)</a></code></p>
-<p class="firstline">Makes the user leave a community.</p>
-<p class="toc_element">
-  <code><a href="#get">get(communityId, userId, hl=None)</a></code></p>
-<p class="firstline">Retrieves the relationship between a user and a community.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(communityId, userId)</a></code></p>
-<p class="firstline">Makes the user join a community.</p>
-<p class="toc_element">
-  <code><a href="#list">list(communityId, friendsOnly=None, pageToken=None, hl=None, maxResults=None)</a></code></p>
-<p class="firstline">Lists members of a community. Use the pagination tokens to retrieve the full list; do not rely on the member count available in the community profile information to know when to stop iterating, as that count may be approximate.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(communityId, userId)</code>
-  <pre>Makes the user leave a community.
-
-Args:
-  communityId: integer, ID of the community. (required)
-  userId: string, ID of the user. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(communityId, userId, hl=None)</code>
-  <pre>Retrieves the relationship between a user and a community.
-
-Args:
-  communityId: integer, ID of the community. (required)
-  userId: string, ID of the user. (required)
-  hl: string, Specifies the interface language (host language) of your user interface.
-
-Returns:
-  An object of the form:
-
-    {
-    "communityMembershipStatus": { # Status and permissions of the user related to the community.
-      "status": "A String", # The status of the current link between the community and the user.
-      "isFollowing": True or False, # Whether the user is following this community.
-      "isRestoreAvailable": True or False, # Whether the restore operation is available for the community.
-      "isModerator": True or False, # Whether the session user is a community moderator.
-      "kind": "orkut#communityMembershipStatus", # Kind of this item. Always orkut#communityMembershipStatus.
-      "isCoOwner": True or False, # Whether the session user is a community co-owner.
-      "canCreatePoll": True or False, # Whether the user can create a poll in this community.
-      "canShout": True or False, # Whether the user can perform a shout operation in this community.
-      "isOwner": True or False, # Whether the session user is the community owner.
-      "canCreateTopic": True or False, # Whether the user can create a topic in this community.
-      "isTakebackAvailable": True or False, # Whether the take-back operation is available for the community.
-    },
-    "person": { # Description of the community member.
-      "name": { # An object that encapsulates the individual components of a person's name.
-        "givenName": "A String", # The given name (first name) of this person.
-        "familyName": "A String", # The family name (last name) of this person.
-      },
-      "url": "A String", # The person's profile url. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
-      "gender": "A String", # The person's gender. Values include "male", "female", and "other".
-      "image": { # The person's profile photo. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
-        "url": "A String", # The URL of the person's profile photo.
-      },
-      "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
-      "id": "A String", # The person's opensocial ID.
-    },
-    "kind": "orkut#communityMembers", # Kind of this item. Always orkut#communityMembers.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(communityId, userId)</code>
-  <pre>Makes the user join a community.
-
-Args:
-  communityId: integer, ID of the community. (required)
-  userId: string, ID of the user. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "communityMembershipStatus": { # Status and permissions of the user related to the community.
-      "status": "A String", # The status of the current link between the community and the user.
-      "isFollowing": True or False, # Whether the user is following this community.
-      "isRestoreAvailable": True or False, # Whether the restore operation is available for the community.
-      "isModerator": True or False, # Whether the session user is a community moderator.
-      "kind": "orkut#communityMembershipStatus", # Kind of this item. Always orkut#communityMembershipStatus.
-      "isCoOwner": True or False, # Whether the session user is a community co-owner.
-      "canCreatePoll": True or False, # Whether the user can create a poll in this community.
-      "canShout": True or False, # Whether the user can perform a shout operation in this community.
-      "isOwner": True or False, # Whether the session user is the community owner.
-      "canCreateTopic": True or False, # Whether the user can create a topic in this community.
-      "isTakebackAvailable": True or False, # Whether the take-back operation is available for the community.
-    },
-    "person": { # Description of the community member.
-      "name": { # An object that encapsulates the individual components of a person's name.
-        "givenName": "A String", # The given name (first name) of this person.
-        "familyName": "A String", # The family name (last name) of this person.
-      },
-      "url": "A String", # The person's profile url. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
-      "gender": "A String", # The person's gender. Values include "male", "female", and "other".
-      "image": { # The person's profile photo. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
-        "url": "A String", # The URL of the person's profile photo.
-      },
-      "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
-      "id": "A String", # The person's opensocial ID.
-    },
-    "kind": "orkut#communityMembers", # Kind of this item. Always orkut#communityMembers.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(communityId, friendsOnly=None, pageToken=None, hl=None, maxResults=None)</code>
-  <pre>Lists members of a community. Use the pagination tokens to retrieve the full list; do not rely on the member count available in the community profile information to know when to stop iterating, as that count may be approximate.
-
-Args:
-  communityId: integer, The ID of the community whose members will be listed. (required)
-  friendsOnly: boolean, Whether to list only community members who are friends of the user.
-  pageToken: string, A continuation token that allows pagination.
-  hl: string, Specifies the interface language (host language) of your user interface.
-  maxResults: integer, The maximum number of members to include in the response.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # The value of pageToken query parameter in community_members.list request to get the next page, if there are more to retrieve.
-    "kind": "orkut#communityMembersList", # Kind of this item. Always orkut#communityMembersList.
-    "items": [ # List of community members retrieved.
-      {
-        "communityMembershipStatus": { # Status and permissions of the user related to the community.
-          "status": "A String", # The status of the current link between the community and the user.
-          "isFollowing": True or False, # Whether the user is following this community.
-          "isRestoreAvailable": True or False, # Whether the restore operation is available for the community.
-          "isModerator": True or False, # Whether the session user is a community moderator.
-          "kind": "orkut#communityMembershipStatus", # Kind of this item. Always orkut#communityMembershipStatus.
-          "isCoOwner": True or False, # Whether the session user is a community co-owner.
-          "canCreatePoll": True or False, # Whether the user can create a poll in this community.
-          "canShout": True or False, # Whether the user can perform a shout operation in this community.
-          "isOwner": True or False, # Whether the session user is the community owner.
-          "canCreateTopic": True or False, # Whether the user can create a topic in this community.
-          "isTakebackAvailable": True or False, # Whether the take-back operation is available for the community.
-        },
-        "person": { # Description of the community member.
-          "name": { # An object that encapsulates the individual components of a person's name.
-            "givenName": "A String", # The given name (first name) of this person.
-            "familyName": "A String", # The family name (last name) of this person.
-          },
-          "url": "A String", # The person's profile url. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
-          "gender": "A String", # The person's gender. Values include "male", "female", and "other".
-          "image": { # The person's profile photo. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
-            "url": "A String", # The URL of the person's profile photo.
-          },
-          "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
-          "id": "A String", # The person's opensocial ID.
-        },
-        "kind": "orkut#communityMembers", # Kind of this item. Always orkut#communityMembers.
-      },
-    ],
-    "prevPageToken": "A String", # The value of pageToken query parameter in community_members.list request to get the previous page, if there are more to retrieve.
-    "lastPageToken": "A String", # The value of pageToken query parameter in community_members.list request to get the last page.
-    "firstPageToken": "A String", # The value of pageToken query parameter in community_members.list request to get the first page.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.communityMessages.html b/docs/dyn/orkut_v2.communityMessages.html
deleted file mode 100644
index 158ed0e..0000000
--- a/docs/dyn/orkut_v2.communityMessages.html
+++ /dev/null
@@ -1,229 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.communityMessages.html">communityMessages</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(communityId, topicId, messageId)</a></code></p>
-<p class="firstline">Moves a message of the community to the trash folder.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(communityId, topicId, body)</a></code></p>
-<p class="firstline">Adds a message to a given community topic.</p>
-<p class="toc_element">
-  <code><a href="#list">list(communityId, topicId, pageToken=None, hl=None, maxResults=None)</a></code></p>
-<p class="firstline">Retrieves the messages of a topic of a community.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(communityId, topicId, messageId)</code>
-  <pre>Moves a message of the community to the trash folder.
-
-Args:
-  communityId: integer, The ID of the community whose message will be moved to the trash folder. (required)
-  topicId: string, The ID of the topic whose message will be moved to the trash folder. (required)
-  messageId: string, The ID of the message to be moved to the trash folder. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(communityId, topicId, body)</code>
-  <pre>Adds a message to a given community topic.
-
-Args:
-  communityId: integer, The ID of the community the message should be added to. (required)
-  topicId: string, The ID of the topic the message should be added to. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "body": "A String", # The body of the message.
-    "kind": "orkut#communityMessage", # Identifies this resource as a community message. Value: "orkut#communityMessage"
-    "links": [ # List of resources for the community message.
-      { # Links to resources related to the parent object.
-        "href": "A String", # URL of the link.
-        "type": "A String", # Media type of the link.
-        "rel": "A String", # Relation between the resource and the parent object.
-        "title": "A String", # Title of the link.
-      },
-    ],
-    "author": { # The creator of the message. If ommited, the message is annonimous.
-      "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-      "image": { # Image data about the author.
-        "url": "A String", # A URL that points to a thumbnail photo of the author.
-      },
-      "displayName": "A String", # The name of the author, suitable for display.
-      "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-    },
-    "id": "A String", # The ID of the message.
-    "addedDate": "A String", # The timestamp of the date when the message was added, in RFC 3339 format.
-    "isSpam": True or False, # Whether this post was marked as spam by the viewer, when he/she is not the community owner or one of its moderators.
-    "subject": "A String", # The subject of the message.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "body": "A String", # The body of the message.
-      "kind": "orkut#communityMessage", # Identifies this resource as a community message. Value: "orkut#communityMessage"
-      "links": [ # List of resources for the community message.
-        { # Links to resources related to the parent object.
-          "href": "A String", # URL of the link.
-          "type": "A String", # Media type of the link.
-          "rel": "A String", # Relation between the resource and the parent object.
-          "title": "A String", # Title of the link.
-        },
-      ],
-      "author": { # The creator of the message. If ommited, the message is annonimous.
-        "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-        "image": { # Image data about the author.
-          "url": "A String", # A URL that points to a thumbnail photo of the author.
-        },
-        "displayName": "A String", # The name of the author, suitable for display.
-        "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-      },
-      "id": "A String", # The ID of the message.
-      "addedDate": "A String", # The timestamp of the date when the message was added, in RFC 3339 format.
-      "isSpam": True or False, # Whether this post was marked as spam by the viewer, when he/she is not the community owner or one of its moderators.
-      "subject": "A String", # The subject of the message.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(communityId, topicId, pageToken=None, hl=None, maxResults=None)</code>
-  <pre>Retrieves the messages of a topic of a community.
-
-Args:
-  communityId: integer, The ID of the community which messages will be listed. (required)
-  topicId: string, The ID of the topic which messages will be listed. (required)
-  pageToken: string, A continuation token that allows pagination.
-  hl: string, Specifies the interface language (host language) of your user interface.
-  maxResults: integer, The maximum number of messages to include in the response.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # The value of pageToken query parameter in community_messages.list request to get the next page, if there are more to retrieve.
-    "kind": "orkut#communityMessageList", # Identifies this resource as a collection of community messages. Value: "orkut#communityMessageList"
-    "items": [ # List of messages retrieved.
-      {
-          "body": "A String", # The body of the message.
-          "kind": "orkut#communityMessage", # Identifies this resource as a community message. Value: "orkut#communityMessage"
-          "links": [ # List of resources for the community message.
-            { # Links to resources related to the parent object.
-              "href": "A String", # URL of the link.
-              "type": "A String", # Media type of the link.
-              "rel": "A String", # Relation between the resource and the parent object.
-              "title": "A String", # Title of the link.
-            },
-          ],
-          "author": { # The creator of the message. If ommited, the message is annonimous.
-            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-            "image": { # Image data about the author.
-              "url": "A String", # A URL that points to a thumbnail photo of the author.
-            },
-            "displayName": "A String", # The name of the author, suitable for display.
-            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-          },
-          "id": "A String", # The ID of the message.
-          "addedDate": "A String", # The timestamp of the date when the message was added, in RFC 3339 format.
-          "isSpam": True or False, # Whether this post was marked as spam by the viewer, when he/she is not the community owner or one of its moderators.
-          "subject": "A String", # The subject of the message.
-        },
-    ],
-    "prevPageToken": "A String", # The value of pageToken query parameter in community_messages.list request to get the previous page, if there are more to retrieve.
-    "lastPageToken": "A String", # The value of pageToken query parameter in community_messages.list request to get the last page.
-    "firstPageToken": "A String", # The value of pageToken query parameter in community_messages.list request to get the first page.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.communityPollComments.html b/docs/dyn/orkut_v2.communityPollComments.html
deleted file mode 100644
index efeff4a..0000000
--- a/docs/dyn/orkut_v2.communityPollComments.html
+++ /dev/null
@@ -1,185 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.communityPollComments.html">communityPollComments</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#insert">insert(communityId, pollId, body)</a></code></p>
-<p class="firstline">Adds a comment on a community poll.</p>
-<p class="toc_element">
-  <code><a href="#list">list(communityId, pollId, pageToken=None, hl=None, maxResults=None)</a></code></p>
-<p class="firstline">Retrieves the comments of a community poll.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="insert">insert(communityId, pollId, body)</code>
-  <pre>Adds a comment on a community poll.
-
-Args:
-  communityId: integer, The ID of the community whose poll is being commented. (required)
-  pollId: string, The ID of the poll being commented. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "body": "A String", # The body of the message.
-    "kind": "orkut#communityPollComment", # Identifies this resource as a community poll comment. Value: "orkut#communityPollComment"
-    "addedDate": "A String", # The date when the message was added, in RFC 3339 format.
-    "id": 42, # The ID of the comment.
-    "author": { # The creator of the comment.
-      "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-      "image": { # Image data about the author.
-        "url": "A String", # A URL that points to a thumbnail photo of the author.
-      },
-      "displayName": "A String", # The name of the author, suitable for display.
-      "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "body": "A String", # The body of the message.
-      "kind": "orkut#communityPollComment", # Identifies this resource as a community poll comment. Value: "orkut#communityPollComment"
-      "addedDate": "A String", # The date when the message was added, in RFC 3339 format.
-      "id": 42, # The ID of the comment.
-      "author": { # The creator of the comment.
-        "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-        "image": { # Image data about the author.
-          "url": "A String", # A URL that points to a thumbnail photo of the author.
-        },
-        "displayName": "A String", # The name of the author, suitable for display.
-        "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(communityId, pollId, pageToken=None, hl=None, maxResults=None)</code>
-  <pre>Retrieves the comments of a community poll.
-
-Args:
-  communityId: integer, The ID of the community whose poll is having its comments listed. (required)
-  pollId: string, The ID of the community whose polls will be listed. (required)
-  pageToken: string, A continuation token that allows pagination.
-  hl: string, Specifies the interface language (host language) of your user interface.
-  maxResults: integer, The maximum number of comments to include in the response.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # The value of pageToken query parameter in community_poll_comments.list request to get the next page, if there are more to retrieve.
-    "kind": "orkut#CommunityPollCommentList", # Identifies this resource as a collection of community poll comments. Value: "orkut#CommunityPollCommentList"
-    "items": [ # List of community poll comments retrieved.
-      {
-          "body": "A String", # The body of the message.
-          "kind": "orkut#communityPollComment", # Identifies this resource as a community poll comment. Value: "orkut#communityPollComment"
-          "addedDate": "A String", # The date when the message was added, in RFC 3339 format.
-          "id": 42, # The ID of the comment.
-          "author": { # The creator of the comment.
-            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-            "image": { # Image data about the author.
-              "url": "A String", # A URL that points to a thumbnail photo of the author.
-            },
-            "displayName": "A String", # The name of the author, suitable for display.
-            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-          },
-        },
-    ],
-    "prevPageToken": "A String", # The value of pageToken query parameter in community_poll_comments.list request to get the previous page, if there are more to retrieve.
-    "lastPageToken": "A String", # The value of pageToken query parameter in community_poll_comments.list request to get the last page.
-    "firstPageToken": "A String", # The value of pageToken query parameter in community_poll_comments.list request to get the first page.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.communityPollVotes.html b/docs/dyn/orkut_v2.communityPollVotes.html
deleted file mode 100644
index 00f5269..0000000
--- a/docs/dyn/orkut_v2.communityPollVotes.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.communityPollVotes.html">communityPollVotes</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#insert">insert(communityId, pollId, body)</a></code></p>
-<p class="firstline">Votes on a community poll.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="insert">insert(communityId, pollId, body)</code>
-  <pre>Votes on a community poll.
-
-Args:
-  communityId: integer, The ID of the community whose poll is being voted. (required)
-  pollId: string, The ID of the poll being voted. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "orkut#communityPollVote", # Identifies this resource as a community poll vote. Value: "orkut#communityPollVote"
-    "optionIds": [ # The ids of the voted options.
-      42,
-    ],
-    "isVotevisible": True or False, # Whether this vote is visible to other users or not.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "orkut#communityPollVote", # Identifies this resource as a community poll vote. Value: "orkut#communityPollVote"
-      "optionIds": [ # The ids of the voted options.
-        42,
-      ],
-      "isVotevisible": True or False, # Whether this vote is visible to other users or not.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.communityPolls.html b/docs/dyn/orkut_v2.communityPolls.html
deleted file mode 100644
index 03c6824..0000000
--- a/docs/dyn/orkut_v2.communityPolls.html
+++ /dev/null
@@ -1,241 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.communityPolls.html">communityPolls</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(communityId, pollId, hl=None)</a></code></p>
-<p class="firstline">Retrieves one specific poll of a community.</p>
-<p class="toc_element">
-  <code><a href="#list">list(communityId, pageToken=None, hl=None, maxResults=None)</a></code></p>
-<p class="firstline">Retrieves the polls of a community.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(communityId, pollId, hl=None)</code>
-  <pre>Retrieves one specific poll of a community.
-
-Args:
-  communityId: integer, The ID of the community for whose poll will be retrieved. (required)
-  pollId: string, The ID of the poll to get. (required)
-  hl: string, Specifies the interface language (host language) of your user interface.
-
-Returns:
-  An object of the form:
-
-    {
-    "links": [ # List of resources for the community poll.
-      { # Links to resources related to the parent object.
-        "href": "A String", # URL of the link.
-        "type": "A String", # Media type of the link.
-        "rel": "A String", # Relation between the resource and the parent object.
-        "title": "A String", # Title of the link.
-      },
-    ],
-    "isMultipleAnswers": True or False, # Whether this poll allows voting for more than one option.
-    "image": { # The image representing the poll. Field is omitted if no image exists.
-      "url": "A String", # A URL that points to an image of the poll.
-    },
-    "endingTime": "A String", # The ending date of this poll or empty if the poll doesn't have one.
-    "isVotingAllowedForNonMembers": True or False, # Whether non-members of the community can vote on the poll.
-    "isSpam": True or False, # Whether the user has marked this poll as spam. This only affects the poll for this user, not globally.
-    "totalNumberOfVotes": 42, # The total number of votes this poll has received.
-    "author": { # The person who created the poll.
-      "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-      "image": { # Image data about the author.
-        "url": "A String", # A URL that points to a thumbnail photo of the author.
-      },
-      "displayName": "A String", # The name of the author, suitable for display.
-      "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-    },
-    "question": "A String", # The poll question.
-    "id": "A String", # The poll ID.
-    "isRestricted": True or False, # Whether this poll is restricted for members only. If a poll is open but the user can't vote on it, it's been restricted to members only. This information is important to tell this case apart from the one where the user can't vote simply because the poll is already closed.
-    "communityId": 42, # The ID of the community.
-    "isUsersVotePublic": True or False, # If user has already voted, whether his vote is publicly visible.
-    "lastUpdate": "A String", # The date of the last update of this poll.
-    "description": "A String", # The poll description.
-    "votedOptions": [ # List of options the user has voted on, if there are any.
-      42,
-    ],
-    "isOpenForVoting": True or False, # Whether this poll is still opened for voting. A poll is open for voting if it is not closed, the user has not yet voted on it and the user has the permission to do so, which happens if he/she is either a community member or the poll is open for everybody.
-    "isClosed": True or False, # Whether the poll is not expired if there is an expiration date. A poll is open (that is, not closed for voting) if it either is not expired or doesn't have an expiration date at all. Note that just because a poll is open, it doesn't mean that the requester can vote on it.
-    "hasVoted": True or False, # Whether the user has voted on this poll.
-    "kind": "orkut#communityPoll", # Identifies this resource as a community poll. Value: "orkut#communityPoll"
-    "creationTime": "A String", # The date of creation of this poll
-    "options": [ # List of options of this poll.
-      {
-        "image": { # Image data about the poll option. Field is omitted if no image exists.
-          "url": "A String", # A URL that points to an image of the poll question.
-        },
-        "optionId": 42, # The poll option ID
-        "description": "A String", # The option description.
-        "numberOfVotes": 42, # The total number of votes that this option received.
-      },
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(communityId, pageToken=None, hl=None, maxResults=None)</code>
-  <pre>Retrieves the polls of a community.
-
-Args:
-  communityId: integer, The ID of the community which polls will be listed. (required)
-  pageToken: string, A continuation token that allows pagination.
-  hl: string, Specifies the interface language (host language) of your user interface.
-  maxResults: integer, The maximum number of polls to include in the response.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # The value of pageToken query parameter in community_polls.list request to get the next page, if there are more to retrieve.
-    "kind": "orkut#communityPollList", # Identifies this resource as a collection of community polls. Value: "orkut#communityPollList"
-    "items": [ # List of community polls retrieved.
-      {
-        "links": [ # List of resources for the community poll.
-          { # Links to resources related to the parent object.
-            "href": "A String", # URL of the link.
-            "type": "A String", # Media type of the link.
-            "rel": "A String", # Relation between the resource and the parent object.
-            "title": "A String", # Title of the link.
-          },
-        ],
-        "isMultipleAnswers": True or False, # Whether this poll allows voting for more than one option.
-        "image": { # The image representing the poll. Field is omitted if no image exists.
-          "url": "A String", # A URL that points to an image of the poll.
-        },
-        "endingTime": "A String", # The ending date of this poll or empty if the poll doesn't have one.
-        "isVotingAllowedForNonMembers": True or False, # Whether non-members of the community can vote on the poll.
-        "isSpam": True or False, # Whether the user has marked this poll as spam. This only affects the poll for this user, not globally.
-        "totalNumberOfVotes": 42, # The total number of votes this poll has received.
-        "author": { # The person who created the poll.
-          "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-          "image": { # Image data about the author.
-            "url": "A String", # A URL that points to a thumbnail photo of the author.
-          },
-          "displayName": "A String", # The name of the author, suitable for display.
-          "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-        },
-        "question": "A String", # The poll question.
-        "id": "A String", # The poll ID.
-        "isRestricted": True or False, # Whether this poll is restricted for members only. If a poll is open but the user can't vote on it, it's been restricted to members only. This information is important to tell this case apart from the one where the user can't vote simply because the poll is already closed.
-        "communityId": 42, # The ID of the community.
-        "isUsersVotePublic": True or False, # If user has already voted, whether his vote is publicly visible.
-        "lastUpdate": "A String", # The date of the last update of this poll.
-        "description": "A String", # The poll description.
-        "votedOptions": [ # List of options the user has voted on, if there are any.
-          42,
-        ],
-        "isOpenForVoting": True or False, # Whether this poll is still opened for voting. A poll is open for voting if it is not closed, the user has not yet voted on it and the user has the permission to do so, which happens if he/she is either a community member or the poll is open for everybody.
-        "isClosed": True or False, # Whether the poll is not expired if there is an expiration date. A poll is open (that is, not closed for voting) if it either is not expired or doesn't have an expiration date at all. Note that just because a poll is open, it doesn't mean that the requester can vote on it.
-        "hasVoted": True or False, # Whether the user has voted on this poll.
-        "kind": "orkut#communityPoll", # Identifies this resource as a community poll. Value: "orkut#communityPoll"
-        "creationTime": "A String", # The date of creation of this poll
-        "options": [ # List of options of this poll.
-          {
-            "image": { # Image data about the poll option. Field is omitted if no image exists.
-              "url": "A String", # A URL that points to an image of the poll question.
-            },
-            "optionId": 42, # The poll option ID
-            "description": "A String", # The option description.
-            "numberOfVotes": 42, # The total number of votes that this option received.
-          },
-        ],
-      },
-    ],
-    "prevPageToken": "A String", # The value of pageToken query parameter in community_polls.list request to get the previous page, if there are more to retrieve.
-    "lastPageToken": "A String", # The value of pageToken query parameter in community_polls.list request to get the last page.
-    "firstPageToken": "A String", # The value of pageToken query parameter in community_polls.list request to get the first page.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.communityRelated.html b/docs/dyn/orkut_v2.communityRelated.html
deleted file mode 100644
index bf7752b..0000000
--- a/docs/dyn/orkut_v2.communityRelated.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.communityRelated.html">communityRelated</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(communityId, hl=None)</a></code></p>
-<p class="firstline">Retrieves the communities related to another one.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(communityId, hl=None)</code>
-  <pre>Retrieves the communities related to another one.
-
-Args:
-  communityId: integer, The ID of the community whose related communities will be listed. (required)
-  hl: string, Specifies the interface language (host language) of your user interface.
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # List of communities retrieved.
-      {
-        "category": "A String", # The category of the community.
-        "kind": "orkut#community", # Identifies this resource as a community. Value: "orkut#community"
-        "member_count": 42, # The number of users who are part of the community. This number may be approximate, so do not rely on it for iteration.
-        "description": "A String", # The description of the community.
-        "language": "A String", # The official language of the community.
-        "links": [ # List of resources for the community.
-          { # Links to resources related to the parent object.
-            "href": "A String", # URL of the link.
-            "type": "A String", # Media type of the link.
-            "rel": "A String", # Relation between the resource and the parent object.
-            "title": "A String", # Title of the link.
-          },
-        ],
-        "creation_date": "A String", # The time the community was created, in RFC 3339 format.
-        "owner": { # The person who owns the community.
-          "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-          "image": { # Image data about the author.
-            "url": "A String", # A URL that points to a thumbnail photo of the author.
-          },
-          "displayName": "A String", # The name of the author, suitable for display.
-          "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-        },
-        "moderators": [ # The list of moderators of the community.
-          {
-            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-            "image": { # Image data about the author.
-              "url": "A String", # A URL that points to a thumbnail photo of the author.
-            },
-            "displayName": "A String", # The name of the author, suitable for display.
-            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-          },
-        ],
-        "location": "A String", # The location of the community.
-        "co_owners": [ # The co-owners of the community.
-          {
-            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-            "image": { # Image data about the author.
-              "url": "A String", # A URL that points to a thumbnail photo of the author.
-            },
-            "displayName": "A String", # The name of the author, suitable for display.
-            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-          },
-        ],
-        "photo_url": "A String", # The photo of the community.
-        "id": 42, # The id of the community.
-        "name": "A String", # The name of the community.
-      },
-    ],
-    "kind": "orkut#communityList", # Identifies this resource as a collection of communities. Value: "orkut#communityList"
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.communityTopics.html b/docs/dyn/orkut_v2.communityTopics.html
deleted file mode 100644
index 1a6046e..0000000
--- a/docs/dyn/orkut_v2.communityTopics.html
+++ /dev/null
@@ -1,380 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.communityTopics.html">communityTopics</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(communityId, topicId)</a></code></p>
-<p class="firstline">Moves a topic of the community to the trash folder.</p>
-<p class="toc_element">
-  <code><a href="#get">get(communityId, topicId, hl=None)</a></code></p>
-<p class="firstline">Retrieves a topic of a community.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(communityId, body, isShout=None)</a></code></p>
-<p class="firstline">Adds a topic to a given community.</p>
-<p class="toc_element">
-  <code><a href="#list">list(communityId, pageToken=None, hl=None, maxResults=None)</a></code></p>
-<p class="firstline">Retrieves the topics of a community.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(communityId, topicId)</code>
-  <pre>Moves a topic of the community to the trash folder.
-
-Args:
-  communityId: integer, The ID of the community whose topic will be moved to the trash folder. (required)
-  topicId: string, The ID of the topic to be moved to the trash folder. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(communityId, topicId, hl=None)</code>
-  <pre>Retrieves a topic of a community.
-
-Args:
-  communityId: integer, The ID of the community whose topic will be retrieved. (required)
-  topicId: string, The ID of the topic to get. (required)
-  hl: string, Specifies the interface language (host language) of your user interface.
-
-Returns:
-  An object of the form:
-
-    {
-      "body": "A String", # The body of the topic.
-      "lastUpdate": "A String", # The timestamp of the last update, in RFC 3339 format.
-      "kind": "orkut#communityTopic", # Identifies this resource as a community topic. Value: "orkut#communityTopic"
-      "links": [ # List of resources for the community.
-        { # Links to resources related to the parent object.
-          "href": "A String", # URL of the link.
-          "type": "A String", # Media type of the link.
-          "rel": "A String", # Relation between the resource and the parent object.
-          "title": "A String", # Title of the link.
-        },
-      ],
-      "author": { # The creator of the topic.
-        "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-        "image": { # Image data about the author.
-          "url": "A String", # A URL that points to a thumbnail photo of the author.
-        },
-        "displayName": "A String", # The name of the author, suitable for display.
-        "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-      },
-      "title": "A String", # The title of the topic.
-      "messages": [ # Most recent messages.
-        {
-            "body": "A String", # The body of the message.
-            "kind": "orkut#communityMessage", # Identifies this resource as a community message. Value: "orkut#communityMessage"
-            "links": [ # List of resources for the community message.
-              { # Links to resources related to the parent object.
-                "href": "A String", # URL of the link.
-                "type": "A String", # Media type of the link.
-                "rel": "A String", # Relation between the resource and the parent object.
-                "title": "A String", # Title of the link.
-              },
-            ],
-            "author": { # The creator of the message. If ommited, the message is annonimous.
-              "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-              "image": { # Image data about the author.
-                "url": "A String", # A URL that points to a thumbnail photo of the author.
-              },
-              "displayName": "A String", # The name of the author, suitable for display.
-              "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-            },
-            "id": "A String", # The ID of the message.
-            "addedDate": "A String", # The timestamp of the date when the message was added, in RFC 3339 format.
-            "isSpam": True or False, # Whether this post was marked as spam by the viewer, when he/she is not the community owner or one of its moderators.
-            "subject": "A String", # The subject of the message.
-          },
-      ],
-      "latestMessageSnippet": "A String", # Snippet of the last message posted on this topic.
-      "isClosed": True or False, # Whether the topic is closed for new messages.
-      "numberOfReplies": 42, # The total number of replies this topic has received.
-      "id": "A String", # The ID of the topic.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(communityId, body, isShout=None)</code>
-  <pre>Adds a topic to a given community.
-
-Args:
-  communityId: integer, The ID of the community the topic should be added to. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "body": "A String", # The body of the topic.
-    "lastUpdate": "A String", # The timestamp of the last update, in RFC 3339 format.
-    "kind": "orkut#communityTopic", # Identifies this resource as a community topic. Value: "orkut#communityTopic"
-    "links": [ # List of resources for the community.
-      { # Links to resources related to the parent object.
-        "href": "A String", # URL of the link.
-        "type": "A String", # Media type of the link.
-        "rel": "A String", # Relation between the resource and the parent object.
-        "title": "A String", # Title of the link.
-      },
-    ],
-    "author": { # The creator of the topic.
-      "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-      "image": { # Image data about the author.
-        "url": "A String", # A URL that points to a thumbnail photo of the author.
-      },
-      "displayName": "A String", # The name of the author, suitable for display.
-      "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-    },
-    "title": "A String", # The title of the topic.
-    "messages": [ # Most recent messages.
-      {
-          "body": "A String", # The body of the message.
-          "kind": "orkut#communityMessage", # Identifies this resource as a community message. Value: "orkut#communityMessage"
-          "links": [ # List of resources for the community message.
-            { # Links to resources related to the parent object.
-              "href": "A String", # URL of the link.
-              "type": "A String", # Media type of the link.
-              "rel": "A String", # Relation between the resource and the parent object.
-              "title": "A String", # Title of the link.
-            },
-          ],
-          "author": { # The creator of the message. If ommited, the message is annonimous.
-            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-            "image": { # Image data about the author.
-              "url": "A String", # A URL that points to a thumbnail photo of the author.
-            },
-            "displayName": "A String", # The name of the author, suitable for display.
-            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-          },
-          "id": "A String", # The ID of the message.
-          "addedDate": "A String", # The timestamp of the date when the message was added, in RFC 3339 format.
-          "isSpam": True or False, # Whether this post was marked as spam by the viewer, when he/she is not the community owner or one of its moderators.
-          "subject": "A String", # The subject of the message.
-        },
-    ],
-    "latestMessageSnippet": "A String", # Snippet of the last message posted on this topic.
-    "isClosed": True or False, # Whether the topic is closed for new messages.
-    "numberOfReplies": 42, # The total number of replies this topic has received.
-    "id": "A String", # The ID of the topic.
-  }
-
-  isShout: boolean, Whether this topic is a shout.
-
-Returns:
-  An object of the form:
-
-    {
-      "body": "A String", # The body of the topic.
-      "lastUpdate": "A String", # The timestamp of the last update, in RFC 3339 format.
-      "kind": "orkut#communityTopic", # Identifies this resource as a community topic. Value: "orkut#communityTopic"
-      "links": [ # List of resources for the community.
-        { # Links to resources related to the parent object.
-          "href": "A String", # URL of the link.
-          "type": "A String", # Media type of the link.
-          "rel": "A String", # Relation between the resource and the parent object.
-          "title": "A String", # Title of the link.
-        },
-      ],
-      "author": { # The creator of the topic.
-        "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-        "image": { # Image data about the author.
-          "url": "A String", # A URL that points to a thumbnail photo of the author.
-        },
-        "displayName": "A String", # The name of the author, suitable for display.
-        "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-      },
-      "title": "A String", # The title of the topic.
-      "messages": [ # Most recent messages.
-        {
-            "body": "A String", # The body of the message.
-            "kind": "orkut#communityMessage", # Identifies this resource as a community message. Value: "orkut#communityMessage"
-            "links": [ # List of resources for the community message.
-              { # Links to resources related to the parent object.
-                "href": "A String", # URL of the link.
-                "type": "A String", # Media type of the link.
-                "rel": "A String", # Relation between the resource and the parent object.
-                "title": "A String", # Title of the link.
-              },
-            ],
-            "author": { # The creator of the message. If ommited, the message is annonimous.
-              "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-              "image": { # Image data about the author.
-                "url": "A String", # A URL that points to a thumbnail photo of the author.
-              },
-              "displayName": "A String", # The name of the author, suitable for display.
-              "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-            },
-            "id": "A String", # The ID of the message.
-            "addedDate": "A String", # The timestamp of the date when the message was added, in RFC 3339 format.
-            "isSpam": True or False, # Whether this post was marked as spam by the viewer, when he/she is not the community owner or one of its moderators.
-            "subject": "A String", # The subject of the message.
-          },
-      ],
-      "latestMessageSnippet": "A String", # Snippet of the last message posted on this topic.
-      "isClosed": True or False, # Whether the topic is closed for new messages.
-      "numberOfReplies": 42, # The total number of replies this topic has received.
-      "id": "A String", # The ID of the topic.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(communityId, pageToken=None, hl=None, maxResults=None)</code>
-  <pre>Retrieves the topics of a community.
-
-Args:
-  communityId: integer, The ID of the community which topics will be listed. (required)
-  pageToken: string, A continuation token that allows pagination.
-  hl: string, Specifies the interface language (host language) of your user interface.
-  maxResults: integer, The maximum number of topics to include in the response.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # The value of pageToken query parameter in community_topic.list request to get the next page, if there are more to retrieve.
-    "kind": "orkut#communityTopicList", # Identifies this resource as a collection of community topics. Value: "orkut#communityTopicList"
-    "items": [ # List of topics retrieved.
-      {
-          "body": "A String", # The body of the topic.
-          "lastUpdate": "A String", # The timestamp of the last update, in RFC 3339 format.
-          "kind": "orkut#communityTopic", # Identifies this resource as a community topic. Value: "orkut#communityTopic"
-          "links": [ # List of resources for the community.
-            { # Links to resources related to the parent object.
-              "href": "A String", # URL of the link.
-              "type": "A String", # Media type of the link.
-              "rel": "A String", # Relation between the resource and the parent object.
-              "title": "A String", # Title of the link.
-            },
-          ],
-          "author": { # The creator of the topic.
-            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-            "image": { # Image data about the author.
-              "url": "A String", # A URL that points to a thumbnail photo of the author.
-            },
-            "displayName": "A String", # The name of the author, suitable for display.
-            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-          },
-          "title": "A String", # The title of the topic.
-          "messages": [ # Most recent messages.
-            {
-                "body": "A String", # The body of the message.
-                "kind": "orkut#communityMessage", # Identifies this resource as a community message. Value: "orkut#communityMessage"
-                "links": [ # List of resources for the community message.
-                  { # Links to resources related to the parent object.
-                    "href": "A String", # URL of the link.
-                    "type": "A String", # Media type of the link.
-                    "rel": "A String", # Relation between the resource and the parent object.
-                    "title": "A String", # Title of the link.
-                  },
-                ],
-                "author": { # The creator of the message. If ommited, the message is annonimous.
-                  "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-                  "image": { # Image data about the author.
-                    "url": "A String", # A URL that points to a thumbnail photo of the author.
-                  },
-                  "displayName": "A String", # The name of the author, suitable for display.
-                  "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-                },
-                "id": "A String", # The ID of the message.
-                "addedDate": "A String", # The timestamp of the date when the message was added, in RFC 3339 format.
-                "isSpam": True or False, # Whether this post was marked as spam by the viewer, when he/she is not the community owner or one of its moderators.
-                "subject": "A String", # The subject of the message.
-              },
-          ],
-          "latestMessageSnippet": "A String", # Snippet of the last message posted on this topic.
-          "isClosed": True or False, # Whether the topic is closed for new messages.
-          "numberOfReplies": 42, # The total number of replies this topic has received.
-          "id": "A String", # The ID of the topic.
-        },
-    ],
-    "prevPageToken": "A String", # The value of pageToken query parameter in community_topic.list request to get the previous page, if there are more to retrieve.
-    "lastPageToken": "A String", # The value of pageToken query parameter in community_topic.list request to get the last page.
-    "firstPageToken": "A String", # The value of pageToken query parameter in community_topic.list request to get the first page.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.counters.html b/docs/dyn/orkut_v2.counters.html
deleted file mode 100644
index f433265..0000000
--- a/docs/dyn/orkut_v2.counters.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.counters.html">counters</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(userId)</a></code></p>
-<p class="firstline">Retrieves the counters of a user.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(userId)</code>
-  <pre>Retrieves the counters of a user.
-
-Args:
-  userId: string, The ID of the user whose counters will be listed. Can be me to refer to caller. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # List of counters retrieved.
-      {
-        "total": 42, # The number of resources on the counted collection.
-        "link": { # Links to resources related to the parent object. # Link to the collection being counted.
-          "href": "A String", # URL of the link.
-          "type": "A String", # Media type of the link.
-          "rel": "A String", # Relation between the resource and the parent object.
-          "title": "A String", # Title of the link.
-        },
-        "name": "A String", # The name of the counted collection. Currently supported collections are:
-            # - scraps - The scraps of the user.
-            # - photos - The photos of the user.
-            # - videos - The videos of the user.
-            # - pendingTestimonials - The pending testimonials of the user.
-      },
-    ],
-    "kind": "orkut#counters", # Identifies this resource as a collection of counters. Value: "orkut#counters"
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.html b/docs/dyn/orkut_v2.html
deleted file mode 100644
index 5d7ad82..0000000
--- a/docs/dyn/orkut_v2.html
+++ /dev/null
@@ -1,157 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="orkut_v2.html">Orkut API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="orkut_v2.acl.html">acl()</a></code>
-</p>
-<p class="firstline">Returns the acl Resource.</p>
-
-<p class="toc_element">
-  <code><a href="orkut_v2.activities.html">activities()</a></code>
-</p>
-<p class="firstline">Returns the activities Resource.</p>
-
-<p class="toc_element">
-  <code><a href="orkut_v2.activityVisibility.html">activityVisibility()</a></code>
-</p>
-<p class="firstline">Returns the activityVisibility Resource.</p>
-
-<p class="toc_element">
-  <code><a href="orkut_v2.badges.html">badges()</a></code>
-</p>
-<p class="firstline">Returns the badges Resource.</p>
-
-<p class="toc_element">
-  <code><a href="orkut_v2.comments.html">comments()</a></code>
-</p>
-<p class="firstline">Returns the comments Resource.</p>
-
-<p class="toc_element">
-  <code><a href="orkut_v2.communities.html">communities()</a></code>
-</p>
-<p class="firstline">Returns the communities Resource.</p>
-
-<p class="toc_element">
-  <code><a href="orkut_v2.communityFollow.html">communityFollow()</a></code>
-</p>
-<p class="firstline">Returns the communityFollow Resource.</p>
-
-<p class="toc_element">
-  <code><a href="orkut_v2.communityMembers.html">communityMembers()</a></code>
-</p>
-<p class="firstline">Returns the communityMembers Resource.</p>
-
-<p class="toc_element">
-  <code><a href="orkut_v2.communityMessages.html">communityMessages()</a></code>
-</p>
-<p class="firstline">Returns the communityMessages Resource.</p>
-
-<p class="toc_element">
-  <code><a href="orkut_v2.communityPollComments.html">communityPollComments()</a></code>
-</p>
-<p class="firstline">Returns the communityPollComments Resource.</p>
-
-<p class="toc_element">
-  <code><a href="orkut_v2.communityPollVotes.html">communityPollVotes()</a></code>
-</p>
-<p class="firstline">Returns the communityPollVotes Resource.</p>
-
-<p class="toc_element">
-  <code><a href="orkut_v2.communityPolls.html">communityPolls()</a></code>
-</p>
-<p class="firstline">Returns the communityPolls Resource.</p>
-
-<p class="toc_element">
-  <code><a href="orkut_v2.communityRelated.html">communityRelated()</a></code>
-</p>
-<p class="firstline">Returns the communityRelated Resource.</p>
-
-<p class="toc_element">
-  <code><a href="orkut_v2.communityTopics.html">communityTopics()</a></code>
-</p>
-<p class="firstline">Returns the communityTopics Resource.</p>
-
-<p class="toc_element">
-  <code><a href="orkut_v2.counters.html">counters()</a></code>
-</p>
-<p class="firstline">Returns the counters Resource.</p>
-
-<p class="toc_element">
-  <code><a href="orkut_v2.scraps.html">scraps()</a></code>
-</p>
-<p class="firstline">Returns the scraps Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.scraps.html b/docs/dyn/orkut_v2.scraps.html
deleted file mode 100644
index 3aff5dc..0000000
--- a/docs/dyn/orkut_v2.scraps.html
+++ /dev/null
@@ -1,406 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.scraps.html">scraps</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#insert">insert(body)</a></code></p>
-<p class="firstline">Creates a new scrap.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="insert">insert(body)</code>
-  <pre>Creates a new scrap.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-  "kind": "orkut#activity", # The kind of activity. Always orkut#activity.
-  "links": [ # Links to resources related to this activity.
-    { # Links to resources related to the parent object.
-      "href": "A String", # URL of the link.
-      "type": "A String", # Media type of the link.
-      "rel": "A String", # Relation between the resource and the parent object.
-      "title": "A String", # Title of the link.
-    },
-  ],
-  "title": "A String", # Title of the activity.
-  "object": { # The activity's object.
-    "content": "A String", # The HTML-formatted content, suitable for display. When updating an activity's content, post the changes to this property, using the value of originalContent as a starting point. If the update is successful, the server adds HTML formatting and responds with this formatted content.
-    "items": [ # The list of additional items.
-      {
-        "displayName": "A String", # The title of the object.
-        "links": [ # Links to other resources related to this object.
-          { # Links to resources related to the parent object.
-            "href": "A String", # URL of the link.
-            "type": "A String", # Media type of the link.
-            "rel": "A String", # Relation between the resource and the parent object.
-            "title": "A String", # Title of the link.
-          },
-        ],
-        "community": { # The community which is related with this activity, e.g. a joined community.
-          "category": "A String", # The category of the community.
-          "kind": "orkut#community", # Identifies this resource as a community. Value: "orkut#community"
-          "member_count": 42, # The number of users who are part of the community. This number may be approximate, so do not rely on it for iteration.
-          "description": "A String", # The description of the community.
-          "language": "A String", # The official language of the community.
-          "links": [ # List of resources for the community.
-            { # Links to resources related to the parent object.
-              "href": "A String", # URL of the link.
-              "type": "A String", # Media type of the link.
-              "rel": "A String", # Relation between the resource and the parent object.
-              "title": "A String", # Title of the link.
-            },
-          ],
-          "creation_date": "A String", # The time the community was created, in RFC 3339 format.
-          "owner": { # The person who owns the community.
-            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-            "image": { # Image data about the author.
-              "url": "A String", # A URL that points to a thumbnail photo of the author.
-            },
-            "displayName": "A String", # The name of the author, suitable for display.
-            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-          },
-          "moderators": [ # The list of moderators of the community.
-            {
-              "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-              "image": { # Image data about the author.
-                "url": "A String", # A URL that points to a thumbnail photo of the author.
-              },
-              "displayName": "A String", # The name of the author, suitable for display.
-              "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-            },
-          ],
-          "location": "A String", # The location of the community.
-          "co_owners": [ # The co-owners of the community.
-            {
-              "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-              "image": { # Image data about the author.
-                "url": "A String", # A URL that points to a thumbnail photo of the author.
-              },
-              "displayName": "A String", # The name of the author, suitable for display.
-              "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-            },
-          ],
-          "photo_url": "A String", # The photo of the community.
-          "id": 42, # The id of the community.
-          "name": "A String", # The name of the community.
-        },
-        "content": "A String", # The HTML-formatted content, suitable for display. When updating an activity's content, post the changes to this property, using the value of originalContent as a starting point. If the update is successful, the server adds HTML formatting and responds with this formatted content.
-        "person": { # The person who is related with this activity, e.g. an Added User.
-          "name": { # An object that encapsulates the individual components of a person's name.
-            "givenName": "A String", # The given name (first name) of this person.
-            "familyName": "A String", # The family name (last name) of this person.
-          },
-          "url": "A String", # The person's profile url. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
-          "gender": "A String", # The person's gender. Values include "male", "female", and "other".
-          "image": { # The person's profile photo. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
-            "url": "A String", # The URL of the person's profile photo.
-          },
-          "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
-          "id": "A String", # The person's opensocial ID.
-        },
-        "id": "A String", # The ID for the object.
-        "objectType": "A String", # The object type.
-      },
-    ],
-    "replies": { # Comments in reply to this activity.
-      "totalItems": "A String", # Total number of comments.
-      "items": [ # The list of comments.
-        {
-          "inReplyTo": { # Link to the original activity where this comment was posted.
-            "type": "A String", # Type of the post on activity stream being commented. Always text/html.
-            "href": "A String", # Link to the post on activity stream being commented.
-            "ref": "A String", # Unique identifier of the post on activity stream being commented.
-            "rel": "inReplyTo", # Relationship between the comment and the post on activity stream being commented. Always inReplyTo.
-          },
-          "kind": "orkut#comment", # Identifies this resource as a comment. Value: "orkut#comment"
-          "links": [ # List of resources for the comment.
-            { # Links to resources related to the parent object.
-              "href": "A String", # URL of the link.
-              "type": "A String", # Media type of the link.
-              "rel": "A String", # Relation between the resource and the parent object.
-              "title": "A String", # Title of the link.
-            },
-          ],
-          "actor": { # The person who posted the comment.
-            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-            "image": { # Image data about the author.
-              "url": "A String", # A URL that points to a thumbnail photo of the author.
-            },
-            "displayName": "A String", # The name of the author, suitable for display.
-            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-          },
-          "content": "A String", # The content of the comment in text/html
-          "published": "A String", # The time the comment was initially published, in RFC 3339 format.
-          "id": "A String", # The unique ID for the comment.
-        },
-      ],
-      "url": "A String", # URL for the collection of comments in reply to this activity.
-    },
-    "objectType": "A String", # The type of the object affected by the activity. Clients can use this information to style the rendered activity object differently depending on the content.
-  },
-  "updated": "A String", # The time at which the activity was last updated.
-  "actor": { # The person who performed the activity.
-    "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-    "image": { # Image data about the author.
-      "url": "A String", # A URL that points to a thumbnail photo of the author.
-    },
-    "displayName": "A String", # The name of the author, suitable for display.
-    "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-  },
-  "access": { # Identifies who has access to see this activity.
-    "items": [ # The list of ACL entries.
-      {
-        "type": "A String", # The type of entity to whom access is granted.
-        "id": "A String", # The ID of the entity. For entities of type "person" or "circle", this is the ID of the resource. For other types, this will be unset.
-      },
-    ],
-    "kind": "orkut#acl", # Identifies this resource as an access control list. Value: "orkut#acl"
-    "description": "A String", # Human readable description of the access granted.
-    "totalParticipants": 42, # The total count of participants of the parent resource.
-  },
-  "verb": "A String", # This activity's verb, indicating what action was performed. Possible values are:
-      # - add - User added new content to profile or album, e.g. video, photo.
-      # - post - User publish content to the stream, e.g. status, scrap.
-      # - update - User commented on an activity.
-      # - make-friend - User added a new friend.
-      # - birthday - User has a birthday.
-  "published": "A String", # The time at which the activity was initially published.
-  "id": "A String", # The ID for the activity.
-}
-
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "orkut#activity", # The kind of activity. Always orkut#activity.
-    "links": [ # Links to resources related to this activity.
-      { # Links to resources related to the parent object.
-        "href": "A String", # URL of the link.
-        "type": "A String", # Media type of the link.
-        "rel": "A String", # Relation between the resource and the parent object.
-        "title": "A String", # Title of the link.
-      },
-    ],
-    "title": "A String", # Title of the activity.
-    "object": { # The activity's object.
-      "content": "A String", # The HTML-formatted content, suitable for display. When updating an activity's content, post the changes to this property, using the value of originalContent as a starting point. If the update is successful, the server adds HTML formatting and responds with this formatted content.
-      "items": [ # The list of additional items.
-        {
-          "displayName": "A String", # The title of the object.
-          "links": [ # Links to other resources related to this object.
-            { # Links to resources related to the parent object.
-              "href": "A String", # URL of the link.
-              "type": "A String", # Media type of the link.
-              "rel": "A String", # Relation between the resource and the parent object.
-              "title": "A String", # Title of the link.
-            },
-          ],
-          "community": { # The community which is related with this activity, e.g. a joined community.
-            "category": "A String", # The category of the community.
-            "kind": "orkut#community", # Identifies this resource as a community. Value: "orkut#community"
-            "member_count": 42, # The number of users who are part of the community. This number may be approximate, so do not rely on it for iteration.
-            "description": "A String", # The description of the community.
-            "language": "A String", # The official language of the community.
-            "links": [ # List of resources for the community.
-              { # Links to resources related to the parent object.
-                "href": "A String", # URL of the link.
-                "type": "A String", # Media type of the link.
-                "rel": "A String", # Relation between the resource and the parent object.
-                "title": "A String", # Title of the link.
-              },
-            ],
-            "creation_date": "A String", # The time the community was created, in RFC 3339 format.
-            "owner": { # The person who owns the community.
-              "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-              "image": { # Image data about the author.
-                "url": "A String", # A URL that points to a thumbnail photo of the author.
-              },
-              "displayName": "A String", # The name of the author, suitable for display.
-              "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-            },
-            "moderators": [ # The list of moderators of the community.
-              {
-                "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-                "image": { # Image data about the author.
-                  "url": "A String", # A URL that points to a thumbnail photo of the author.
-                },
-                "displayName": "A String", # The name of the author, suitable for display.
-                "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-              },
-            ],
-            "location": "A String", # The location of the community.
-            "co_owners": [ # The co-owners of the community.
-              {
-                "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-                "image": { # Image data about the author.
-                  "url": "A String", # A URL that points to a thumbnail photo of the author.
-                },
-                "displayName": "A String", # The name of the author, suitable for display.
-                "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-              },
-            ],
-            "photo_url": "A String", # The photo of the community.
-            "id": 42, # The id of the community.
-            "name": "A String", # The name of the community.
-          },
-          "content": "A String", # The HTML-formatted content, suitable for display. When updating an activity's content, post the changes to this property, using the value of originalContent as a starting point. If the update is successful, the server adds HTML formatting and responds with this formatted content.
-          "person": { # The person who is related with this activity, e.g. an Added User.
-            "name": { # An object that encapsulates the individual components of a person's name.
-              "givenName": "A String", # The given name (first name) of this person.
-              "familyName": "A String", # The family name (last name) of this person.
-            },
-            "url": "A String", # The person's profile url. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
-            "gender": "A String", # The person's gender. Values include "male", "female", and "other".
-            "image": { # The person's profile photo. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
-              "url": "A String", # The URL of the person's profile photo.
-            },
-            "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
-            "id": "A String", # The person's opensocial ID.
-          },
-          "id": "A String", # The ID for the object.
-          "objectType": "A String", # The object type.
-        },
-      ],
-      "replies": { # Comments in reply to this activity.
-        "totalItems": "A String", # Total number of comments.
-        "items": [ # The list of comments.
-          {
-            "inReplyTo": { # Link to the original activity where this comment was posted.
-              "type": "A String", # Type of the post on activity stream being commented. Always text/html.
-              "href": "A String", # Link to the post on activity stream being commented.
-              "ref": "A String", # Unique identifier of the post on activity stream being commented.
-              "rel": "inReplyTo", # Relationship between the comment and the post on activity stream being commented. Always inReplyTo.
-            },
-            "kind": "orkut#comment", # Identifies this resource as a comment. Value: "orkut#comment"
-            "links": [ # List of resources for the comment.
-              { # Links to resources related to the parent object.
-                "href": "A String", # URL of the link.
-                "type": "A String", # Media type of the link.
-                "rel": "A String", # Relation between the resource and the parent object.
-                "title": "A String", # Title of the link.
-              },
-            ],
-            "actor": { # The person who posted the comment.
-              "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-              "image": { # Image data about the author.
-                "url": "A String", # A URL that points to a thumbnail photo of the author.
-              },
-              "displayName": "A String", # The name of the author, suitable for display.
-              "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-            },
-            "content": "A String", # The content of the comment in text/html
-            "published": "A String", # The time the comment was initially published, in RFC 3339 format.
-            "id": "A String", # The unique ID for the comment.
-          },
-        ],
-        "url": "A String", # URL for the collection of comments in reply to this activity.
-      },
-      "objectType": "A String", # The type of the object affected by the activity. Clients can use this information to style the rendered activity object differently depending on the content.
-    },
-    "updated": "A String", # The time at which the activity was last updated.
-    "actor": { # The person who performed the activity.
-      "url": "A String", # The URL of the author who posted the comment [not yet implemented]
-      "image": { # Image data about the author.
-        "url": "A String", # A URL that points to a thumbnail photo of the author.
-      },
-      "displayName": "A String", # The name of the author, suitable for display.
-      "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
-    },
-    "access": { # Identifies who has access to see this activity.
-      "items": [ # The list of ACL entries.
-        {
-          "type": "A String", # The type of entity to whom access is granted.
-          "id": "A String", # The ID of the entity. For entities of type "person" or "circle", this is the ID of the resource. For other types, this will be unset.
-        },
-      ],
-      "kind": "orkut#acl", # Identifies this resource as an access control list. Value: "orkut#acl"
-      "description": "A String", # Human readable description of the access granted.
-      "totalParticipants": 42, # The total count of participants of the parent resource.
-    },
-    "verb": "A String", # This activity's verb, indicating what action was performed. Possible values are:
-        # - add - User added new content to profile or album, e.g. video, photo.
-        # - post - User publish content to the stream, e.g. status, scrap.
-        # - update - User commented on an activity.
-        # - make-friend - User added a new friend.
-        # - birthday - User has a birthday.
-    "published": "A String", # The time at which the activity was initially published.
-    "id": "A String", # The ID for the activity.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/pagespeedonline_v1.html b/docs/dyn/pagespeedonline_v1.html
deleted file mode 100644
index 4b0abf3..0000000
--- a/docs/dyn/pagespeedonline_v1.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="pagespeedonline_v1.html">PageSpeed Insights API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="pagespeedonline_v1.pagespeedapi.html">pagespeedapi()</a></code>
-</p>
-<p class="firstline">Returns the pagespeedapi Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/pagespeedonline_v1.pagespeedapi.html b/docs/dyn/pagespeedonline_v1.pagespeedapi.html
deleted file mode 100644
index aa269a2..0000000
--- a/docs/dyn/pagespeedonline_v1.pagespeedapi.html
+++ /dev/null
@@ -1,189 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="pagespeedonline_v1.html">PageSpeed Insights API</a> . <a href="pagespeedonline_v1.pagespeedapi.html">pagespeedapi</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#runpagespeed">runpagespeed(url, screenshot=None, locale=None, rule=None, strategy=None, filter_third_party_resources=None)</a></code></p>
-<p class="firstline">Runs Page Speed analysis on the page at the specified URL, and returns a Page Speed score, a list of suggestions to make that page faster, and other information.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="runpagespeed">runpagespeed(url, screenshot=None, locale=None, rule=None, strategy=None, filter_third_party_resources=None)</code>
-  <pre>Runs Page Speed analysis on the page at the specified URL, and returns a Page Speed score, a list of suggestions to make that page faster, and other information.
-
-Args:
-  url: string, The URL to fetch and analyze (required)
-  screenshot: boolean, Indicates if binary data containing a screenshot should be included
-  locale: string, The locale used to localize formatted results
-  rule: string, A Page Speed rule to run; if none are given, all rules are run (repeated)
-  strategy: string, The analysis strategy to use
-    Allowed values
-      desktop - Fetch and analyze the URL for desktop browsers
-      mobile - Fetch and analyze the URL for mobile devices
-  filter_third_party_resources: boolean, Indicates if third party resources should be filtered out before PageSpeed analysis.
-
-Returns:
-  An object of the form:
-
-    {
-    "notice": "If you would like to use this API to perform programmatic PageSpeed analysis, please use your own PageSpeed Insights API key. See https://developers.google.com/speed/docs/insights/v1/getting_started for additional details.", # Notice to discourage users from reusing API keys.
-    "responseCode": 42, # Response code for the document. 200 indicates a normal page load. 4xx/5xx indicates an error.
-    "screenshot": { # Base64 encoded screenshot of the page that was analyzed.
-      "width": 42, # Width of screenshot in pixels.
-      "data": "A String", # Image data base64 encoded.
-      "mime_type": "A String", # Mime type of image data. E.g. "image/jpeg".
-      "height": 42, # Height of screenshot in pixels.
-    },
-    "title": "A String", # Title of the page, as displayed in the browser's title bar.
-    "version": { # The version of the Page Speed SDK used to generate these results.
-      "major": 42, # The major version number of the Page Speed SDK used to generate these results.
-      "minor": 42, # The minor version number of the Page Speed SDK used to generate these results.
-    },
-    "request": { # Echo of certain request parameters.
-      "url": "A String",
-      "filter_third_party_resources": "A String",
-      "strategy": "A String",
-    },
-    "kind": "pagespeedonline#result", # Kind of result.
-    "score": 42, # The Page Speed Score (0-100), which indicates how much faster a page could be. A high score indicates little room for improvement, while a lower score indicates more room for improvement.
-    "formattedResults": { # Localized Page Speed results. Contains a ruleResults entry for each Page Speed rule instantiated and run by the server.
-      "locale": "A String", # The locale of the formattedResults, e.g. "en_US".
-      "ruleResults": { # Dictionary of formatted rule results, with one entry for each Page Speed rule instantiated and run by the server.
-        "a_key": { # The enum-like identifier for this rule. For instance "EnableKeepAlive" or "AvoidCssImport". Not localized.
-          "localizedRuleName": "A String", # Localized name of the rule, intended for presentation to a user.
-          "urlBlocks": [ # List of blocks of URLs. Each block may contain a heading and a list of URLs. Each URL may optionally include additional details.
-            {
-              "header": { # Heading to be displayed with the list of URLs.
-                "args": [ # List of arguments for the format string.
-                  {
-                    "type": "A String", # Type of argument. One of URL, STRING_LITERAL, INT_LITERAL, BYTES, or DURATION.
-                    "value": "A String", # Argument value, as a localized string.
-                  },
-                ],
-                "format": "A String", # A localized format string with $N placeholders, where N is the 1-indexed argument number, e.g. 'Minifying the following $1 resources would save a total of $2 bytes'.
-              },
-              "urls": [ # List of entries that provide information about URLs in the url block. Optional.
-                {
-                  "details": [ # List of entries that provide additional details about a single URL. Optional.
-                    {
-                      "args": [ # List of arguments for the format string.
-                        {
-                          "type": "A String", # Type of argument. One of URL, STRING_LITERAL, INT_LITERAL, BYTES, or DURATION.
-                          "value": "A String", # Argument value, as a localized string.
-                        },
-                      ],
-                      "format": "A String", # A localized format string with $N placeholders, where N is the 1-indexed argument number, e.g. 'Unnecessary metadata for this resource adds an additional $1 bytes to its download size'.
-                    },
-                  ],
-                  "result": { # A format string that gives information about the URL, and a list of arguments for that format string.
-                    "args": [ # List of arguments for the format string.
-                      {
-                        "type": "A String", # Type of argument. One of URL, STRING_LITERAL, INT_LITERAL, BYTES, or DURATION.
-                        "value": "A String", # Argument value, as a localized string.
-                      },
-                    ],
-                    "format": "A String", # A localized format string with $N placeholders, where N is the 1-indexed argument number, e.g. 'Minifying the resource at URL $1 can save $2 bytes'.
-                  },
-                },
-              ],
-            },
-          ],
-          "ruleScore": 42, # The score (0-100) for this rule. The rule score indicates how well a page implements the recommendations for the given rule. For instance, if none of the compressible resources on a page are compressed, the rule score would be 0, while if all of the compressible resources on a page are compressed, the rule score would be 100.
-          "ruleImpact": 3.14, # The impact (unbounded floating point value) that implementing the suggestions for this rule would have on making the page faster. Impact is comparable between rules to determine which rule's suggestions would have a higher or lower impact on making a page faster. For instance, if enabling compression would save 1MB, while optimizing images would save 500kB, the enable compression rule would have 2x the impact of the image optimization rule, all other things being equal.
-        },
-      },
-    },
-    "invalidRules": [ # List of rules that were specified in the request, but which the server did not know how to instantiate.
-      "A String",
-    ],
-    "pageStats": { # Summary statistics for the page, such as number of JavaScript bytes, number of HTML bytes, etc.
-      "otherResponseBytes": "A String", # Number of response bytes for other resources on the page.
-      "flashResponseBytes": "A String", # Number of response bytes for flash resources on the page.
-      "totalRequestBytes": "A String", # Total size of all request bytes sent by the page.
-      "numberCssResources": 42, # Number of CSS resources referenced by the page.
-      "numberResources": 42, # Number of HTTP resources loaded by the page.
-      "cssResponseBytes": "A String", # Number of uncompressed response bytes for CSS resources on the page.
-      "javascriptResponseBytes": "A String", # Number of uncompressed response bytes for JS resources on the page.
-      "imageResponseBytes": "A String", # Number of response bytes for image resources on the page.
-      "numberHosts": 42, # Number of unique hosts referenced by the page.
-      "numberStaticResources": 42, # Number of static (i.e. cacheable) resources on the page.
-      "htmlResponseBytes": "A String", # Number of uncompressed response bytes for the main HTML document and all iframes on the page.
-      "numberJsResources": 42, # Number of JavaScript resources referenced by the page.
-      "textResponseBytes": "A String", # Number of uncompressed response bytes for text resources not covered by other statistics (i.e non-HTML, non-script, non-CSS resources) on the page.
-    },
-    "id": "A String", # Canonicalized and final URL for the document, after following page redirects (if any).
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/plus_v1.activities.html b/docs/dyn/plus_v1.activities.html
deleted file mode 100644
index 338d267..0000000
--- a/docs/dyn/plus_v1.activities.html
+++ /dev/null
@@ -1,589 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="plus_v1.html">Google+ API</a> . <a href="plus_v1.activities.html">activities</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(activityId)</a></code></p>
-<p class="firstline">Get an activity.</p>
-<p class="toc_element">
-  <code><a href="#list">list(userId, collection, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all of the activities in the specified collection for a particular user.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#search">search(query, orderBy=None, language=None, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Search public activities.</p>
-<p class="toc_element">
-  <code><a href="#search_next">search_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(activityId)</code>
-  <pre>Get an activity.
-
-Args:
-  activityId: string, The ID of the activity to get. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "placeName": "A String", # Name of the place where this activity occurred.
-    "kind": "plus#activity", # Identifies this resource as an activity. Value: "plus#activity".
-    "updated": "A String", # The time at which this activity was last updated. Formatted as an RFC 3339 timestamp.
-    "provider": { # The service provider that initially published this activity.
-      "title": "A String", # Name of the service provider.
-    },
-    "title": "A String", # Title of this activity.
-    "url": "A String", # The link to this activity.
-    "geocode": "A String", # Latitude and longitude where this activity occurred. Format is latitude followed by longitude, space separated.
-    "object": { # The object of this activity.
-      "resharers": { # People who reshared this activity.
-        "totalItems": 42, # Total number of people who reshared this activity.
-        "selfLink": "A String", # The URL for the collection of resharers.
-      },
-      "attachments": [ # The media objects attached to this activity.
-        {
-          "displayName": "A String", # The title of the attachment, such as a photo caption or an article title.
-          "thumbnails": [ # If the attachment is an album, this property is a list of potential additional thumbnails from the album.
-            {
-              "url": "A String", # URL to the webpage containing the image.
-              "image": { # Image resource.
-                "url": "A String", # Image url.
-                "width": 42, # The width, in pixels, of the linked resource.
-                "type": "A String", # Media type of the link.
-                "height": 42, # The height, in pixels, of the linked resource.
-              },
-              "description": "A String", # Potential name of the thumbnail.
-            },
-          ],
-          "fullImage": { # The full image URL for photo attachments.
-            "url": "A String", # URL to the image.
-            "width": 42, # The width, in pixels, of the linked resource.
-            "type": "A String", # Media type of the link.
-            "height": 42, # The height, in pixels, of the linked resource.
-          },
-          "url": "A String", # The link to the attachment, should be of type text/html.
-          "image": { # The preview image for photos or videos.
-            "url": "A String", # Image url.
-            "width": 42, # The width, in pixels, of the linked resource.
-            "type": "A String", # Media type of the link.
-            "height": 42, # The height, in pixels, of the linked resource.
-          },
-          "content": "A String", # If the attachment is an article, this property contains a snippet of text from the article. It can also include descriptions for other types.
-          "embed": { # If the attachment is a video, the embeddable link.
-            "url": "A String", # URL of the link.
-            "type": "A String", # Media type of the link.
-          },
-          "id": "A String", # The ID of the attachment.
-          "objectType": "A String", # The type of media object. Possible values include, but are not limited to, the following values:
-              # - "photo" - A photo.
-              # - "album" - A photo album.
-              # - "video" - A video.
-              # - "article" - An article, specified by a link.
-        },
-      ],
-      "originalContent": "A String", # The content (text) as provided by the author, which is stored without any HTML formatting. When creating or updating an activity, this value must be supplied as plain text in the request.
-      "plusoners": { # People who +1'd this activity.
-        "totalItems": 42, # Total number of people who +1'd this activity.
-        "selfLink": "A String", # The URL for the collection of people who +1'd this activity.
-      },
-      "actor": { # If this activity's object is itself another activity, such as when a person reshares an activity, this property specifies the original activity's actor.
-        "url": "A String", # A link to the original actor's Google profile.
-        "image": { # The image representation of the original actor.
-          "url": "A String", # A URL that points to a thumbnail photo of the original actor.
-        },
-        "displayName": "A String", # The original actor's name, which is suitable for display.
-        "id": "A String", # ID of the original actor.
-      },
-      "content": "A String", # The HTML-formatted content, which is suitable for display.
-      "url": "A String", # The URL that points to the linked resource.
-      "replies": { # Comments in reply to this activity.
-        "totalItems": 42, # Total number of comments on this activity.
-        "selfLink": "A String", # The URL for the collection of comments in reply to this activity.
-      },
-      "id": "A String", # The ID of the object. When resharing an activity, this is the ID of the activity that is being reshared.
-      "objectType": "A String", # The type of the object. Possible values include, but are not limited to, the following values:
-          # - "note" - Textual content.
-          # - "activity" - A Google+ activity.
-    },
-    "placeId": "A String", # ID of the place where this activity occurred.
-    "actor": { # The person who performed this activity.
-      "url": "A String", # The link to the actor's Google profile.
-      "image": { # The image representation of the actor.
-        "url": "A String", # The URL of the actor's profile photo. To re-size the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
-      },
-      "displayName": "A String", # The name of the actor, suitable for display.
-      "id": "A String", # The ID of the actor's person resource.
-      "name": { # An object representation of the individual components of name.
-        "givenName": "A String", # The given name (first name) of the actor.
-        "familyName": "A String", # The family name (last name) of the actor.
-      },
-    },
-    "id": "A String", # The ID of this activity.
-    "access": { # Identifies who has access to see this activity.
-      "items": [ # The list of access entries.
-        {
-          "type": "A String", # The type of entry describing to whom access is granted. Possible values are:
-              # - "person" - Access to an individual.
-              # - "circle" - Access to members of a circle.
-              # - "myCircles" - Access to members of all the person's circles.
-              # - "extendedCircles" - Access to members of everyone in a person's circles, plus all of the people in their circles.
-              # - "domain" - Access to members of the person's Google Apps domain.
-              # - "public" - Access to anyone on the web.
-          "displayName": "A String", # A descriptive name for this entry. Suitable for display.
-          "id": "A String", # The ID of the entry. For entries of type "person" or "circle", this is the ID of the resource. For other types, this property is not set.
-        },
-      ],
-      "kind": "plus#acl", # Identifies this resource as a collection of access controls. Value: "plus#acl".
-      "description": "A String", # Description of the access granted, suitable for display.
-    },
-    "verb": "A String", # This activity's verb, which indicates the action that was performed. Possible values include, but are not limited to, the following values:
-        # - "post" - Publish content to the stream.
-        # - "share" - Reshare an activity.
-    "etag": "A String", # ETag of this response for caching purposes.
-    "radius": "A String", # Radius, in meters, of the region where this activity occurred, centered at the latitude and longitude identified in geocode.
-    "location": { # The location where this activity occurred.
-      "position": { # The position of the place.
-        "latitude": 3.14, # The latitude of this position.
-        "longitude": 3.14, # The longitude of this position.
-      },
-      "kind": "plus#place", # Identifies this resource as a place. Value: "plus#place".
-      "displayName": "A String", # The display name of the place.
-      "address": { # The physical address of the place.
-        "formatted": "A String", # The formatted address for display.
-      },
-    },
-    "address": "A String", # Street address where this activity occurred.
-    "crosspostSource": "A String", # If this activity is a cross post from another system, this property specifies the ID of the original activity.
-    "annotation": "A String", # Additional content added by the person who shared this activity, applicable only when resharing an activity.
-    "published": "A String", # The time at which this activity was initially published. Formatted as an RFC 3339 timestamp.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(userId, collection, pageToken=None, maxResults=None)</code>
-  <pre>List all of the activities in the specified collection for a particular user.
-
-Args:
-  userId: string, The ID of the user to get activities for. The special value "me" can be used to indicate the authenticated user. (required)
-  collection: string, The collection of activities to list. (required)
-    Allowed values
-      public - All public activities created by the specified user.
-  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of activities to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
-    "kind": "plus#activityFeed", # Identifies this resource as a collection of activities. Value: "plus#activityFeed".
-    "title": "A String", # The title of this collection of activities.
-    "items": [ # The activities in this page of results.
-      {
-        "placeName": "A String", # Name of the place where this activity occurred.
-        "kind": "plus#activity", # Identifies this resource as an activity. Value: "plus#activity".
-        "updated": "A String", # The time at which this activity was last updated. Formatted as an RFC 3339 timestamp.
-        "provider": { # The service provider that initially published this activity.
-          "title": "A String", # Name of the service provider.
-        },
-        "title": "A String", # Title of this activity.
-        "url": "A String", # The link to this activity.
-        "geocode": "A String", # Latitude and longitude where this activity occurred. Format is latitude followed by longitude, space separated.
-        "object": { # The object of this activity.
-          "resharers": { # People who reshared this activity.
-            "totalItems": 42, # Total number of people who reshared this activity.
-            "selfLink": "A String", # The URL for the collection of resharers.
-          },
-          "attachments": [ # The media objects attached to this activity.
-            {
-              "displayName": "A String", # The title of the attachment, such as a photo caption or an article title.
-              "thumbnails": [ # If the attachment is an album, this property is a list of potential additional thumbnails from the album.
-                {
-                  "url": "A String", # URL to the webpage containing the image.
-                  "image": { # Image resource.
-                    "url": "A String", # Image url.
-                    "width": 42, # The width, in pixels, of the linked resource.
-                    "type": "A String", # Media type of the link.
-                    "height": 42, # The height, in pixels, of the linked resource.
-                  },
-                  "description": "A String", # Potential name of the thumbnail.
-                },
-              ],
-              "fullImage": { # The full image URL for photo attachments.
-                "url": "A String", # URL to the image.
-                "width": 42, # The width, in pixels, of the linked resource.
-                "type": "A String", # Media type of the link.
-                "height": 42, # The height, in pixels, of the linked resource.
-              },
-              "url": "A String", # The link to the attachment, should be of type text/html.
-              "image": { # The preview image for photos or videos.
-                "url": "A String", # Image url.
-                "width": 42, # The width, in pixels, of the linked resource.
-                "type": "A String", # Media type of the link.
-                "height": 42, # The height, in pixels, of the linked resource.
-              },
-              "content": "A String", # If the attachment is an article, this property contains a snippet of text from the article. It can also include descriptions for other types.
-              "embed": { # If the attachment is a video, the embeddable link.
-                "url": "A String", # URL of the link.
-                "type": "A String", # Media type of the link.
-              },
-              "id": "A String", # The ID of the attachment.
-              "objectType": "A String", # The type of media object. Possible values include, but are not limited to, the following values:
-                  # - "photo" - A photo.
-                  # - "album" - A photo album.
-                  # - "video" - A video.
-                  # - "article" - An article, specified by a link.
-            },
-          ],
-          "originalContent": "A String", # The content (text) as provided by the author, which is stored without any HTML formatting. When creating or updating an activity, this value must be supplied as plain text in the request.
-          "plusoners": { # People who +1'd this activity.
-            "totalItems": 42, # Total number of people who +1'd this activity.
-            "selfLink": "A String", # The URL for the collection of people who +1'd this activity.
-          },
-          "actor": { # If this activity's object is itself another activity, such as when a person reshares an activity, this property specifies the original activity's actor.
-            "url": "A String", # A link to the original actor's Google profile.
-            "image": { # The image representation of the original actor.
-              "url": "A String", # A URL that points to a thumbnail photo of the original actor.
-            },
-            "displayName": "A String", # The original actor's name, which is suitable for display.
-            "id": "A String", # ID of the original actor.
-          },
-          "content": "A String", # The HTML-formatted content, which is suitable for display.
-          "url": "A String", # The URL that points to the linked resource.
-          "replies": { # Comments in reply to this activity.
-            "totalItems": 42, # Total number of comments on this activity.
-            "selfLink": "A String", # The URL for the collection of comments in reply to this activity.
-          },
-          "id": "A String", # The ID of the object. When resharing an activity, this is the ID of the activity that is being reshared.
-          "objectType": "A String", # The type of the object. Possible values include, but are not limited to, the following values:
-              # - "note" - Textual content.
-              # - "activity" - A Google+ activity.
-        },
-        "placeId": "A String", # ID of the place where this activity occurred.
-        "actor": { # The person who performed this activity.
-          "url": "A String", # The link to the actor's Google profile.
-          "image": { # The image representation of the actor.
-            "url": "A String", # The URL of the actor's profile photo. To re-size the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
-          },
-          "displayName": "A String", # The name of the actor, suitable for display.
-          "id": "A String", # The ID of the actor's person resource.
-          "name": { # An object representation of the individual components of name.
-            "givenName": "A String", # The given name (first name) of the actor.
-            "familyName": "A String", # The family name (last name) of the actor.
-          },
-        },
-        "id": "A String", # The ID of this activity.
-        "access": { # Identifies who has access to see this activity.
-          "items": [ # The list of access entries.
-            {
-              "type": "A String", # The type of entry describing to whom access is granted. Possible values are:
-                  # - "person" - Access to an individual.
-                  # - "circle" - Access to members of a circle.
-                  # - "myCircles" - Access to members of all the person's circles.
-                  # - "extendedCircles" - Access to members of everyone in a person's circles, plus all of the people in their circles.
-                  # - "domain" - Access to members of the person's Google Apps domain.
-                  # - "public" - Access to anyone on the web.
-              "displayName": "A String", # A descriptive name for this entry. Suitable for display.
-              "id": "A String", # The ID of the entry. For entries of type "person" or "circle", this is the ID of the resource. For other types, this property is not set.
-            },
-          ],
-          "kind": "plus#acl", # Identifies this resource as a collection of access controls. Value: "plus#acl".
-          "description": "A String", # Description of the access granted, suitable for display.
-        },
-        "verb": "A String", # This activity's verb, which indicates the action that was performed. Possible values include, but are not limited to, the following values:
-            # - "post" - Publish content to the stream.
-            # - "share" - Reshare an activity.
-        "etag": "A String", # ETag of this response for caching purposes.
-        "radius": "A String", # Radius, in meters, of the region where this activity occurred, centered at the latitude and longitude identified in geocode.
-        "location": { # The location where this activity occurred.
-          "position": { # The position of the place.
-            "latitude": 3.14, # The latitude of this position.
-            "longitude": 3.14, # The longitude of this position.
-          },
-          "kind": "plus#place", # Identifies this resource as a place. Value: "plus#place".
-          "displayName": "A String", # The display name of the place.
-          "address": { # The physical address of the place.
-            "formatted": "A String", # The formatted address for display.
-          },
-        },
-        "address": "A String", # Street address where this activity occurred.
-        "crosspostSource": "A String", # If this activity is a cross post from another system, this property specifies the ID of the original activity.
-        "annotation": "A String", # Additional content added by the person who shared this activity, applicable only when resharing an activity.
-        "published": "A String", # The time at which this activity was initially published. Formatted as an RFC 3339 timestamp.
-      },
-    ],
-    "updated": "A String", # The time at which this collection of activities was last updated. Formatted as an RFC 3339 timestamp.
-    "nextLink": "A String", # Link to the next page of activities.
-    "etag": "A String", # ETag of this response for caching purposes.
-    "id": "A String", # The ID of this collection of activities. Deprecated.
-    "selfLink": "A String", # Link to this activity resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="search">search(query, orderBy=None, language=None, pageToken=None, maxResults=None)</code>
-  <pre>Search public activities.
-
-Args:
-  query: string, Full-text search query string. (required)
-  orderBy: string, Specifies how to order search results.
-    Allowed values
-      best - Sort activities by relevance to the user, most relevant first.
-      recent - Sort activities by published date, most recent first.
-  language: string, Specify the preferred language to search with. See search language codes for available values.
-  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. This token can be of any length.
-  maxResults: integer, The maximum number of activities to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
-    "kind": "plus#activityFeed", # Identifies this resource as a collection of activities. Value: "plus#activityFeed".
-    "title": "A String", # The title of this collection of activities.
-    "items": [ # The activities in this page of results.
-      {
-        "placeName": "A String", # Name of the place where this activity occurred.
-        "kind": "plus#activity", # Identifies this resource as an activity. Value: "plus#activity".
-        "updated": "A String", # The time at which this activity was last updated. Formatted as an RFC 3339 timestamp.
-        "provider": { # The service provider that initially published this activity.
-          "title": "A String", # Name of the service provider.
-        },
-        "title": "A String", # Title of this activity.
-        "url": "A String", # The link to this activity.
-        "geocode": "A String", # Latitude and longitude where this activity occurred. Format is latitude followed by longitude, space separated.
-        "object": { # The object of this activity.
-          "resharers": { # People who reshared this activity.
-            "totalItems": 42, # Total number of people who reshared this activity.
-            "selfLink": "A String", # The URL for the collection of resharers.
-          },
-          "attachments": [ # The media objects attached to this activity.
-            {
-              "displayName": "A String", # The title of the attachment, such as a photo caption or an article title.
-              "thumbnails": [ # If the attachment is an album, this property is a list of potential additional thumbnails from the album.
-                {
-                  "url": "A String", # URL to the webpage containing the image.
-                  "image": { # Image resource.
-                    "url": "A String", # Image url.
-                    "width": 42, # The width, in pixels, of the linked resource.
-                    "type": "A String", # Media type of the link.
-                    "height": 42, # The height, in pixels, of the linked resource.
-                  },
-                  "description": "A String", # Potential name of the thumbnail.
-                },
-              ],
-              "fullImage": { # The full image URL for photo attachments.
-                "url": "A String", # URL to the image.
-                "width": 42, # The width, in pixels, of the linked resource.
-                "type": "A String", # Media type of the link.
-                "height": 42, # The height, in pixels, of the linked resource.
-              },
-              "url": "A String", # The link to the attachment, should be of type text/html.
-              "image": { # The preview image for photos or videos.
-                "url": "A String", # Image url.
-                "width": 42, # The width, in pixels, of the linked resource.
-                "type": "A String", # Media type of the link.
-                "height": 42, # The height, in pixels, of the linked resource.
-              },
-              "content": "A String", # If the attachment is an article, this property contains a snippet of text from the article. It can also include descriptions for other types.
-              "embed": { # If the attachment is a video, the embeddable link.
-                "url": "A String", # URL of the link.
-                "type": "A String", # Media type of the link.
-              },
-              "id": "A String", # The ID of the attachment.
-              "objectType": "A String", # The type of media object. Possible values include, but are not limited to, the following values:
-                  # - "photo" - A photo.
-                  # - "album" - A photo album.
-                  # - "video" - A video.
-                  # - "article" - An article, specified by a link.
-            },
-          ],
-          "originalContent": "A String", # The content (text) as provided by the author, which is stored without any HTML formatting. When creating or updating an activity, this value must be supplied as plain text in the request.
-          "plusoners": { # People who +1'd this activity.
-            "totalItems": 42, # Total number of people who +1'd this activity.
-            "selfLink": "A String", # The URL for the collection of people who +1'd this activity.
-          },
-          "actor": { # If this activity's object is itself another activity, such as when a person reshares an activity, this property specifies the original activity's actor.
-            "url": "A String", # A link to the original actor's Google profile.
-            "image": { # The image representation of the original actor.
-              "url": "A String", # A URL that points to a thumbnail photo of the original actor.
-            },
-            "displayName": "A String", # The original actor's name, which is suitable for display.
-            "id": "A String", # ID of the original actor.
-          },
-          "content": "A String", # The HTML-formatted content, which is suitable for display.
-          "url": "A String", # The URL that points to the linked resource.
-          "replies": { # Comments in reply to this activity.
-            "totalItems": 42, # Total number of comments on this activity.
-            "selfLink": "A String", # The URL for the collection of comments in reply to this activity.
-          },
-          "id": "A String", # The ID of the object. When resharing an activity, this is the ID of the activity that is being reshared.
-          "objectType": "A String", # The type of the object. Possible values include, but are not limited to, the following values:
-              # - "note" - Textual content.
-              # - "activity" - A Google+ activity.
-        },
-        "placeId": "A String", # ID of the place where this activity occurred.
-        "actor": { # The person who performed this activity.
-          "url": "A String", # The link to the actor's Google profile.
-          "image": { # The image representation of the actor.
-            "url": "A String", # The URL of the actor's profile photo. To re-size the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
-          },
-          "displayName": "A String", # The name of the actor, suitable for display.
-          "id": "A String", # The ID of the actor's person resource.
-          "name": { # An object representation of the individual components of name.
-            "givenName": "A String", # The given name (first name) of the actor.
-            "familyName": "A String", # The family name (last name) of the actor.
-          },
-        },
-        "id": "A String", # The ID of this activity.
-        "access": { # Identifies who has access to see this activity.
-          "items": [ # The list of access entries.
-            {
-              "type": "A String", # The type of entry describing to whom access is granted. Possible values are:
-                  # - "person" - Access to an individual.
-                  # - "circle" - Access to members of a circle.
-                  # - "myCircles" - Access to members of all the person's circles.
-                  # - "extendedCircles" - Access to members of everyone in a person's circles, plus all of the people in their circles.
-                  # - "domain" - Access to members of the person's Google Apps domain.
-                  # - "public" - Access to anyone on the web.
-              "displayName": "A String", # A descriptive name for this entry. Suitable for display.
-              "id": "A String", # The ID of the entry. For entries of type "person" or "circle", this is the ID of the resource. For other types, this property is not set.
-            },
-          ],
-          "kind": "plus#acl", # Identifies this resource as a collection of access controls. Value: "plus#acl".
-          "description": "A String", # Description of the access granted, suitable for display.
-        },
-        "verb": "A String", # This activity's verb, which indicates the action that was performed. Possible values include, but are not limited to, the following values:
-            # - "post" - Publish content to the stream.
-            # - "share" - Reshare an activity.
-        "etag": "A String", # ETag of this response for caching purposes.
-        "radius": "A String", # Radius, in meters, of the region where this activity occurred, centered at the latitude and longitude identified in geocode.
-        "location": { # The location where this activity occurred.
-          "position": { # The position of the place.
-            "latitude": 3.14, # The latitude of this position.
-            "longitude": 3.14, # The longitude of this position.
-          },
-          "kind": "plus#place", # Identifies this resource as a place. Value: "plus#place".
-          "displayName": "A String", # The display name of the place.
-          "address": { # The physical address of the place.
-            "formatted": "A String", # The formatted address for display.
-          },
-        },
-        "address": "A String", # Street address where this activity occurred.
-        "crosspostSource": "A String", # If this activity is a cross post from another system, this property specifies the ID of the original activity.
-        "annotation": "A String", # Additional content added by the person who shared this activity, applicable only when resharing an activity.
-        "published": "A String", # The time at which this activity was initially published. Formatted as an RFC 3339 timestamp.
-      },
-    ],
-    "updated": "A String", # The time at which this collection of activities was last updated. Formatted as an RFC 3339 timestamp.
-    "nextLink": "A String", # Link to the next page of activities.
-    "etag": "A String", # ETag of this response for caching purposes.
-    "id": "A String", # The ID of this collection of activities. Deprecated.
-    "selfLink": "A String", # Link to this activity resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="search_next">search_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/plus_v1.comments.html b/docs/dyn/plus_v1.comments.html
deleted file mode 100644
index 79aa92b..0000000
--- a/docs/dyn/plus_v1.comments.html
+++ /dev/null
@@ -1,208 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="plus_v1.html">Google+ API</a> . <a href="plus_v1.comments.html">comments</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(commentId)</a></code></p>
-<p class="firstline">Get a comment.</p>
-<p class="toc_element">
-  <code><a href="#list">list(activityId, pageToken=None, maxResults=None, sortOrder=None)</a></code></p>
-<p class="firstline">List all of the comments for an activity.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(commentId)</code>
-  <pre>Get a comment.
-
-Args:
-  commentId: string, The ID of the comment to get. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "inReplyTo": [ # The activity this comment replied to.
-      {
-        "url": "A String", # The URL of the activity.
-        "id": "A String", # The ID of the activity.
-      },
-    ],
-    "kind": "plus#comment", # Identifies this resource as a comment. Value: "plus#comment".
-    "plusoners": { # People who +1'd this comment.
-      "totalItems": 42, # Total number of people who +1'd this comment.
-    },
-    "object": { # The object of this comment.
-      "content": "A String", # The HTML-formatted content, suitable for display.
-      "originalContent": "A String", # The content (text) as provided by the author, stored without any HTML formatting. When creating or updating a comment, this value must be supplied as plain text in the request.
-      "objectType": "comment", # The object type of this comment. Possible values are:
-          # - "comment" - A comment in reply to an activity.
-    },
-    "updated": "A String", # The time at which this comment was last updated. Formatted as an RFC 3339 timestamp.
-    "actor": { # The person who posted this comment.
-      "url": "A String", # A link to the person resource for this actor.
-      "image": { # The image representation of this actor.
-        "url": "A String", # The URL of the actor's profile photo. To re-size the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
-      },
-      "displayName": "A String", # The name of this actor, suitable for display.
-      "id": "A String", # The ID of the actor.
-    },
-    "verb": "post", # This comment's verb, indicating what action was performed. Possible values are:
-        # - "post" - Publish content to the stream.
-    "etag": "A String", # ETag of this response for caching purposes.
-    "published": "A String", # The time at which this comment was initially published. Formatted as an RFC 3339 timestamp.
-    "id": "A String", # The ID of this comment.
-    "selfLink": "A String", # Link to this comment resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(activityId, pageToken=None, maxResults=None, sortOrder=None)</code>
-  <pre>List all of the comments for an activity.
-
-Args:
-  activityId: string, The ID of the activity to get comments for. (required)
-  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of comments to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
-  sortOrder: string, The order in which to sort the list of comments.
-    Allowed values
-      ascending - Sort oldest comments first.
-      descending - Sort newest comments first.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
-    "kind": "plus#commentFeed", # Identifies this resource as a collection of comments. Value: "plus#commentFeed".
-    "title": "A String", # The title of this collection of comments.
-    "items": [ # The comments in this page of results.
-      {
-        "inReplyTo": [ # The activity this comment replied to.
-          {
-            "url": "A String", # The URL of the activity.
-            "id": "A String", # The ID of the activity.
-          },
-        ],
-        "kind": "plus#comment", # Identifies this resource as a comment. Value: "plus#comment".
-        "plusoners": { # People who +1'd this comment.
-          "totalItems": 42, # Total number of people who +1'd this comment.
-        },
-        "object": { # The object of this comment.
-          "content": "A String", # The HTML-formatted content, suitable for display.
-          "originalContent": "A String", # The content (text) as provided by the author, stored without any HTML formatting. When creating or updating a comment, this value must be supplied as plain text in the request.
-          "objectType": "comment", # The object type of this comment. Possible values are:
-              # - "comment" - A comment in reply to an activity.
-        },
-        "updated": "A String", # The time at which this comment was last updated. Formatted as an RFC 3339 timestamp.
-        "actor": { # The person who posted this comment.
-          "url": "A String", # A link to the person resource for this actor.
-          "image": { # The image representation of this actor.
-            "url": "A String", # The URL of the actor's profile photo. To re-size the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
-          },
-          "displayName": "A String", # The name of this actor, suitable for display.
-          "id": "A String", # The ID of the actor.
-        },
-        "verb": "post", # This comment's verb, indicating what action was performed. Possible values are:
-            # - "post" - Publish content to the stream.
-        "etag": "A String", # ETag of this response for caching purposes.
-        "published": "A String", # The time at which this comment was initially published. Formatted as an RFC 3339 timestamp.
-        "id": "A String", # The ID of this comment.
-        "selfLink": "A String", # Link to this comment resource.
-      },
-    ],
-    "updated": "A String", # The time at which this collection of comments was last updated. Formatted as an RFC 3339 timestamp.
-    "nextLink": "A String", # Link to the next page of activities.
-    "etag": "A String", # ETag of this response for caching purposes.
-    "id": "A String", # The ID of this collection of comments.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/plus_v1.html b/docs/dyn/plus_v1.html
deleted file mode 100644
index 6a3ff6d..0000000
--- a/docs/dyn/plus_v1.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="plus_v1.html">Google+ API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="plus_v1.activities.html">activities()</a></code>
-</p>
-<p class="firstline">Returns the activities Resource.</p>
-
-<p class="toc_element">
-  <code><a href="plus_v1.comments.html">comments()</a></code>
-</p>
-<p class="firstline">Returns the comments Resource.</p>
-
-<p class="toc_element">
-  <code><a href="plus_v1.moments.html">moments()</a></code>
-</p>
-<p class="firstline">Returns the moments Resource.</p>
-
-<p class="toc_element">
-  <code><a href="plus_v1.people.html">people()</a></code>
-</p>
-<p class="firstline">Returns the people Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/plus_v1.moments.html b/docs/dyn/plus_v1.moments.html
deleted file mode 100644
index 671fc4a..0000000
--- a/docs/dyn/plus_v1.moments.html
+++ /dev/null
@@ -1,595 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="plus_v1.html">Google+ API</a> . <a href="plus_v1.moments.html">moments</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#insert">insert(userId, collection, body, debug=None)</a></code></p>
-<p class="firstline">Record a moment representing a user's activity such as making a purchase or commenting on a blog.</p>
-<p class="toc_element">
-  <code><a href="#list">list(userId, collection, pageToken=None, maxResults=None, targetUrl=None, type=None)</a></code></p>
-<p class="firstline">List all of the moments for a particular user.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#remove">remove(id)</a></code></p>
-<p class="firstline">Delete a moment.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="insert">insert(userId, collection, body, debug=None)</code>
-  <pre>Record a moment representing a user's activity such as making a purchase or commenting on a blog.
-
-Args:
-  userId: string, The ID of the user to record activities for. The only valid values are "me" and the ID of the authenticated user. (required)
-  collection: string, The collection to which to write moments. (required)
-    Allowed values
-      vault - The default collection for writing new moments.
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "startDate": "A String", # Time stamp of when the action occurred in RFC3339 format.
-    "kind": "plus#moment", # Identifies this resource as a moment.
-    "target": { # The object on which the action was performed.
-      "startDate": "A String", # The start date and time of the event (in ISO 8601 date format).
-      "endDate": "A String", # The end date and time of the event (in ISO 8601 date format).
-      "text": "A String", # The text that is the result of the app activity. For example, if a user leaves a review of a restaurant, this might be the text of the review.
-      "image": "A String", # A URL to the image that represents this result. For example, if a user writes a review of a restaurant and attaches a photo of their meal, you might use that photo as the result.image.
-      "address": # Object with schema name: ItemScope # Postal address.
-      "birthDate": "A String", # Date of birth.
-      "datePublished": "A String", # The initial date that the result was published. For example, a user writes a comment on a blog, which has a result.dateCreated of when they submit it. If the blog users comment moderation, the result.datePublished value would match the date when the owner approved the message.
-      "addressLocality": "A String", # Address locality.
-      "duration": "A String", # The duration of the item (movie, audio recording, event, etc.) in ISO 8601 date format.
-      "additionalName": [ # An additional name for a Person, can be used for a middle name.
-        "A String",
-      ],
-      "worstRating": "A String", # Worst possible rating value that a result might obtain. This property defines the lower bound for the ratingValue.
-      "contributor": [ # A list of contributors to this result.
-        # Object with schema name: ItemScope
-      ],
-      "thumbnailUrl": "A String", # A URL to a thumbnail image that represents this result.
-      "id": "A String", # An identifier for the target. Your app can choose how to identify targets. The target.id is required if you are writing an activity that does not have a corresponding web page or target.url property.
-      "postOfficeBoxNumber": "A String", # Post office box number.
-      "attendees": [ # A person attending the event.
-        # Object with schema name: ItemScope
-      ],
-      "author": [ # The person or persons who created this result. In the example of restaurant reviews, this might be the reviewer's name.
-        # Object with schema name: ItemScope
-      ],
-      "associated_media": [ # The encoding.
-        # Object with schema name: ItemScope
-      ],
-      "bestRating": "A String", # Best possible rating value that a result might obtain. This property defines the upper bound for the ratingValue. For example, you might have a 5 star rating scale, you would provide 5 as the value for this property.
-      "addressCountry": "A String", # Address country.
-      "width": "A String", # The width of the media object.
-      "streetAddress": "A String", # Street address.
-      "location": # Object with schema name: ItemScope # The location of the event or organization.
-      "latitude": 3.14, # Latitude.
-      "byArtist": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the artist that performed this recording.
-      "type": "A String", # The schema.org URL that best describes the referenced target and matches the type of moment.
-      "dateModified": "A String", # The date the result was last modified such as the date that a review was last edited.
-      "contentSize": "A String", # File size in (mega/kilo) bytes.
-      "contentUrl": "A String", # Actual bytes of the media object, for example the image file or video file.
-      "partOfTVSeries": # Object with schema name: ItemScope # Property of http://schema.org/TVEpisode indicating which series the episode belongs to.
-      "description": "A String", # The string that describes the content of the result.
-      "familyName": "A String", # Family name. This property can be used with givenName instead of the name property.
-      "kind": "plus#itemScope", # Identifies this resource as an itemScope.
-      "dateCreated": "A String", # The date the result was created such as the date that a review was first created.
-      "postalCode": "A String", # Postal code.
-      "attendeeCount": 42, # Number of attendees.
-      "inAlbum": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, which album a song is in.
-      "addressRegion": "A String", # Address region.
-      "height": "A String", # The height of the media object.
-      "geo": # Object with schema name: ItemScope # Geo coordinates.
-      "embedUrl": "A String", # A URL pointing to a player for a specific video. In general, this is the information in the src element of an embed tag and should not be the same as the content of the loc tag.
-      "tickerSymbol": "A String", # The exchange traded instrument associated with a Corporation object. The tickerSymbol is expressed as an exchange and an instrument name separated by a space character. For the exchange component of the tickerSymbol attribute, we reccommend using the controlled vocaulary of Market Identifier Codes (MIC) specified in ISO15022.
-      "playerType": "A String", # Player type that is required. For example: Flash or Silverlight.
-      "about": # Object with schema name: ItemScope # The subject matter of the content.
-      "givenName": "A String", # Given name. This property can be used with familyName instead of the name property.
-      "name": "A String", # The name of the result. In the example of a restaurant review, this might be the summary the user gave their review such as "Great ambiance, but overpriced."
-      "performers": [ # The main performer or performers of the event-for example, a presenter, musician, or actor.
-        # Object with schema name: ItemScope
-      ],
-      "url": "A String", # The URL that points to the result object. For example, a permalink directly to a restaurant reviewer's comment.
-      "gender": "A String", # Gender of the person.
-      "longitude": 3.14, # Longitude.
-      "thumbnail": # Object with schema name: ItemScope # Thumbnail image for an image or video.
-      "caption": "A String", # The caption for this object.
-      "ratingValue": "A String", # Rating value.
-      "reviewRating": # Object with schema name: ItemScope # Review rating.
-      "audio": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the audio file.
-    },
-    "result": { # The object generated by performing the action on the target. For example, a user writes a review of a restaurant, the target is the restaurant and the result is the review.
-      "startDate": "A String", # The start date and time of the event (in ISO 8601 date format).
-      "endDate": "A String", # The end date and time of the event (in ISO 8601 date format).
-      "text": "A String", # The text that is the result of the app activity. For example, if a user leaves a review of a restaurant, this might be the text of the review.
-      "image": "A String", # A URL to the image that represents this result. For example, if a user writes a review of a restaurant and attaches a photo of their meal, you might use that photo as the result.image.
-      "address": # Object with schema name: ItemScope # Postal address.
-      "birthDate": "A String", # Date of birth.
-      "datePublished": "A String", # The initial date that the result was published. For example, a user writes a comment on a blog, which has a result.dateCreated of when they submit it. If the blog users comment moderation, the result.datePublished value would match the date when the owner approved the message.
-      "addressLocality": "A String", # Address locality.
-      "duration": "A String", # The duration of the item (movie, audio recording, event, etc.) in ISO 8601 date format.
-      "additionalName": [ # An additional name for a Person, can be used for a middle name.
-        "A String",
-      ],
-      "worstRating": "A String", # Worst possible rating value that a result might obtain. This property defines the lower bound for the ratingValue.
-      "contributor": [ # A list of contributors to this result.
-        # Object with schema name: ItemScope
-      ],
-      "thumbnailUrl": "A String", # A URL to a thumbnail image that represents this result.
-      "id": "A String", # An identifier for the target. Your app can choose how to identify targets. The target.id is required if you are writing an activity that does not have a corresponding web page or target.url property.
-      "postOfficeBoxNumber": "A String", # Post office box number.
-      "attendees": [ # A person attending the event.
-        # Object with schema name: ItemScope
-      ],
-      "author": [ # The person or persons who created this result. In the example of restaurant reviews, this might be the reviewer's name.
-        # Object with schema name: ItemScope
-      ],
-      "associated_media": [ # The encoding.
-        # Object with schema name: ItemScope
-      ],
-      "bestRating": "A String", # Best possible rating value that a result might obtain. This property defines the upper bound for the ratingValue. For example, you might have a 5 star rating scale, you would provide 5 as the value for this property.
-      "addressCountry": "A String", # Address country.
-      "width": "A String", # The width of the media object.
-      "streetAddress": "A String", # Street address.
-      "location": # Object with schema name: ItemScope # The location of the event or organization.
-      "latitude": 3.14, # Latitude.
-      "byArtist": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the artist that performed this recording.
-      "type": "A String", # The schema.org URL that best describes the referenced target and matches the type of moment.
-      "dateModified": "A String", # The date the result was last modified such as the date that a review was last edited.
-      "contentSize": "A String", # File size in (mega/kilo) bytes.
-      "contentUrl": "A String", # Actual bytes of the media object, for example the image file or video file.
-      "partOfTVSeries": # Object with schema name: ItemScope # Property of http://schema.org/TVEpisode indicating which series the episode belongs to.
-      "description": "A String", # The string that describes the content of the result.
-      "familyName": "A String", # Family name. This property can be used with givenName instead of the name property.
-      "kind": "plus#itemScope", # Identifies this resource as an itemScope.
-      "dateCreated": "A String", # The date the result was created such as the date that a review was first created.
-      "postalCode": "A String", # Postal code.
-      "attendeeCount": 42, # Number of attendees.
-      "inAlbum": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, which album a song is in.
-      "addressRegion": "A String", # Address region.
-      "height": "A String", # The height of the media object.
-      "geo": # Object with schema name: ItemScope # Geo coordinates.
-      "embedUrl": "A String", # A URL pointing to a player for a specific video. In general, this is the information in the src element of an embed tag and should not be the same as the content of the loc tag.
-      "tickerSymbol": "A String", # The exchange traded instrument associated with a Corporation object. The tickerSymbol is expressed as an exchange and an instrument name separated by a space character. For the exchange component of the tickerSymbol attribute, we reccommend using the controlled vocaulary of Market Identifier Codes (MIC) specified in ISO15022.
-      "playerType": "A String", # Player type that is required. For example: Flash or Silverlight.
-      "about": # Object with schema name: ItemScope # The subject matter of the content.
-      "givenName": "A String", # Given name. This property can be used with familyName instead of the name property.
-      "name": "A String", # The name of the result. In the example of a restaurant review, this might be the summary the user gave their review such as "Great ambiance, but overpriced."
-      "performers": [ # The main performer or performers of the event-for example, a presenter, musician, or actor.
-        # Object with schema name: ItemScope
-      ],
-      "url": "A String", # The URL that points to the result object. For example, a permalink directly to a restaurant reviewer's comment.
-      "gender": "A String", # Gender of the person.
-      "longitude": 3.14, # Longitude.
-      "thumbnail": # Object with schema name: ItemScope # Thumbnail image for an image or video.
-      "caption": "A String", # The caption for this object.
-      "ratingValue": "A String", # Rating value.
-      "reviewRating": # Object with schema name: ItemScope # Review rating.
-      "audio": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the audio file.
-    },
-    "type": "A String", # The Google schema for the type of moment to write. For example, http://schemas.google.com/AddActivity.
-    "id": "A String", # The moment ID.
-  }
-
-  debug: boolean, Return the moment as written. Should be used only for debugging.
-
-Returns:
-  An object of the form:
-
-    {
-      "startDate": "A String", # Time stamp of when the action occurred in RFC3339 format.
-      "kind": "plus#moment", # Identifies this resource as a moment.
-      "target": { # The object on which the action was performed.
-        "startDate": "A String", # The start date and time of the event (in ISO 8601 date format).
-        "endDate": "A String", # The end date and time of the event (in ISO 8601 date format).
-        "text": "A String", # The text that is the result of the app activity. For example, if a user leaves a review of a restaurant, this might be the text of the review.
-        "image": "A String", # A URL to the image that represents this result. For example, if a user writes a review of a restaurant and attaches a photo of their meal, you might use that photo as the result.image.
-        "address": # Object with schema name: ItemScope # Postal address.
-        "birthDate": "A String", # Date of birth.
-        "datePublished": "A String", # The initial date that the result was published. For example, a user writes a comment on a blog, which has a result.dateCreated of when they submit it. If the blog users comment moderation, the result.datePublished value would match the date when the owner approved the message.
-        "addressLocality": "A String", # Address locality.
-        "duration": "A String", # The duration of the item (movie, audio recording, event, etc.) in ISO 8601 date format.
-        "additionalName": [ # An additional name for a Person, can be used for a middle name.
-          "A String",
-        ],
-        "worstRating": "A String", # Worst possible rating value that a result might obtain. This property defines the lower bound for the ratingValue.
-        "contributor": [ # A list of contributors to this result.
-          # Object with schema name: ItemScope
-        ],
-        "thumbnailUrl": "A String", # A URL to a thumbnail image that represents this result.
-        "id": "A String", # An identifier for the target. Your app can choose how to identify targets. The target.id is required if you are writing an activity that does not have a corresponding web page or target.url property.
-        "postOfficeBoxNumber": "A String", # Post office box number.
-        "attendees": [ # A person attending the event.
-          # Object with schema name: ItemScope
-        ],
-        "author": [ # The person or persons who created this result. In the example of restaurant reviews, this might be the reviewer's name.
-          # Object with schema name: ItemScope
-        ],
-        "associated_media": [ # The encoding.
-          # Object with schema name: ItemScope
-        ],
-        "bestRating": "A String", # Best possible rating value that a result might obtain. This property defines the upper bound for the ratingValue. For example, you might have a 5 star rating scale, you would provide 5 as the value for this property.
-        "addressCountry": "A String", # Address country.
-        "width": "A String", # The width of the media object.
-        "streetAddress": "A String", # Street address.
-        "location": # Object with schema name: ItemScope # The location of the event or organization.
-        "latitude": 3.14, # Latitude.
-        "byArtist": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the artist that performed this recording.
-        "type": "A String", # The schema.org URL that best describes the referenced target and matches the type of moment.
-        "dateModified": "A String", # The date the result was last modified such as the date that a review was last edited.
-        "contentSize": "A String", # File size in (mega/kilo) bytes.
-        "contentUrl": "A String", # Actual bytes of the media object, for example the image file or video file.
-        "partOfTVSeries": # Object with schema name: ItemScope # Property of http://schema.org/TVEpisode indicating which series the episode belongs to.
-        "description": "A String", # The string that describes the content of the result.
-        "familyName": "A String", # Family name. This property can be used with givenName instead of the name property.
-        "kind": "plus#itemScope", # Identifies this resource as an itemScope.
-        "dateCreated": "A String", # The date the result was created such as the date that a review was first created.
-        "postalCode": "A String", # Postal code.
-        "attendeeCount": 42, # Number of attendees.
-        "inAlbum": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, which album a song is in.
-        "addressRegion": "A String", # Address region.
-        "height": "A String", # The height of the media object.
-        "geo": # Object with schema name: ItemScope # Geo coordinates.
-        "embedUrl": "A String", # A URL pointing to a player for a specific video. In general, this is the information in the src element of an embed tag and should not be the same as the content of the loc tag.
-        "tickerSymbol": "A String", # The exchange traded instrument associated with a Corporation object. The tickerSymbol is expressed as an exchange and an instrument name separated by a space character. For the exchange component of the tickerSymbol attribute, we reccommend using the controlled vocaulary of Market Identifier Codes (MIC) specified in ISO15022.
-        "playerType": "A String", # Player type that is required. For example: Flash or Silverlight.
-        "about": # Object with schema name: ItemScope # The subject matter of the content.
-        "givenName": "A String", # Given name. This property can be used with familyName instead of the name property.
-        "name": "A String", # The name of the result. In the example of a restaurant review, this might be the summary the user gave their review such as "Great ambiance, but overpriced."
-        "performers": [ # The main performer or performers of the event-for example, a presenter, musician, or actor.
-          # Object with schema name: ItemScope
-        ],
-        "url": "A String", # The URL that points to the result object. For example, a permalink directly to a restaurant reviewer's comment.
-        "gender": "A String", # Gender of the person.
-        "longitude": 3.14, # Longitude.
-        "thumbnail": # Object with schema name: ItemScope # Thumbnail image for an image or video.
-        "caption": "A String", # The caption for this object.
-        "ratingValue": "A String", # Rating value.
-        "reviewRating": # Object with schema name: ItemScope # Review rating.
-        "audio": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the audio file.
-      },
-      "result": { # The object generated by performing the action on the target. For example, a user writes a review of a restaurant, the target is the restaurant and the result is the review.
-        "startDate": "A String", # The start date and time of the event (in ISO 8601 date format).
-        "endDate": "A String", # The end date and time of the event (in ISO 8601 date format).
-        "text": "A String", # The text that is the result of the app activity. For example, if a user leaves a review of a restaurant, this might be the text of the review.
-        "image": "A String", # A URL to the image that represents this result. For example, if a user writes a review of a restaurant and attaches a photo of their meal, you might use that photo as the result.image.
-        "address": # Object with schema name: ItemScope # Postal address.
-        "birthDate": "A String", # Date of birth.
-        "datePublished": "A String", # The initial date that the result was published. For example, a user writes a comment on a blog, which has a result.dateCreated of when they submit it. If the blog users comment moderation, the result.datePublished value would match the date when the owner approved the message.
-        "addressLocality": "A String", # Address locality.
-        "duration": "A String", # The duration of the item (movie, audio recording, event, etc.) in ISO 8601 date format.
-        "additionalName": [ # An additional name for a Person, can be used for a middle name.
-          "A String",
-        ],
-        "worstRating": "A String", # Worst possible rating value that a result might obtain. This property defines the lower bound for the ratingValue.
-        "contributor": [ # A list of contributors to this result.
-          # Object with schema name: ItemScope
-        ],
-        "thumbnailUrl": "A String", # A URL to a thumbnail image that represents this result.
-        "id": "A String", # An identifier for the target. Your app can choose how to identify targets. The target.id is required if you are writing an activity that does not have a corresponding web page or target.url property.
-        "postOfficeBoxNumber": "A String", # Post office box number.
-        "attendees": [ # A person attending the event.
-          # Object with schema name: ItemScope
-        ],
-        "author": [ # The person or persons who created this result. In the example of restaurant reviews, this might be the reviewer's name.
-          # Object with schema name: ItemScope
-        ],
-        "associated_media": [ # The encoding.
-          # Object with schema name: ItemScope
-        ],
-        "bestRating": "A String", # Best possible rating value that a result might obtain. This property defines the upper bound for the ratingValue. For example, you might have a 5 star rating scale, you would provide 5 as the value for this property.
-        "addressCountry": "A String", # Address country.
-        "width": "A String", # The width of the media object.
-        "streetAddress": "A String", # Street address.
-        "location": # Object with schema name: ItemScope # The location of the event or organization.
-        "latitude": 3.14, # Latitude.
-        "byArtist": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the artist that performed this recording.
-        "type": "A String", # The schema.org URL that best describes the referenced target and matches the type of moment.
-        "dateModified": "A String", # The date the result was last modified such as the date that a review was last edited.
-        "contentSize": "A String", # File size in (mega/kilo) bytes.
-        "contentUrl": "A String", # Actual bytes of the media object, for example the image file or video file.
-        "partOfTVSeries": # Object with schema name: ItemScope # Property of http://schema.org/TVEpisode indicating which series the episode belongs to.
-        "description": "A String", # The string that describes the content of the result.
-        "familyName": "A String", # Family name. This property can be used with givenName instead of the name property.
-        "kind": "plus#itemScope", # Identifies this resource as an itemScope.
-        "dateCreated": "A String", # The date the result was created such as the date that a review was first created.
-        "postalCode": "A String", # Postal code.
-        "attendeeCount": 42, # Number of attendees.
-        "inAlbum": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, which album a song is in.
-        "addressRegion": "A String", # Address region.
-        "height": "A String", # The height of the media object.
-        "geo": # Object with schema name: ItemScope # Geo coordinates.
-        "embedUrl": "A String", # A URL pointing to a player for a specific video. In general, this is the information in the src element of an embed tag and should not be the same as the content of the loc tag.
-        "tickerSymbol": "A String", # The exchange traded instrument associated with a Corporation object. The tickerSymbol is expressed as an exchange and an instrument name separated by a space character. For the exchange component of the tickerSymbol attribute, we reccommend using the controlled vocaulary of Market Identifier Codes (MIC) specified in ISO15022.
-        "playerType": "A String", # Player type that is required. For example: Flash or Silverlight.
-        "about": # Object with schema name: ItemScope # The subject matter of the content.
-        "givenName": "A String", # Given name. This property can be used with familyName instead of the name property.
-        "name": "A String", # The name of the result. In the example of a restaurant review, this might be the summary the user gave their review such as "Great ambiance, but overpriced."
-        "performers": [ # The main performer or performers of the event-for example, a presenter, musician, or actor.
-          # Object with schema name: ItemScope
-        ],
-        "url": "A String", # The URL that points to the result object. For example, a permalink directly to a restaurant reviewer's comment.
-        "gender": "A String", # Gender of the person.
-        "longitude": 3.14, # Longitude.
-        "thumbnail": # Object with schema name: ItemScope # Thumbnail image for an image or video.
-        "caption": "A String", # The caption for this object.
-        "ratingValue": "A String", # Rating value.
-        "reviewRating": # Object with schema name: ItemScope # Review rating.
-        "audio": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the audio file.
-      },
-      "type": "A String", # The Google schema for the type of moment to write. For example, http://schemas.google.com/AddActivity.
-      "id": "A String", # The moment ID.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(userId, collection, pageToken=None, maxResults=None, targetUrl=None, type=None)</code>
-  <pre>List all of the moments for a particular user.
-
-Args:
-  userId: string, The ID of the user to get moments for. The special value "me" can be used to indicate the authenticated user. (required)
-  collection: string, The collection of moments to list. (required)
-    Allowed values
-      vault - All moments created by the requesting application for the authenticated user.
-  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of moments to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
-  targetUrl: string, Only moments containing this targetUrl will be returned.
-  type: string, Only moments of this type will be returned.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
-    "kind": "plus#momentsFeed", # Identifies this resource as a collection of moments. Value: "plus#momentsFeed".
-    "title": "A String", # The title of this collection of moments.
-    "items": [ # The moments in this page of results.
-      {
-          "startDate": "A String", # Time stamp of when the action occurred in RFC3339 format.
-          "kind": "plus#moment", # Identifies this resource as a moment.
-          "target": { # The object on which the action was performed.
-            "startDate": "A String", # The start date and time of the event (in ISO 8601 date format).
-            "endDate": "A String", # The end date and time of the event (in ISO 8601 date format).
-            "text": "A String", # The text that is the result of the app activity. For example, if a user leaves a review of a restaurant, this might be the text of the review.
-            "image": "A String", # A URL to the image that represents this result. For example, if a user writes a review of a restaurant and attaches a photo of their meal, you might use that photo as the result.image.
-            "address": # Object with schema name: ItemScope # Postal address.
-            "birthDate": "A String", # Date of birth.
-            "datePublished": "A String", # The initial date that the result was published. For example, a user writes a comment on a blog, which has a result.dateCreated of when they submit it. If the blog users comment moderation, the result.datePublished value would match the date when the owner approved the message.
-            "addressLocality": "A String", # Address locality.
-            "duration": "A String", # The duration of the item (movie, audio recording, event, etc.) in ISO 8601 date format.
-            "additionalName": [ # An additional name for a Person, can be used for a middle name.
-              "A String",
-            ],
-            "worstRating": "A String", # Worst possible rating value that a result might obtain. This property defines the lower bound for the ratingValue.
-            "contributor": [ # A list of contributors to this result.
-              # Object with schema name: ItemScope
-            ],
-            "thumbnailUrl": "A String", # A URL to a thumbnail image that represents this result.
-            "id": "A String", # An identifier for the target. Your app can choose how to identify targets. The target.id is required if you are writing an activity that does not have a corresponding web page or target.url property.
-            "postOfficeBoxNumber": "A String", # Post office box number.
-            "attendees": [ # A person attending the event.
-              # Object with schema name: ItemScope
-            ],
-            "author": [ # The person or persons who created this result. In the example of restaurant reviews, this might be the reviewer's name.
-              # Object with schema name: ItemScope
-            ],
-            "associated_media": [ # The encoding.
-              # Object with schema name: ItemScope
-            ],
-            "bestRating": "A String", # Best possible rating value that a result might obtain. This property defines the upper bound for the ratingValue. For example, you might have a 5 star rating scale, you would provide 5 as the value for this property.
-            "addressCountry": "A String", # Address country.
-            "width": "A String", # The width of the media object.
-            "streetAddress": "A String", # Street address.
-            "location": # Object with schema name: ItemScope # The location of the event or organization.
-            "latitude": 3.14, # Latitude.
-            "byArtist": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the artist that performed this recording.
-            "type": "A String", # The schema.org URL that best describes the referenced target and matches the type of moment.
-            "dateModified": "A String", # The date the result was last modified such as the date that a review was last edited.
-            "contentSize": "A String", # File size in (mega/kilo) bytes.
-            "contentUrl": "A String", # Actual bytes of the media object, for example the image file or video file.
-            "partOfTVSeries": # Object with schema name: ItemScope # Property of http://schema.org/TVEpisode indicating which series the episode belongs to.
-            "description": "A String", # The string that describes the content of the result.
-            "familyName": "A String", # Family name. This property can be used with givenName instead of the name property.
-            "kind": "plus#itemScope", # Identifies this resource as an itemScope.
-            "dateCreated": "A String", # The date the result was created such as the date that a review was first created.
-            "postalCode": "A String", # Postal code.
-            "attendeeCount": 42, # Number of attendees.
-            "inAlbum": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, which album a song is in.
-            "addressRegion": "A String", # Address region.
-            "height": "A String", # The height of the media object.
-            "geo": # Object with schema name: ItemScope # Geo coordinates.
-            "embedUrl": "A String", # A URL pointing to a player for a specific video. In general, this is the information in the src element of an embed tag and should not be the same as the content of the loc tag.
-            "tickerSymbol": "A String", # The exchange traded instrument associated with a Corporation object. The tickerSymbol is expressed as an exchange and an instrument name separated by a space character. For the exchange component of the tickerSymbol attribute, we reccommend using the controlled vocaulary of Market Identifier Codes (MIC) specified in ISO15022.
-            "playerType": "A String", # Player type that is required. For example: Flash or Silverlight.
-            "about": # Object with schema name: ItemScope # The subject matter of the content.
-            "givenName": "A String", # Given name. This property can be used with familyName instead of the name property.
-            "name": "A String", # The name of the result. In the example of a restaurant review, this might be the summary the user gave their review such as "Great ambiance, but overpriced."
-            "performers": [ # The main performer or performers of the event-for example, a presenter, musician, or actor.
-              # Object with schema name: ItemScope
-            ],
-            "url": "A String", # The URL that points to the result object. For example, a permalink directly to a restaurant reviewer's comment.
-            "gender": "A String", # Gender of the person.
-            "longitude": 3.14, # Longitude.
-            "thumbnail": # Object with schema name: ItemScope # Thumbnail image for an image or video.
-            "caption": "A String", # The caption for this object.
-            "ratingValue": "A String", # Rating value.
-            "reviewRating": # Object with schema name: ItemScope # Review rating.
-            "audio": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the audio file.
-          },
-          "result": { # The object generated by performing the action on the target. For example, a user writes a review of a restaurant, the target is the restaurant and the result is the review.
-            "startDate": "A String", # The start date and time of the event (in ISO 8601 date format).
-            "endDate": "A String", # The end date and time of the event (in ISO 8601 date format).
-            "text": "A String", # The text that is the result of the app activity. For example, if a user leaves a review of a restaurant, this might be the text of the review.
-            "image": "A String", # A URL to the image that represents this result. For example, if a user writes a review of a restaurant and attaches a photo of their meal, you might use that photo as the result.image.
-            "address": # Object with schema name: ItemScope # Postal address.
-            "birthDate": "A String", # Date of birth.
-            "datePublished": "A String", # The initial date that the result was published. For example, a user writes a comment on a blog, which has a result.dateCreated of when they submit it. If the blog users comment moderation, the result.datePublished value would match the date when the owner approved the message.
-            "addressLocality": "A String", # Address locality.
-            "duration": "A String", # The duration of the item (movie, audio recording, event, etc.) in ISO 8601 date format.
-            "additionalName": [ # An additional name for a Person, can be used for a middle name.
-              "A String",
-            ],
-            "worstRating": "A String", # Worst possible rating value that a result might obtain. This property defines the lower bound for the ratingValue.
-            "contributor": [ # A list of contributors to this result.
-              # Object with schema name: ItemScope
-            ],
-            "thumbnailUrl": "A String", # A URL to a thumbnail image that represents this result.
-            "id": "A String", # An identifier for the target. Your app can choose how to identify targets. The target.id is required if you are writing an activity that does not have a corresponding web page or target.url property.
-            "postOfficeBoxNumber": "A String", # Post office box number.
-            "attendees": [ # A person attending the event.
-              # Object with schema name: ItemScope
-            ],
-            "author": [ # The person or persons who created this result. In the example of restaurant reviews, this might be the reviewer's name.
-              # Object with schema name: ItemScope
-            ],
-            "associated_media": [ # The encoding.
-              # Object with schema name: ItemScope
-            ],
-            "bestRating": "A String", # Best possible rating value that a result might obtain. This property defines the upper bound for the ratingValue. For example, you might have a 5 star rating scale, you would provide 5 as the value for this property.
-            "addressCountry": "A String", # Address country.
-            "width": "A String", # The width of the media object.
-            "streetAddress": "A String", # Street address.
-            "location": # Object with schema name: ItemScope # The location of the event or organization.
-            "latitude": 3.14, # Latitude.
-            "byArtist": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the artist that performed this recording.
-            "type": "A String", # The schema.org URL that best describes the referenced target and matches the type of moment.
-            "dateModified": "A String", # The date the result was last modified such as the date that a review was last edited.
-            "contentSize": "A String", # File size in (mega/kilo) bytes.
-            "contentUrl": "A String", # Actual bytes of the media object, for example the image file or video file.
-            "partOfTVSeries": # Object with schema name: ItemScope # Property of http://schema.org/TVEpisode indicating which series the episode belongs to.
-            "description": "A String", # The string that describes the content of the result.
-            "familyName": "A String", # Family name. This property can be used with givenName instead of the name property.
-            "kind": "plus#itemScope", # Identifies this resource as an itemScope.
-            "dateCreated": "A String", # The date the result was created such as the date that a review was first created.
-            "postalCode": "A String", # Postal code.
-            "attendeeCount": 42, # Number of attendees.
-            "inAlbum": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, which album a song is in.
-            "addressRegion": "A String", # Address region.
-            "height": "A String", # The height of the media object.
-            "geo": # Object with schema name: ItemScope # Geo coordinates.
-            "embedUrl": "A String", # A URL pointing to a player for a specific video. In general, this is the information in the src element of an embed tag and should not be the same as the content of the loc tag.
-            "tickerSymbol": "A String", # The exchange traded instrument associated with a Corporation object. The tickerSymbol is expressed as an exchange and an instrument name separated by a space character. For the exchange component of the tickerSymbol attribute, we reccommend using the controlled vocaulary of Market Identifier Codes (MIC) specified in ISO15022.
-            "playerType": "A String", # Player type that is required. For example: Flash or Silverlight.
-            "about": # Object with schema name: ItemScope # The subject matter of the content.
-            "givenName": "A String", # Given name. This property can be used with familyName instead of the name property.
-            "name": "A String", # The name of the result. In the example of a restaurant review, this might be the summary the user gave their review such as "Great ambiance, but overpriced."
-            "performers": [ # The main performer or performers of the event-for example, a presenter, musician, or actor.
-              # Object with schema name: ItemScope
-            ],
-            "url": "A String", # The URL that points to the result object. For example, a permalink directly to a restaurant reviewer's comment.
-            "gender": "A String", # Gender of the person.
-            "longitude": 3.14, # Longitude.
-            "thumbnail": # Object with schema name: ItemScope # Thumbnail image for an image or video.
-            "caption": "A String", # The caption for this object.
-            "ratingValue": "A String", # Rating value.
-            "reviewRating": # Object with schema name: ItemScope # Review rating.
-            "audio": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the audio file.
-          },
-          "type": "A String", # The Google schema for the type of moment to write. For example, http://schemas.google.com/AddActivity.
-          "id": "A String", # The moment ID.
-        },
-    ],
-    "updated": "A String", # The RFC 339 timestamp for when this collection of moments was last updated.
-    "nextLink": "A String", # Link to the next page of moments.
-    "etag": "A String", # ETag of this response for caching purposes.
-    "selfLink": "A String", # Link to this page of moments.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="remove">remove(id)</code>
-  <pre>Delete a moment.
-
-Args:
-  id: string, The ID of the moment to delete. (required)
-</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/plus_v1.people.html b/docs/dyn/plus_v1.people.html
deleted file mode 100644
index b0f05b6..0000000
--- a/docs/dyn/plus_v1.people.html
+++ /dev/null
@@ -1,617 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="plus_v1.html">Google+ API</a> . <a href="plus_v1.people.html">people</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(userId)</a></code></p>
-<p class="firstline">Get a person's profile. If your app uses scope https://www.googleapis.com/auth/plus.login, this method is guaranteed to return ageRange and language.</p>
-<p class="toc_element">
-  <code><a href="#list">list(userId, collection, orderBy=None, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all of the people in the specified collection.</p>
-<p class="toc_element">
-  <code><a href="#listByActivity">listByActivity(activityId, collection, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all of the people in the specified collection for a particular activity.</p>
-<p class="toc_element">
-  <code><a href="#listByActivity_next">listByActivity_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#search">search(query, pageToken=None, language=None, maxResults=None)</a></code></p>
-<p class="firstline">Search all public profiles.</p>
-<p class="toc_element">
-  <code><a href="#search_next">search_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(userId)</code>
-  <pre>Get a person's profile. If your app uses scope https://www.googleapis.com/auth/plus.login, this method is guaranteed to return ageRange and language.
-
-Args:
-  userId: string, The ID of the person to get the profile for. The special value "me" can be used to indicate the authenticated user. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "braggingRights": "A String", # The "bragging rights" line of this person.
-    "image": { # The representation of the person's profile photo.
-      "url": "A String", # The URL of the person's profile photo. To re-size the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
-    },
-    "id": "A String", # The ID of this person.
-    "objectType": "A String", # Type of person within Google+. Possible values include, but are not limited to, the following values:
-        # - "person" - represents an actual person.
-        # - "page" - represents a page.
-    "verified": True or False, # Whether the person or Google+ Page has been verified.
-    "tagline": "A String", # The brief description (tagline) of this person.
-    "etag": "A String", # ETag of this response for caching purposes.
-    "circledByCount": 42, # If a Google+ Page and for followers who are visible, the number of people who have added this page to a circle.
-    "aboutMe": "A String", # A short biography for this person.
-    "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
-    "placesLived": [ # A list of places where this person has lived.
-      {
-        "primary": True or False, # If "true", this place of residence is this person's primary residence.
-        "value": "A String", # A place where this person has lived. For example: "Seattle, WA", "Near Toronto".
-      },
-    ],
-    "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
-    "nickname": "A String", # The nickname of this person.
-    "currentLocation": "A String", # The current location for this person.
-    "organizations": [ # A list of current or past organizations with which this person is associated.
-      {
-        "startDate": "A String", # The date that the person joined this organization.
-        "endDate": "A String", # The date that the person left this organization.
-        "description": "A String", # A short description of the person's role in this organization. Deprecated.
-        "title": "A String", # The person's job title or role within the organization.
-        "primary": True or False, # If "true", indicates this organization is the person's primary one, which is typically interpreted as the current one.
-        "location": "A String", # The location of this organization. Deprecated.
-        "department": "A String", # The department within the organization. Deprecated.
-        "type": "A String", # The type of organization. Possible values include, but are not limited to, the following values:
-            # - "work" - Work.
-            # - "school" - School.
-        "name": "A String", # The name of the organization.
-      },
-    ],
-    "relationshipStatus": "A String", # The person's relationship status. Possible values include, but are not limited to, the following values:
-        # - "single" - Person is single.
-        # - "in_a_relationship" - Person is in a relationship.
-        # - "engaged" - Person is engaged.
-        # - "married" - Person is married.
-        # - "its_complicated" - The relationship is complicated.
-        # - "open_relationship" - Person is in an open relationship.
-        # - "widowed" - Person is widowed.
-        # - "in_domestic_partnership" - Person is in a domestic partnership.
-        # - "in_civil_union" - Person is in a civil union.
-    "displayName": "A String", # The name of this person, which is suitable for display.
-    "name": { # An object representation of the individual components of a person's name.
-      "honorificPrefix": "A String", # The honorific prefixes (such as "Dr." or "Mrs.") for this person.
-      "middleName": "A String", # The middle name of this person.
-      "familyName": "A String", # The family name (last name) of this person.
-      "formatted": "A String", # The full name of this person, including middle names, suffixes, etc.
-      "givenName": "A String", # The given name (first name) of this person.
-      "honorificSuffix": "A String", # The honorific suffixes (such as "Jr.") for this person.
-    },
-    "language": "A String", # The user's preferred language for rendering.
-    "url": "A String", # The URL of this person's profile.
-    "gender": "A String", # The person's gender. Possible values include, but are not limited to, the following values:
-        # - "male" - Male gender.
-        # - "female" - Female gender.
-        # - "other" - Other.
-    "cover": { # The cover photo content.
-      "layout": "A String", # The layout of the cover art. Possible values include, but are not limited to, the following values:
-          # - "banner" - One large image banner.
-      "coverInfo": { # Extra information about the cover photo.
-        "leftImageOffset": 42, # The difference between the left position of the image cover and the actual displayed cover image. Only valid for BANNER layout.
-        "topImageOffset": 42, # The difference between the top position of the image cover and the actual displayed cover image. Only valid for BANNER layout.
-      },
-      "coverPhoto": { # The person's primary cover image.
-        "url": "A String", # The url to the image.
-        "width": 42, # The width to the image.
-        "height": 42, # The height to the image.
-      },
-    },
-    "isPlusUser": True or False, # Whether this user has signed up for Google+.
-    "plusOneCount": 42, # If a Google+ Page, the number of people who have +1'ed this page.
-    "urls": [ # A list of URLs for this person.
-      {
-        "type": "A String", # The type of URL. Possible values include, but are not limited to, the following values:
-            # - "otherProfile" - URL for another profile.
-            # - "contributor" - URL to a site for which this person is a contributor.
-            # - "website" - URL for this Google+ Page's primary website.
-            # - "other" - Other URL.
-        "value": "A String", # The URL value.
-        "label": "A String", # The label of the URL.
-      },
-    ],
-    "ageRange": { # The age range of the person.
-      "max": 42, # The age range's upper bound, if any.
-      "min": 42, # The age range's lower bound, if any.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(userId, collection, orderBy=None, pageToken=None, maxResults=None)</code>
-  <pre>List all of the people in the specified collection.
-
-Args:
-  userId: string, Get the collection of people for the person identified. Use "me" to indicate the authenticated user. (required)
-  collection: string, The collection of people to list. (required)
-    Allowed values
-      visible - The list of people who this user has added to one or more circles, limited to the circles visible to the requesting application.
-  orderBy: string, The order to return people in.
-    Allowed values
-      alphabetical - Order the people by their display name.
-      best - Order people based on the relevence to the viewer.
-  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
-    "kind": "plus#peopleFeed", # Identifies this resource as a collection of people. Value: "plus#peopleFeed".
-    "title": "A String", # The title of this collection of people.
-    "items": [ # The people in this page of results. Each item includes the id, displayName, image, and url for the person. To retrieve additional profile data, see the people.get method.
-      {
-        "braggingRights": "A String", # The "bragging rights" line of this person.
-        "image": { # The representation of the person's profile photo.
-          "url": "A String", # The URL of the person's profile photo. To re-size the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
-        },
-        "id": "A String", # The ID of this person.
-        "objectType": "A String", # Type of person within Google+. Possible values include, but are not limited to, the following values:
-            # - "person" - represents an actual person.
-            # - "page" - represents a page.
-        "verified": True or False, # Whether the person or Google+ Page has been verified.
-        "tagline": "A String", # The brief description (tagline) of this person.
-        "etag": "A String", # ETag of this response for caching purposes.
-        "circledByCount": 42, # If a Google+ Page and for followers who are visible, the number of people who have added this page to a circle.
-        "aboutMe": "A String", # A short biography for this person.
-        "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
-        "placesLived": [ # A list of places where this person has lived.
-          {
-            "primary": True or False, # If "true", this place of residence is this person's primary residence.
-            "value": "A String", # A place where this person has lived. For example: "Seattle, WA", "Near Toronto".
-          },
-        ],
-        "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
-        "nickname": "A String", # The nickname of this person.
-        "currentLocation": "A String", # The current location for this person.
-        "organizations": [ # A list of current or past organizations with which this person is associated.
-          {
-            "startDate": "A String", # The date that the person joined this organization.
-            "endDate": "A String", # The date that the person left this organization.
-            "description": "A String", # A short description of the person's role in this organization. Deprecated.
-            "title": "A String", # The person's job title or role within the organization.
-            "primary": True or False, # If "true", indicates this organization is the person's primary one, which is typically interpreted as the current one.
-            "location": "A String", # The location of this organization. Deprecated.
-            "department": "A String", # The department within the organization. Deprecated.
-            "type": "A String", # The type of organization. Possible values include, but are not limited to, the following values:
-                # - "work" - Work.
-                # - "school" - School.
-            "name": "A String", # The name of the organization.
-          },
-        ],
-        "relationshipStatus": "A String", # The person's relationship status. Possible values include, but are not limited to, the following values:
-            # - "single" - Person is single.
-            # - "in_a_relationship" - Person is in a relationship.
-            # - "engaged" - Person is engaged.
-            # - "married" - Person is married.
-            # - "its_complicated" - The relationship is complicated.
-            # - "open_relationship" - Person is in an open relationship.
-            # - "widowed" - Person is widowed.
-            # - "in_domestic_partnership" - Person is in a domestic partnership.
-            # - "in_civil_union" - Person is in a civil union.
-        "displayName": "A String", # The name of this person, which is suitable for display.
-        "name": { # An object representation of the individual components of a person's name.
-          "honorificPrefix": "A String", # The honorific prefixes (such as "Dr." or "Mrs.") for this person.
-          "middleName": "A String", # The middle name of this person.
-          "familyName": "A String", # The family name (last name) of this person.
-          "formatted": "A String", # The full name of this person, including middle names, suffixes, etc.
-          "givenName": "A String", # The given name (first name) of this person.
-          "honorificSuffix": "A String", # The honorific suffixes (such as "Jr.") for this person.
-        },
-        "language": "A String", # The user's preferred language for rendering.
-        "url": "A String", # The URL of this person's profile.
-        "gender": "A String", # The person's gender. Possible values include, but are not limited to, the following values:
-            # - "male" - Male gender.
-            # - "female" - Female gender.
-            # - "other" - Other.
-        "cover": { # The cover photo content.
-          "layout": "A String", # The layout of the cover art. Possible values include, but are not limited to, the following values:
-              # - "banner" - One large image banner.
-          "coverInfo": { # Extra information about the cover photo.
-            "leftImageOffset": 42, # The difference between the left position of the image cover and the actual displayed cover image. Only valid for BANNER layout.
-            "topImageOffset": 42, # The difference between the top position of the image cover and the actual displayed cover image. Only valid for BANNER layout.
-          },
-          "coverPhoto": { # The person's primary cover image.
-            "url": "A String", # The url to the image.
-            "width": 42, # The width to the image.
-            "height": 42, # The height to the image.
-          },
-        },
-        "isPlusUser": True or False, # Whether this user has signed up for Google+.
-        "plusOneCount": 42, # If a Google+ Page, the number of people who have +1'ed this page.
-        "urls": [ # A list of URLs for this person.
-          {
-            "type": "A String", # The type of URL. Possible values include, but are not limited to, the following values:
-                # - "otherProfile" - URL for another profile.
-                # - "contributor" - URL to a site for which this person is a contributor.
-                # - "website" - URL for this Google+ Page's primary website.
-                # - "other" - Other URL.
-            "value": "A String", # The URL value.
-            "label": "A String", # The label of the URL.
-          },
-        ],
-        "ageRange": { # The age range of the person.
-          "max": 42, # The age range's upper bound, if any.
-          "min": 42, # The age range's lower bound, if any.
-        },
-      },
-    ],
-    "etag": "A String", # ETag of this response for caching purposes.
-    "totalItems": 42, # The total number of people available in this list. The number of people in a response might be smaller due to paging. This might not be set for all collections.
-    "selfLink": "A String", # Link to this resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="listByActivity">listByActivity(activityId, collection, pageToken=None, maxResults=None)</code>
-  <pre>List all of the people in the specified collection for a particular activity.
-
-Args:
-  activityId: string, The ID of the activity to get the list of people for. (required)
-  collection: string, The collection of people to list. (required)
-    Allowed values
-      plusoners - List all people who have +1'd this activity.
-      resharers - List all people who have reshared this activity.
-  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
-    "kind": "plus#peopleFeed", # Identifies this resource as a collection of people. Value: "plus#peopleFeed".
-    "title": "A String", # The title of this collection of people.
-    "items": [ # The people in this page of results. Each item includes the id, displayName, image, and url for the person. To retrieve additional profile data, see the people.get method.
-      {
-        "braggingRights": "A String", # The "bragging rights" line of this person.
-        "image": { # The representation of the person's profile photo.
-          "url": "A String", # The URL of the person's profile photo. To re-size the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
-        },
-        "id": "A String", # The ID of this person.
-        "objectType": "A String", # Type of person within Google+. Possible values include, but are not limited to, the following values:
-            # - "person" - represents an actual person.
-            # - "page" - represents a page.
-        "verified": True or False, # Whether the person or Google+ Page has been verified.
-        "tagline": "A String", # The brief description (tagline) of this person.
-        "etag": "A String", # ETag of this response for caching purposes.
-        "circledByCount": 42, # If a Google+ Page and for followers who are visible, the number of people who have added this page to a circle.
-        "aboutMe": "A String", # A short biography for this person.
-        "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
-        "placesLived": [ # A list of places where this person has lived.
-          {
-            "primary": True or False, # If "true", this place of residence is this person's primary residence.
-            "value": "A String", # A place where this person has lived. For example: "Seattle, WA", "Near Toronto".
-          },
-        ],
-        "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
-        "nickname": "A String", # The nickname of this person.
-        "currentLocation": "A String", # The current location for this person.
-        "organizations": [ # A list of current or past organizations with which this person is associated.
-          {
-            "startDate": "A String", # The date that the person joined this organization.
-            "endDate": "A String", # The date that the person left this organization.
-            "description": "A String", # A short description of the person's role in this organization. Deprecated.
-            "title": "A String", # The person's job title or role within the organization.
-            "primary": True or False, # If "true", indicates this organization is the person's primary one, which is typically interpreted as the current one.
-            "location": "A String", # The location of this organization. Deprecated.
-            "department": "A String", # The department within the organization. Deprecated.
-            "type": "A String", # The type of organization. Possible values include, but are not limited to, the following values:
-                # - "work" - Work.
-                # - "school" - School.
-            "name": "A String", # The name of the organization.
-          },
-        ],
-        "relationshipStatus": "A String", # The person's relationship status. Possible values include, but are not limited to, the following values:
-            # - "single" - Person is single.
-            # - "in_a_relationship" - Person is in a relationship.
-            # - "engaged" - Person is engaged.
-            # - "married" - Person is married.
-            # - "its_complicated" - The relationship is complicated.
-            # - "open_relationship" - Person is in an open relationship.
-            # - "widowed" - Person is widowed.
-            # - "in_domestic_partnership" - Person is in a domestic partnership.
-            # - "in_civil_union" - Person is in a civil union.
-        "displayName": "A String", # The name of this person, which is suitable for display.
-        "name": { # An object representation of the individual components of a person's name.
-          "honorificPrefix": "A String", # The honorific prefixes (such as "Dr." or "Mrs.") for this person.
-          "middleName": "A String", # The middle name of this person.
-          "familyName": "A String", # The family name (last name) of this person.
-          "formatted": "A String", # The full name of this person, including middle names, suffixes, etc.
-          "givenName": "A String", # The given name (first name) of this person.
-          "honorificSuffix": "A String", # The honorific suffixes (such as "Jr.") for this person.
-        },
-        "language": "A String", # The user's preferred language for rendering.
-        "url": "A String", # The URL of this person's profile.
-        "gender": "A String", # The person's gender. Possible values include, but are not limited to, the following values:
-            # - "male" - Male gender.
-            # - "female" - Female gender.
-            # - "other" - Other.
-        "cover": { # The cover photo content.
-          "layout": "A String", # The layout of the cover art. Possible values include, but are not limited to, the following values:
-              # - "banner" - One large image banner.
-          "coverInfo": { # Extra information about the cover photo.
-            "leftImageOffset": 42, # The difference between the left position of the image cover and the actual displayed cover image. Only valid for BANNER layout.
-            "topImageOffset": 42, # The difference between the top position of the image cover and the actual displayed cover image. Only valid for BANNER layout.
-          },
-          "coverPhoto": { # The person's primary cover image.
-            "url": "A String", # The url to the image.
-            "width": 42, # The width to the image.
-            "height": 42, # The height to the image.
-          },
-        },
-        "isPlusUser": True or False, # Whether this user has signed up for Google+.
-        "plusOneCount": 42, # If a Google+ Page, the number of people who have +1'ed this page.
-        "urls": [ # A list of URLs for this person.
-          {
-            "type": "A String", # The type of URL. Possible values include, but are not limited to, the following values:
-                # - "otherProfile" - URL for another profile.
-                # - "contributor" - URL to a site for which this person is a contributor.
-                # - "website" - URL for this Google+ Page's primary website.
-                # - "other" - Other URL.
-            "value": "A String", # The URL value.
-            "label": "A String", # The label of the URL.
-          },
-        ],
-        "ageRange": { # The age range of the person.
-          "max": 42, # The age range's upper bound, if any.
-          "min": 42, # The age range's lower bound, if any.
-        },
-      },
-    ],
-    "etag": "A String", # ETag of this response for caching purposes.
-    "totalItems": 42, # The total number of people available in this list. The number of people in a response might be smaller due to paging. This might not be set for all collections.
-    "selfLink": "A String", # Link to this resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="listByActivity_next">listByActivity_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="search">search(query, pageToken=None, language=None, maxResults=None)</code>
-  <pre>Search all public profiles.
-
-Args:
-  query: string, Specify a query string for full text search of public text in all profiles. (required)
-  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. This token can be of any length.
-  language: string, Specify the preferred language to search with. See search language codes for available values.
-  maxResults: integer, The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
-    "kind": "plus#peopleFeed", # Identifies this resource as a collection of people. Value: "plus#peopleFeed".
-    "title": "A String", # The title of this collection of people.
-    "items": [ # The people in this page of results. Each item includes the id, displayName, image, and url for the person. To retrieve additional profile data, see the people.get method.
-      {
-        "braggingRights": "A String", # The "bragging rights" line of this person.
-        "image": { # The representation of the person's profile photo.
-          "url": "A String", # The URL of the person's profile photo. To re-size the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
-        },
-        "id": "A String", # The ID of this person.
-        "objectType": "A String", # Type of person within Google+. Possible values include, but are not limited to, the following values:
-            # - "person" - represents an actual person.
-            # - "page" - represents a page.
-        "verified": True or False, # Whether the person or Google+ Page has been verified.
-        "tagline": "A String", # The brief description (tagline) of this person.
-        "etag": "A String", # ETag of this response for caching purposes.
-        "circledByCount": 42, # If a Google+ Page and for followers who are visible, the number of people who have added this page to a circle.
-        "aboutMe": "A String", # A short biography for this person.
-        "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
-        "placesLived": [ # A list of places where this person has lived.
-          {
-            "primary": True or False, # If "true", this place of residence is this person's primary residence.
-            "value": "A String", # A place where this person has lived. For example: "Seattle, WA", "Near Toronto".
-          },
-        ],
-        "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
-        "nickname": "A String", # The nickname of this person.
-        "currentLocation": "A String", # The current location for this person.
-        "organizations": [ # A list of current or past organizations with which this person is associated.
-          {
-            "startDate": "A String", # The date that the person joined this organization.
-            "endDate": "A String", # The date that the person left this organization.
-            "description": "A String", # A short description of the person's role in this organization. Deprecated.
-            "title": "A String", # The person's job title or role within the organization.
-            "primary": True or False, # If "true", indicates this organization is the person's primary one, which is typically interpreted as the current one.
-            "location": "A String", # The location of this organization. Deprecated.
-            "department": "A String", # The department within the organization. Deprecated.
-            "type": "A String", # The type of organization. Possible values include, but are not limited to, the following values:
-                # - "work" - Work.
-                # - "school" - School.
-            "name": "A String", # The name of the organization.
-          },
-        ],
-        "relationshipStatus": "A String", # The person's relationship status. Possible values include, but are not limited to, the following values:
-            # - "single" - Person is single.
-            # - "in_a_relationship" - Person is in a relationship.
-            # - "engaged" - Person is engaged.
-            # - "married" - Person is married.
-            # - "its_complicated" - The relationship is complicated.
-            # - "open_relationship" - Person is in an open relationship.
-            # - "widowed" - Person is widowed.
-            # - "in_domestic_partnership" - Person is in a domestic partnership.
-            # - "in_civil_union" - Person is in a civil union.
-        "displayName": "A String", # The name of this person, which is suitable for display.
-        "name": { # An object representation of the individual components of a person's name.
-          "honorificPrefix": "A String", # The honorific prefixes (such as "Dr." or "Mrs.") for this person.
-          "middleName": "A String", # The middle name of this person.
-          "familyName": "A String", # The family name (last name) of this person.
-          "formatted": "A String", # The full name of this person, including middle names, suffixes, etc.
-          "givenName": "A String", # The given name (first name) of this person.
-          "honorificSuffix": "A String", # The honorific suffixes (such as "Jr.") for this person.
-        },
-        "language": "A String", # The user's preferred language for rendering.
-        "url": "A String", # The URL of this person's profile.
-        "gender": "A String", # The person's gender. Possible values include, but are not limited to, the following values:
-            # - "male" - Male gender.
-            # - "female" - Female gender.
-            # - "other" - Other.
-        "cover": { # The cover photo content.
-          "layout": "A String", # The layout of the cover art. Possible values include, but are not limited to, the following values:
-              # - "banner" - One large image banner.
-          "coverInfo": { # Extra information about the cover photo.
-            "leftImageOffset": 42, # The difference between the left position of the image cover and the actual displayed cover image. Only valid for BANNER layout.
-            "topImageOffset": 42, # The difference between the top position of the image cover and the actual displayed cover image. Only valid for BANNER layout.
-          },
-          "coverPhoto": { # The person's primary cover image.
-            "url": "A String", # The url to the image.
-            "width": 42, # The width to the image.
-            "height": 42, # The height to the image.
-          },
-        },
-        "isPlusUser": True or False, # Whether this user has signed up for Google+.
-        "plusOneCount": 42, # If a Google+ Page, the number of people who have +1'ed this page.
-        "urls": [ # A list of URLs for this person.
-          {
-            "type": "A String", # The type of URL. Possible values include, but are not limited to, the following values:
-                # - "otherProfile" - URL for another profile.
-                # - "contributor" - URL to a site for which this person is a contributor.
-                # - "website" - URL for this Google+ Page's primary website.
-                # - "other" - Other URL.
-            "value": "A String", # The URL value.
-            "label": "A String", # The label of the URL.
-          },
-        ],
-        "ageRange": { # The age range of the person.
-          "max": 42, # The age range's upper bound, if any.
-          "min": 42, # The age range's lower bound, if any.
-        },
-      },
-    ],
-    "etag": "A String", # ETag of this response for caching purposes.
-    "totalItems": 42, # The total number of people available in this list. The number of people in a response might be smaller due to paging. This might not be set for all collections.
-    "selfLink": "A String", # Link to this resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="search_next">search_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/prediction_v1_5.hostedmodels.html b/docs/dyn/prediction_v1_5.hostedmodels.html
deleted file mode 100644
index 6fedb91..0000000
--- a/docs/dyn/prediction_v1_5.hostedmodels.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="prediction_v1_5.html">Prediction API</a> . <a href="prediction_v1_5.hostedmodels.html">hostedmodels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#predict">predict(hostedModelName, body)</a></code></p>
-<p class="firstline">Submit input and request an output against a hosted model.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="predict">predict(hostedModelName, body)</code>
-  <pre>Submit input and request an output against a hosted model.
-
-Args:
-  hostedModelName: string, The name of a hosted model. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "input": { # Input to the model for a prediction
-      "csvInstance": [ # A list of input features, these can be strings or doubles.
-        "",
-      ],
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "prediction#output", # What kind of resource this is.
-    "outputLabel": "A String", # The most likely class label [Categorical models only].
-    "id": "A String", # The unique name for the predictive model.
-    "outputMulti": [ # A list of class labels with their estimated probabilities [Categorical models only].
-      {
-        "score": 3.14, # The probability of the class label.
-        "label": "A String", # The class label.
-      },
-    ],
-    "outputValue": 3.14, # The estimated regression value [Regression models only].
-    "selfLink": "A String", # A URL to re-request this resource.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/prediction_v1_5.html b/docs/dyn/prediction_v1_5.html
deleted file mode 100644
index dca9e48..0000000
--- a/docs/dyn/prediction_v1_5.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="prediction_v1_5.html">Prediction API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="prediction_v1_5.hostedmodels.html">hostedmodels()</a></code>
-</p>
-<p class="firstline">Returns the hostedmodels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="prediction_v1_5.trainedmodels.html">trainedmodels()</a></code>
-</p>
-<p class="firstline">Returns the trainedmodels Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/prediction_v1_5.trainedmodels.html b/docs/dyn/prediction_v1_5.trainedmodels.html
deleted file mode 100644
index 1d4c096..0000000
--- a/docs/dyn/prediction_v1_5.trainedmodels.html
+++ /dev/null
@@ -1,498 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="prediction_v1_5.html">Prediction API</a> . <a href="prediction_v1_5.trainedmodels.html">trainedmodels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#analyze">analyze(id)</a></code></p>
-<p class="firstline">Get analysis of the model and the data the model was trained on.</p>
-<p class="toc_element">
-  <code><a href="#delete">delete(id)</a></code></p>
-<p class="firstline">Delete a trained model.</p>
-<p class="toc_element">
-  <code><a href="#get">get(id)</a></code></p>
-<p class="firstline">Check training status of your model.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(body)</a></code></p>
-<p class="firstline">Begin training your model.</p>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List available models.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#predict">predict(id, body)</a></code></p>
-<p class="firstline">Submit model id and request a prediction.</p>
-<p class="toc_element">
-  <code><a href="#update">update(id, body)</a></code></p>
-<p class="firstline">Add new data to a trained model.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="analyze">analyze(id)</code>
-  <pre>Get analysis of the model and the data the model was trained on.
-
-Args:
-  id: string, The unique name for the predictive model. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "prediction#analyze", # What kind of resource this is.
-    "errors": [ # List of errors with the data.
-      {
-        "a_key": "A String", # Error level followed by a detailed error message.
-      },
-    ],
-    "dataDescription": { # Description of the data the model was trained on.
-      "outputFeature": { # Description of the output value or label.
-        "text": [ # Description of the output labels in the data set.
-          {
-            "count": "A String", # Number of times the output label occurred in the data set.
-            "value": "A String", # The output label.
-          },
-        ],
-        "numeric": { # Description of the output values in the data set.
-          "count": "A String", # Number of numeric output values in the data set.
-          "variance": 3.14, # Variance of the output values in the data set.
-          "mean": 3.14, # Mean of the output values in the data set.
-        },
-      },
-      "features": [ # Description of the input features in the data set.
-        {
-          "index": "A String", # The feature index.
-          "text": { # Description of multiple-word text values of this feature.
-            "count": "A String", # Number of multiple-word text values for this feature.
-          },
-          "numeric": { # Description of the numeric values of this feature.
-            "count": "A String", # Number of numeric values for this feature in the data set.
-            "variance": 3.14, # Variance of the numeric values of this feature in the data set.
-            "mean": 3.14, # Mean of the numeric values of this feature in the data set.
-          },
-          "categorical": { # Description of the categorical values of this feature.
-            "count": "A String", # Number of categorical values for this feature in the data.
-            "values": [ # List of all the categories for this feature in the data set.
-              {
-                "count": "A String", # Number of times this feature had this value.
-                "value": "A String", # The category name.
-              },
-            ],
-          },
-        },
-      ],
-    },
-    "modelDescription": { # Description of the model.
-      "confusionMatrixRowTotals": { # A list of the confusion matrix row totals
-        "a_key": 3.14,
-      },
-      "confusionMatrix": { # An output confusion matrix. This shows an estimate for how this model will do in predictions. This is first indexed by the true class label. For each true class label, this provides a pair {predicted_label, count}, where count is the estimated number of times the model will predict the predicted label given the true label. Will not output if more then 100 classes [Categorical models only].
-        "a_key": {
-          "a_key": 3.14,
-        },
-      },
-      "modelinfo": { # Basic information about the model.
-          "kind": "prediction#training", # What kind of resource this is.
-          "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
-          "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
-          "storageDataLocation": "A String", # Google storage location of the training data file.
-          "modelType": "A String", # Type of predictive model (classification or regression)
-          "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
-          "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
-          "modelInfo": { # Model metadata.
-            "numberLabels": "A String", # Number of class labels in the trained model [Categorical models only].
-            "meanSquaredError": 3.14, # An estimated mean squared error. The can be used to measure the quality of the predicted model [Regression models only].
-            "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION)
-            "numberInstances": "A String", # Number of valid data instances used in the trained model.
-            "classWeightedAccuracy": 3.14, # Estimated accuracy of model taking utility weights into account [Categorical models only].
-            "classificationAccuracy": 3.14, # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data [Categorical models only].
-          },
-          "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
-          "trainingInstances": [ # Instances to train model on.
-            {
-              "output": "A String", # The generic output value - could be regression or class label
-              "csvInstance": [ # The input features for this instance
-                "",
-              ],
-            },
-          ],
-          "id": "A String", # The unique name for the predictive model.
-          "selfLink": "A String", # A URL to re-request this resource.
-          "utility": [ # A class weighting function, which allows the importance weights for class labels to be specified [Categorical models only].
-            { # Class label (string).
-              "a_key": 3.14,
-            },
-          ],
-        },
-    },
-    "id": "A String", # The unique name for the predictive model.
-    "selfLink": "A String", # A URL to re-request this resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(id)</code>
-  <pre>Delete a trained model.
-
-Args:
-  id: string, The unique name for the predictive model. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(id)</code>
-  <pre>Check training status of your model.
-
-Args:
-  id: string, The unique name for the predictive model. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "prediction#training", # What kind of resource this is.
-      "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
-      "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
-      "storageDataLocation": "A String", # Google storage location of the training data file.
-      "modelType": "A String", # Type of predictive model (classification or regression)
-      "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
-      "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
-      "modelInfo": { # Model metadata.
-        "numberLabels": "A String", # Number of class labels in the trained model [Categorical models only].
-        "meanSquaredError": 3.14, # An estimated mean squared error. The can be used to measure the quality of the predicted model [Regression models only].
-        "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION)
-        "numberInstances": "A String", # Number of valid data instances used in the trained model.
-        "classWeightedAccuracy": 3.14, # Estimated accuracy of model taking utility weights into account [Categorical models only].
-        "classificationAccuracy": 3.14, # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data [Categorical models only].
-      },
-      "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
-      "trainingInstances": [ # Instances to train model on.
-        {
-          "output": "A String", # The generic output value - could be regression or class label
-          "csvInstance": [ # The input features for this instance
-            "",
-          ],
-        },
-      ],
-      "id": "A String", # The unique name for the predictive model.
-      "selfLink": "A String", # A URL to re-request this resource.
-      "utility": [ # A class weighting function, which allows the importance weights for class labels to be specified [Categorical models only].
-        { # Class label (string).
-          "a_key": 3.14,
-        },
-      ],
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(body)</code>
-  <pre>Begin training your model.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "prediction#training", # What kind of resource this is.
-    "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
-    "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
-    "storageDataLocation": "A String", # Google storage location of the training data file.
-    "modelType": "A String", # Type of predictive model (classification or regression)
-    "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
-    "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
-    "modelInfo": { # Model metadata.
-      "numberLabels": "A String", # Number of class labels in the trained model [Categorical models only].
-      "meanSquaredError": 3.14, # An estimated mean squared error. The can be used to measure the quality of the predicted model [Regression models only].
-      "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION)
-      "numberInstances": "A String", # Number of valid data instances used in the trained model.
-      "classWeightedAccuracy": 3.14, # Estimated accuracy of model taking utility weights into account [Categorical models only].
-      "classificationAccuracy": 3.14, # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data [Categorical models only].
-    },
-    "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
-    "trainingInstances": [ # Instances to train model on.
-      {
-        "output": "A String", # The generic output value - could be regression or class label
-        "csvInstance": [ # The input features for this instance
-          "",
-        ],
-      },
-    ],
-    "id": "A String", # The unique name for the predictive model.
-    "selfLink": "A String", # A URL to re-request this resource.
-    "utility": [ # A class weighting function, which allows the importance weights for class labels to be specified [Categorical models only].
-      { # Class label (string).
-        "a_key": 3.14,
-      },
-    ],
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "prediction#training", # What kind of resource this is.
-      "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
-      "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
-      "storageDataLocation": "A String", # Google storage location of the training data file.
-      "modelType": "A String", # Type of predictive model (classification or regression)
-      "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
-      "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
-      "modelInfo": { # Model metadata.
-        "numberLabels": "A String", # Number of class labels in the trained model [Categorical models only].
-        "meanSquaredError": 3.14, # An estimated mean squared error. The can be used to measure the quality of the predicted model [Regression models only].
-        "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION)
-        "numberInstances": "A String", # Number of valid data instances used in the trained model.
-        "classWeightedAccuracy": 3.14, # Estimated accuracy of model taking utility weights into account [Categorical models only].
-        "classificationAccuracy": 3.14, # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data [Categorical models only].
-      },
-      "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
-      "trainingInstances": [ # Instances to train model on.
-        {
-          "output": "A String", # The generic output value - could be regression or class label
-          "csvInstance": [ # The input features for this instance
-            "",
-          ],
-        },
-      ],
-      "id": "A String", # The unique name for the predictive model.
-      "selfLink": "A String", # A URL to re-request this resource.
-      "utility": [ # A class weighting function, which allows the importance weights for class labels to be specified [Categorical models only].
-        { # Class label (string).
-          "a_key": 3.14,
-        },
-      ],
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
-  <pre>List available models.
-
-Args:
-  pageToken: string, Pagination token
-  maxResults: integer, Maximum number of results to return
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Pagination token to fetch the next page, if one exists.
-    "items": [ # List of models.
-      {
-          "kind": "prediction#training", # What kind of resource this is.
-          "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
-          "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
-          "storageDataLocation": "A String", # Google storage location of the training data file.
-          "modelType": "A String", # Type of predictive model (classification or regression)
-          "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
-          "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
-          "modelInfo": { # Model metadata.
-            "numberLabels": "A String", # Number of class labels in the trained model [Categorical models only].
-            "meanSquaredError": 3.14, # An estimated mean squared error. The can be used to measure the quality of the predicted model [Regression models only].
-            "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION)
-            "numberInstances": "A String", # Number of valid data instances used in the trained model.
-            "classWeightedAccuracy": 3.14, # Estimated accuracy of model taking utility weights into account [Categorical models only].
-            "classificationAccuracy": 3.14, # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data [Categorical models only].
-          },
-          "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
-          "trainingInstances": [ # Instances to train model on.
-            {
-              "output": "A String", # The generic output value - could be regression or class label
-              "csvInstance": [ # The input features for this instance
-                "",
-              ],
-            },
-          ],
-          "id": "A String", # The unique name for the predictive model.
-          "selfLink": "A String", # A URL to re-request this resource.
-          "utility": [ # A class weighting function, which allows the importance weights for class labels to be specified [Categorical models only].
-            { # Class label (string).
-              "a_key": 3.14,
-            },
-          ],
-        },
-    ],
-    "kind": "prediction#list", # What kind of resource this is.
-    "selfLink": "A String", # A URL to re-request this resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="predict">predict(id, body)</code>
-  <pre>Submit model id and request a prediction.
-
-Args:
-  id: string, The unique name for the predictive model. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "input": { # Input to the model for a prediction
-      "csvInstance": [ # A list of input features, these can be strings or doubles.
-        "",
-      ],
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "prediction#output", # What kind of resource this is.
-    "outputLabel": "A String", # The most likely class label [Categorical models only].
-    "id": "A String", # The unique name for the predictive model.
-    "outputMulti": [ # A list of class labels with their estimated probabilities [Categorical models only].
-      {
-        "score": 3.14, # The probability of the class label.
-        "label": "A String", # The class label.
-      },
-    ],
-    "outputValue": 3.14, # The estimated regression value [Regression models only].
-    "selfLink": "A String", # A URL to re-request this resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(id, body)</code>
-  <pre>Add new data to a trained model.
-
-Args:
-  id: string, The unique name for the predictive model. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "output": "A String", # The generic output value - could be regression value or class label
-    "csvInstance": [ # The input features for this instance
-      "",
-    ],
-    "label": "A String", # The class label of this instance
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "prediction#training", # What kind of resource this is.
-      "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
-      "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
-      "storageDataLocation": "A String", # Google storage location of the training data file.
-      "modelType": "A String", # Type of predictive model (classification or regression)
-      "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
-      "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
-      "modelInfo": { # Model metadata.
-        "numberLabels": "A String", # Number of class labels in the trained model [Categorical models only].
-        "meanSquaredError": 3.14, # An estimated mean squared error. The can be used to measure the quality of the predicted model [Regression models only].
-        "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION)
-        "numberInstances": "A String", # Number of valid data instances used in the trained model.
-        "classWeightedAccuracy": 3.14, # Estimated accuracy of model taking utility weights into account [Categorical models only].
-        "classificationAccuracy": 3.14, # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data [Categorical models only].
-      },
-      "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
-      "trainingInstances": [ # Instances to train model on.
-        {
-          "output": "A String", # The generic output value - could be regression or class label
-          "csvInstance": [ # The input features for this instance
-            "",
-          ],
-        },
-      ],
-      "id": "A String", # The unique name for the predictive model.
-      "selfLink": "A String", # A URL to re-request this resource.
-      "utility": [ # A class weighting function, which allows the importance weights for class labels to be specified [Categorical models only].
-        { # Class label (string).
-          "a_key": 3.14,
-        },
-      ],
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/prediction_v1_6.hostedmodels.html b/docs/dyn/prediction_v1_6.hostedmodels.html
deleted file mode 100644
index 69e85d1..0000000
--- a/docs/dyn/prediction_v1_6.hostedmodels.html
+++ /dev/null
@@ -1,118 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="prediction_v1_6.html">Prediction API</a> . <a href="prediction_v1_6.hostedmodels.html">hostedmodels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#predict">predict(project, hostedModelName, body)</a></code></p>
-<p class="firstline">Submit input and request an output against a hosted model.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="predict">predict(project, hostedModelName, body)</code>
-  <pre>Submit input and request an output against a hosted model.
-
-Args:
-  project: string, The project associated with the model. (required)
-  hostedModelName: string, The name of a hosted model. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "input": { # Input to the model for a prediction.
-      "csvInstance": [ # A list of input features, these can be strings or doubles.
-        "",
-      ],
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "prediction#output", # What kind of resource this is.
-    "outputLabel": "A String", # The most likely class label (Categorical models only).
-    "id": "A String", # The unique name for the predictive model.
-    "outputMulti": [ # A list of class labels with their estimated probabilities (Categorical models only).
-      {
-        "score": "A String", # The probability of the class label.
-        "label": "A String", # The class label.
-      },
-    ],
-    "outputValue": 3.14, # The estimated regression value (Regression models only).
-    "selfLink": "A String", # A URL to re-request this resource.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/prediction_v1_6.html b/docs/dyn/prediction_v1_6.html
deleted file mode 100644
index a6a9760..0000000
--- a/docs/dyn/prediction_v1_6.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="prediction_v1_6.html">Prediction API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="prediction_v1_6.hostedmodels.html">hostedmodels()</a></code>
-</p>
-<p class="firstline">Returns the hostedmodels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="prediction_v1_6.trainedmodels.html">trainedmodels()</a></code>
-</p>
-<p class="firstline">Returns the trainedmodels Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/prediction_v1_6.trainedmodels.html b/docs/dyn/prediction_v1_6.trainedmodels.html
deleted file mode 100644
index c591ff3..0000000
--- a/docs/dyn/prediction_v1_6.trainedmodels.html
+++ /dev/null
@@ -1,427 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="prediction_v1_6.html">Prediction API</a> . <a href="prediction_v1_6.trainedmodels.html">trainedmodels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#analyze">analyze(project, id)</a></code></p>
-<p class="firstline">Get analysis of the model and the data the model was trained on.</p>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, id)</a></code></p>
-<p class="firstline">Delete a trained model.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, id)</a></code></p>
-<p class="firstline">Check training status of your model.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Train a Prediction API model.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List available models.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#predict">predict(project, id, body)</a></code></p>
-<p class="firstline">Submit model id and request a prediction.</p>
-<p class="toc_element">
-  <code><a href="#update">update(project, id, body)</a></code></p>
-<p class="firstline">Add new data to a trained model.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="analyze">analyze(project, id)</code>
-  <pre>Get analysis of the model and the data the model was trained on.
-
-Args:
-  project: string, The project associated with the model. (required)
-  id: string, The unique name for the predictive model. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "prediction#analyze", # What kind of resource this is.
-    "errors": [ # List of errors with the data.
-      {
-        "a_key": "A String", # Error level followed by a detailed error message.
-      },
-    ],
-    "dataDescription": { # Description of the data the model was trained on.
-      "outputFeature": { # Description of the output value or label.
-        "text": [ # Description of the output labels in the data set.
-          {
-            "count": "A String", # Number of times the output label occurred in the data set.
-            "value": "A String", # The output label.
-          },
-        ],
-        "numeric": { # Description of the output values in the data set.
-          "count": "A String", # Number of numeric output values in the data set.
-          "variance": "A String", # Variance of the output values in the data set.
-          "mean": "A String", # Mean of the output values in the data set.
-        },
-      },
-      "features": [ # Description of the input features in the data set.
-        {
-          "index": "A String", # The feature index.
-          "text": { # Description of multiple-word text values of this feature.
-            "count": "A String", # Number of multiple-word text values for this feature.
-          },
-          "numeric": { # Description of the numeric values of this feature.
-            "count": "A String", # Number of numeric values for this feature in the data set.
-            "variance": "A String", # Variance of the numeric values of this feature in the data set.
-            "mean": "A String", # Mean of the numeric values of this feature in the data set.
-          },
-          "categorical": { # Description of the categorical values of this feature.
-            "count": "A String", # Number of categorical values for this feature in the data.
-            "values": [ # List of all the categories for this feature in the data set.
-              {
-                "count": "A String", # Number of times this feature had this value.
-                "value": "A String", # The category name.
-              },
-            ],
-          },
-        },
-      ],
-    },
-    "modelDescription": { # Description of the model.
-      "confusionMatrixRowTotals": { # A list of the confusion matrix row totals.
-        "a_key": "A String",
-      },
-      "confusionMatrix": { # An output confusion matrix. This shows an estimate for how this model will do in predictions. This is first indexed by the true class label. For each true class label, this provides a pair {predicted_label, count}, where count is the estimated number of times the model will predict the predicted label given the true label. Will not output if more then 100 classes (Categorical models only).
-        "a_key": { # Confusion matrix information for the true class label.
-          "a_key": "A String", # Average number of times an instance with correct class label modelDescription.confusionMatrix.(key) was wrongfully classified as this label.
-        },
-      },
-      "modelinfo": { # Basic information about the model.
-        "kind": "prediction#training", # What kind of resource this is.
-        "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
-        "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
-        "storageDataLocation": "A String", # Google storage location of the training data file.
-        "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
-        "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
-        "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
-        "modelInfo": { # Model metadata.
-          "numberLabels": "A String", # Number of class labels in the trained model (Categorical models only).
-          "meanSquaredError": "A String", # An estimated mean squared error. The can be used to measure the quality of the predicted model (Regression models only).
-          "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
-          "numberInstances": "A String", # Number of valid data instances used in the trained model.
-          "classWeightedAccuracy": "A String", # Estimated accuracy of model taking utility weights into account (Categorical models only).
-          "classificationAccuracy": "A String", # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data (Categorical models only).
-        },
-        "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
-        "id": "A String", # The unique name for the predictive model.
-        "selfLink": "A String", # A URL to re-request this resource.
-      },
-    },
-    "id": "A String", # The unique name for the predictive model.
-    "selfLink": "A String", # A URL to re-request this resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(project, id)</code>
-  <pre>Delete a trained model.
-
-Args:
-  project: string, The project associated with the model. (required)
-  id: string, The unique name for the predictive model. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, id)</code>
-  <pre>Check training status of your model.
-
-Args:
-  project: string, The project associated with the model. (required)
-  id: string, The unique name for the predictive model. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "prediction#training", # What kind of resource this is.
-    "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
-    "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
-    "storageDataLocation": "A String", # Google storage location of the training data file.
-    "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
-    "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
-    "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
-    "modelInfo": { # Model metadata.
-      "numberLabels": "A String", # Number of class labels in the trained model (Categorical models only).
-      "meanSquaredError": "A String", # An estimated mean squared error. The can be used to measure the quality of the predicted model (Regression models only).
-      "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
-      "numberInstances": "A String", # Number of valid data instances used in the trained model.
-      "classWeightedAccuracy": "A String", # Estimated accuracy of model taking utility weights into account (Categorical models only).
-      "classificationAccuracy": "A String", # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data (Categorical models only).
-    },
-    "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
-    "id": "A String", # The unique name for the predictive model.
-    "selfLink": "A String", # A URL to re-request this resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Train a Prediction API model.
-
-Args:
-  project: string, The project associated with the model. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "storageDataLocation": "A String", # Google storage location of the training data file.
-    "modelType": "A String", # Type of predictive model (classification or regression).
-    "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
-    "sourceModel": "A String", # The Id of the model to be copied over.
-    "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
-    "trainingInstances": [ # Instances to train model on.
-      {
-        "output": "A String", # The generic output value - could be regression or class label.
-        "csvInstance": [ # The input features for this instance.
-          "",
-        ],
-      },
-    ],
-    "id": "A String", # The unique name for the predictive model.
-    "utility": [ # A class weighting function, which allows the importance weights for class labels to be specified (Categorical models only).
-      { # Class label (string).
-        "a_key": 3.14,
-      },
-    ],
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "prediction#training", # What kind of resource this is.
-    "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
-    "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
-    "storageDataLocation": "A String", # Google storage location of the training data file.
-    "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
-    "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
-    "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
-    "modelInfo": { # Model metadata.
-      "numberLabels": "A String", # Number of class labels in the trained model (Categorical models only).
-      "meanSquaredError": "A String", # An estimated mean squared error. The can be used to measure the quality of the predicted model (Regression models only).
-      "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
-      "numberInstances": "A String", # Number of valid data instances used in the trained model.
-      "classWeightedAccuracy": "A String", # Estimated accuracy of model taking utility weights into account (Categorical models only).
-      "classificationAccuracy": "A String", # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data (Categorical models only).
-    },
-    "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
-    "id": "A String", # The unique name for the predictive model.
-    "selfLink": "A String", # A URL to re-request this resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, pageToken=None, maxResults=None)</code>
-  <pre>List available models.
-
-Args:
-  project: string, The project associated with the model. (required)
-  pageToken: string, Pagination token.
-  maxResults: integer, Maximum number of results to return.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Pagination token to fetch the next page, if one exists.
-    "items": [ # List of models.
-      {
-        "kind": "prediction#training", # What kind of resource this is.
-        "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
-        "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
-        "storageDataLocation": "A String", # Google storage location of the training data file.
-        "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
-        "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
-        "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
-        "modelInfo": { # Model metadata.
-          "numberLabels": "A String", # Number of class labels in the trained model (Categorical models only).
-          "meanSquaredError": "A String", # An estimated mean squared error. The can be used to measure the quality of the predicted model (Regression models only).
-          "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
-          "numberInstances": "A String", # Number of valid data instances used in the trained model.
-          "classWeightedAccuracy": "A String", # Estimated accuracy of model taking utility weights into account (Categorical models only).
-          "classificationAccuracy": "A String", # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data (Categorical models only).
-        },
-        "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
-        "id": "A String", # The unique name for the predictive model.
-        "selfLink": "A String", # A URL to re-request this resource.
-      },
-    ],
-    "kind": "prediction#list", # What kind of resource this is.
-    "selfLink": "A String", # A URL to re-request this resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="predict">predict(project, id, body)</code>
-  <pre>Submit model id and request a prediction.
-
-Args:
-  project: string, The project associated with the model. (required)
-  id: string, The unique name for the predictive model. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "input": { # Input to the model for a prediction.
-      "csvInstance": [ # A list of input features, these can be strings or doubles.
-        "",
-      ],
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "prediction#output", # What kind of resource this is.
-    "outputLabel": "A String", # The most likely class label (Categorical models only).
-    "id": "A String", # The unique name for the predictive model.
-    "outputMulti": [ # A list of class labels with their estimated probabilities (Categorical models only).
-      {
-        "score": "A String", # The probability of the class label.
-        "label": "A String", # The class label.
-      },
-    ],
-    "outputValue": 3.14, # The estimated regression value (Regression models only).
-    "selfLink": "A String", # A URL to re-request this resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(project, id, body)</code>
-  <pre>Add new data to a trained model.
-
-Args:
-  project: string, The project associated with the model. (required)
-  id: string, The unique name for the predictive model. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "output": "A String", # The generic output value - could be regression or class label.
-    "csvInstance": [ # The input features for this instance.
-      "",
-    ],
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "prediction#training", # What kind of resource this is.
-    "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
-    "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
-    "storageDataLocation": "A String", # Google storage location of the training data file.
-    "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
-    "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
-    "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
-    "modelInfo": { # Model metadata.
-      "numberLabels": "A String", # Number of class labels in the trained model (Categorical models only).
-      "meanSquaredError": "A String", # An estimated mean squared error. The can be used to measure the quality of the predicted model (Regression models only).
-      "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
-      "numberInstances": "A String", # Number of valid data instances used in the trained model.
-      "classWeightedAccuracy": "A String", # Estimated accuracy of model taking utility weights into account (Categorical models only).
-      "classificationAccuracy": "A String", # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data (Categorical models only).
-    },
-    "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
-    "id": "A String", # The unique name for the predictive model.
-    "selfLink": "A String", # A URL to re-request this resource.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/reseller_v1.customers.html b/docs/dyn/reseller_v1.customers.html
deleted file mode 100644
index 8f9e31e..0000000
--- a/docs/dyn/reseller_v1.customers.html
+++ /dev/null
@@ -1,290 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="reseller_v1.html">Enterprise Apps Reseller API</a> . <a href="reseller_v1.customers.html">customers</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(customerId)</a></code></p>
-<p class="firstline">Gets a customer resource if one exists and is owned by the reseller.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(body, customerAuthToken=None)</a></code></p>
-<p class="firstline">Creates a customer resource if one does not already exist.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(customerId, body)</a></code></p>
-<p class="firstline">Update a customer resource if one it exists and is owned by the reseller. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(customerId, body)</a></code></p>
-<p class="firstline">Update a customer resource if one it exists and is owned by the reseller.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(customerId)</code>
-  <pre>Gets a customer resource if one exists and is owned by the reseller.
-
-Args:
-  customerId: string, Id of the Customer (required)
-
-Returns:
-  An object of the form:
-
-    { # JSON template for a customer.
-      "customerDomain": "A String", # The domain name of the customer.
-      "alternateEmail": "A String", # The alternate email of the customer.
-      "kind": "reseller#customer", # Identifies the resource as a customer.
-      "resourceUiUrl": "A String", # Ui url for customer resource.
-      "phoneNumber": "A String", # The phone number of the customer.
-      "postalAddress": { # JSON template for address of a customer. # The postal address of the customer.
-        "kind": "customers#address", # Identifies the resource as a customer address.
-        "organizationName": "A String", # Name of the organization.
-        "countryCode": "A String", # ISO 3166 country code.
-        "locality": "A String", # Name of the locality. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-        "region": "A String", # Name of the region. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-        "addressLine2": "A String", # Address line 2 of the address.
-        "addressLine3": "A String", # Address line 3 of the address.
-        "contactName": "A String", # Name of the contact person.
-        "addressLine1": "A String", # Address line 1 of the address.
-        "postalCode": "A String", # The postal code. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-      },
-      "customerId": "A String", # The id of the customer.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(body, customerAuthToken=None)</code>
-  <pre>Creates a customer resource if one does not already exist.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # JSON template for a customer.
-    "customerDomain": "A String", # The domain name of the customer.
-    "alternateEmail": "A String", # The alternate email of the customer.
-    "kind": "reseller#customer", # Identifies the resource as a customer.
-    "resourceUiUrl": "A String", # Ui url for customer resource.
-    "phoneNumber": "A String", # The phone number of the customer.
-    "postalAddress": { # JSON template for address of a customer. # The postal address of the customer.
-      "kind": "customers#address", # Identifies the resource as a customer address.
-      "organizationName": "A String", # Name of the organization.
-      "countryCode": "A String", # ISO 3166 country code.
-      "locality": "A String", # Name of the locality. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-      "region": "A String", # Name of the region. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-      "addressLine2": "A String", # Address line 2 of the address.
-      "addressLine3": "A String", # Address line 3 of the address.
-      "contactName": "A String", # Name of the contact person.
-      "addressLine1": "A String", # Address line 1 of the address.
-      "postalCode": "A String", # The postal code. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-    },
-    "customerId": "A String", # The id of the customer.
-  }
-
-  customerAuthToken: string, An auth token needed for inserting a customer for which domain already exists. Can be generated at https://www.google.com/a/cpanel//TransferToken. Optional.
-
-Returns:
-  An object of the form:
-
-    { # JSON template for a customer.
-      "customerDomain": "A String", # The domain name of the customer.
-      "alternateEmail": "A String", # The alternate email of the customer.
-      "kind": "reseller#customer", # Identifies the resource as a customer.
-      "resourceUiUrl": "A String", # Ui url for customer resource.
-      "phoneNumber": "A String", # The phone number of the customer.
-      "postalAddress": { # JSON template for address of a customer. # The postal address of the customer.
-        "kind": "customers#address", # Identifies the resource as a customer address.
-        "organizationName": "A String", # Name of the organization.
-        "countryCode": "A String", # ISO 3166 country code.
-        "locality": "A String", # Name of the locality. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-        "region": "A String", # Name of the region. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-        "addressLine2": "A String", # Address line 2 of the address.
-        "addressLine3": "A String", # Address line 3 of the address.
-        "contactName": "A String", # Name of the contact person.
-        "addressLine1": "A String", # Address line 1 of the address.
-        "postalCode": "A String", # The postal code. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-      },
-      "customerId": "A String", # The id of the customer.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(customerId, body)</code>
-  <pre>Update a customer resource if one it exists and is owned by the reseller. This method supports patch semantics.
-
-Args:
-  customerId: string, Id of the Customer (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # JSON template for a customer.
-    "customerDomain": "A String", # The domain name of the customer.
-    "alternateEmail": "A String", # The alternate email of the customer.
-    "kind": "reseller#customer", # Identifies the resource as a customer.
-    "resourceUiUrl": "A String", # Ui url for customer resource.
-    "phoneNumber": "A String", # The phone number of the customer.
-    "postalAddress": { # JSON template for address of a customer. # The postal address of the customer.
-      "kind": "customers#address", # Identifies the resource as a customer address.
-      "organizationName": "A String", # Name of the organization.
-      "countryCode": "A String", # ISO 3166 country code.
-      "locality": "A String", # Name of the locality. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-      "region": "A String", # Name of the region. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-      "addressLine2": "A String", # Address line 2 of the address.
-      "addressLine3": "A String", # Address line 3 of the address.
-      "contactName": "A String", # Name of the contact person.
-      "addressLine1": "A String", # Address line 1 of the address.
-      "postalCode": "A String", # The postal code. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-    },
-    "customerId": "A String", # The id of the customer.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # JSON template for a customer.
-      "customerDomain": "A String", # The domain name of the customer.
-      "alternateEmail": "A String", # The alternate email of the customer.
-      "kind": "reseller#customer", # Identifies the resource as a customer.
-      "resourceUiUrl": "A String", # Ui url for customer resource.
-      "phoneNumber": "A String", # The phone number of the customer.
-      "postalAddress": { # JSON template for address of a customer. # The postal address of the customer.
-        "kind": "customers#address", # Identifies the resource as a customer address.
-        "organizationName": "A String", # Name of the organization.
-        "countryCode": "A String", # ISO 3166 country code.
-        "locality": "A String", # Name of the locality. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-        "region": "A String", # Name of the region. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-        "addressLine2": "A String", # Address line 2 of the address.
-        "addressLine3": "A String", # Address line 3 of the address.
-        "contactName": "A String", # Name of the contact person.
-        "addressLine1": "A String", # Address line 1 of the address.
-        "postalCode": "A String", # The postal code. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-      },
-      "customerId": "A String", # The id of the customer.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(customerId, body)</code>
-  <pre>Update a customer resource if one it exists and is owned by the reseller.
-
-Args:
-  customerId: string, Id of the Customer (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # JSON template for a customer.
-    "customerDomain": "A String", # The domain name of the customer.
-    "alternateEmail": "A String", # The alternate email of the customer.
-    "kind": "reseller#customer", # Identifies the resource as a customer.
-    "resourceUiUrl": "A String", # Ui url for customer resource.
-    "phoneNumber": "A String", # The phone number of the customer.
-    "postalAddress": { # JSON template for address of a customer. # The postal address of the customer.
-      "kind": "customers#address", # Identifies the resource as a customer address.
-      "organizationName": "A String", # Name of the organization.
-      "countryCode": "A String", # ISO 3166 country code.
-      "locality": "A String", # Name of the locality. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-      "region": "A String", # Name of the region. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-      "addressLine2": "A String", # Address line 2 of the address.
-      "addressLine3": "A String", # Address line 3 of the address.
-      "contactName": "A String", # Name of the contact person.
-      "addressLine1": "A String", # Address line 1 of the address.
-      "postalCode": "A String", # The postal code. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-    },
-    "customerId": "A String", # The id of the customer.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # JSON template for a customer.
-      "customerDomain": "A String", # The domain name of the customer.
-      "alternateEmail": "A String", # The alternate email of the customer.
-      "kind": "reseller#customer", # Identifies the resource as a customer.
-      "resourceUiUrl": "A String", # Ui url for customer resource.
-      "phoneNumber": "A String", # The phone number of the customer.
-      "postalAddress": { # JSON template for address of a customer. # The postal address of the customer.
-        "kind": "customers#address", # Identifies the resource as a customer address.
-        "organizationName": "A String", # Name of the organization.
-        "countryCode": "A String", # ISO 3166 country code.
-        "locality": "A String", # Name of the locality. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-        "region": "A String", # Name of the region. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-        "addressLine2": "A String", # Address line 2 of the address.
-        "addressLine3": "A String", # Address line 3 of the address.
-        "contactName": "A String", # Name of the contact person.
-        "addressLine1": "A String", # Address line 1 of the address.
-        "postalCode": "A String", # The postal code. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
-      },
-      "customerId": "A String", # The id of the customer.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/reseller_v1.html b/docs/dyn/reseller_v1.html
deleted file mode 100644
index d8e9e0a..0000000
--- a/docs/dyn/reseller_v1.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="reseller_v1.html">Enterprise Apps Reseller API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="reseller_v1.customers.html">customers()</a></code>
-</p>
-<p class="firstline">Returns the customers Resource.</p>
-
-<p class="toc_element">
-  <code><a href="reseller_v1.subscriptions.html">subscriptions()</a></code>
-</p>
-<p class="firstline">Returns the subscriptions Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/reseller_v1.subscriptions.html b/docs/dyn/reseller_v1.subscriptions.html
deleted file mode 100644
index d9b420d..0000000
--- a/docs/dyn/reseller_v1.subscriptions.html
+++ /dev/null
@@ -1,549 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="reseller_v1.html">Enterprise Apps Reseller API</a> . <a href="reseller_v1.subscriptions.html">subscriptions</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#changePlan">changePlan(customerId, subscriptionId, body)</a></code></p>
-<p class="firstline">Changes the plan of a subscription</p>
-<p class="toc_element">
-  <code><a href="#changeRenewalSettings">changeRenewalSettings(customerId, subscriptionId, body)</a></code></p>
-<p class="firstline">Changes the renewal settings of a subscription</p>
-<p class="toc_element">
-  <code><a href="#changeSeats">changeSeats(customerId, subscriptionId, body)</a></code></p>
-<p class="firstline">Changes the seats configuration of a subscription</p>
-<p class="toc_element">
-  <code><a href="#delete">delete(customerId, subscriptionId, deletionType)</a></code></p>
-<p class="firstline">Cancels/Downgrades a subscription.</p>
-<p class="toc_element">
-  <code><a href="#get">get(customerId, subscriptionId)</a></code></p>
-<p class="firstline">Gets a subscription of the customer.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(customerId, body, customerAuthToken=None)</a></code></p>
-<p class="firstline">Creates/Transfers a subscription for the customer.</p>
-<p class="toc_element">
-  <code><a href="#list">list(customerAuthToken=None, pageToken=None, maxResults=None, customerNamePrefix=None, customerId=None)</a></code></p>
-<p class="firstline">Lists subscriptions of a reseller, optionally filtered by a customer name prefix.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#startPaidService">startPaidService(customerId, subscriptionId)</a></code></p>
-<p class="firstline">Starts paid service of a trial subscription</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="changePlan">changePlan(customerId, subscriptionId, body)</code>
-  <pre>Changes the plan of a subscription
-
-Args:
-  customerId: string, Id of the Customer (required)
-  subscriptionId: string, Id of the subscription, which is unique for a customer (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # JSON template for the ChangePlan rpc request.
-    "planName": "A String", # Name of the plan to change to.
-    "kind": "subscriptions#changePlanRequest", # Identifies the resource as a subscription change plan request.
-    "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan.
-      "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
-      "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
-      "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-    },
-    "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # JSON template for a subscription.
-      "renewalSettings": { # JSON template for a subscription renewal settings. # Renewal settings of the subscription.
-        "kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting.
-        "renewalType": "A String", # Subscription renewal type.
-      },
-      "skuId": "A String", # Name of the sku for which this subscription is purchased.
-      "kind": "reseller#subscription", # Identifies the resource as a Subscription.
-      "trialSettings": { # Trial Settings of the subscription.
-        "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch.
-        "isInTrial": True or False, # Whether the subscription is in trial.
-      },
-      "transferInfo": { # Transfer related information for the subscription.
-        "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire.
-        "minimumTransferableSeats": 42,
-      },
-      "resourceUiUrl": "A String", # Ui url for subscription resource.
-      "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan.
-        "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
-        "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
-        "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-      },
-      "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
-      "status": "A String", # Status of the subscription.
-      "plan": { # Plan details of the subscription
-        "planName": "A String", # The plan name of this subscription's plan.
-        "commitmentInterval": { # Interval of the commitment if it is a commitment plan.
-          "endTime": "A String", # End time of the commitment interval in milliseconds since Unix epoch.
-          "startTime": "A String", # Start time of the commitment interval in milliseconds since Unix epoch.
-        },
-        "isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not.
-      },
-      "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
-      "subscriptionId": "A String", # The id of the subscription.
-      "customerId": "A String", # The id of the customer to whom the subscription belongs.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="changeRenewalSettings">changeRenewalSettings(customerId, subscriptionId, body)</code>
-  <pre>Changes the renewal settings of a subscription
-
-Args:
-  customerId: string, Id of the Customer (required)
-  subscriptionId: string, Id of the subscription, which is unique for a customer (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # JSON template for a subscription renewal settings.
-  "kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting.
-  "renewalType": "A String", # Subscription renewal type.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # JSON template for a subscription.
-      "renewalSettings": { # JSON template for a subscription renewal settings. # Renewal settings of the subscription.
-        "kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting.
-        "renewalType": "A String", # Subscription renewal type.
-      },
-      "skuId": "A String", # Name of the sku for which this subscription is purchased.
-      "kind": "reseller#subscription", # Identifies the resource as a Subscription.
-      "trialSettings": { # Trial Settings of the subscription.
-        "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch.
-        "isInTrial": True or False, # Whether the subscription is in trial.
-      },
-      "transferInfo": { # Transfer related information for the subscription.
-        "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire.
-        "minimumTransferableSeats": 42,
-      },
-      "resourceUiUrl": "A String", # Ui url for subscription resource.
-      "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan.
-        "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
-        "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
-        "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-      },
-      "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
-      "status": "A String", # Status of the subscription.
-      "plan": { # Plan details of the subscription
-        "planName": "A String", # The plan name of this subscription's plan.
-        "commitmentInterval": { # Interval of the commitment if it is a commitment plan.
-          "endTime": "A String", # End time of the commitment interval in milliseconds since Unix epoch.
-          "startTime": "A String", # Start time of the commitment interval in milliseconds since Unix epoch.
-        },
-        "isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not.
-      },
-      "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
-      "subscriptionId": "A String", # The id of the subscription.
-      "customerId": "A String", # The id of the customer to whom the subscription belongs.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="changeSeats">changeSeats(customerId, subscriptionId, body)</code>
-  <pre>Changes the seats configuration of a subscription
-
-Args:
-  customerId: string, Id of the Customer (required)
-  subscriptionId: string, Id of the subscription, which is unique for a customer (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # JSON template for subscription seats.
-  "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
-  "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
-  "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # JSON template for a subscription.
-      "renewalSettings": { # JSON template for a subscription renewal settings. # Renewal settings of the subscription.
-        "kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting.
-        "renewalType": "A String", # Subscription renewal type.
-      },
-      "skuId": "A String", # Name of the sku for which this subscription is purchased.
-      "kind": "reseller#subscription", # Identifies the resource as a Subscription.
-      "trialSettings": { # Trial Settings of the subscription.
-        "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch.
-        "isInTrial": True or False, # Whether the subscription is in trial.
-      },
-      "transferInfo": { # Transfer related information for the subscription.
-        "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire.
-        "minimumTransferableSeats": 42,
-      },
-      "resourceUiUrl": "A String", # Ui url for subscription resource.
-      "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan.
-        "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
-        "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
-        "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-      },
-      "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
-      "status": "A String", # Status of the subscription.
-      "plan": { # Plan details of the subscription
-        "planName": "A String", # The plan name of this subscription's plan.
-        "commitmentInterval": { # Interval of the commitment if it is a commitment plan.
-          "endTime": "A String", # End time of the commitment interval in milliseconds since Unix epoch.
-          "startTime": "A String", # Start time of the commitment interval in milliseconds since Unix epoch.
-        },
-        "isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not.
-      },
-      "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
-      "subscriptionId": "A String", # The id of the subscription.
-      "customerId": "A String", # The id of the customer to whom the subscription belongs.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(customerId, subscriptionId, deletionType)</code>
-  <pre>Cancels/Downgrades a subscription.
-
-Args:
-  customerId: string, Id of the Customer (required)
-  subscriptionId: string, Id of the subscription, which is unique for a customer (required)
-  deletionType: string, Whether the subscription is to be fully cancelled or downgraded (required)
-    Allowed values
-      cancel - Cancels the subscription immediately
-      downgrade - Downgrades a Google Apps for Business subscription to Google Apps
-      suspend - Suspends the subscriptions for 4 days before cancelling it
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(customerId, subscriptionId)</code>
-  <pre>Gets a subscription of the customer.
-
-Args:
-  customerId: string, Id of the Customer (required)
-  subscriptionId: string, Id of the subscription, which is unique for a customer (required)
-
-Returns:
-  An object of the form:
-
-    { # JSON template for a subscription.
-      "renewalSettings": { # JSON template for a subscription renewal settings. # Renewal settings of the subscription.
-        "kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting.
-        "renewalType": "A String", # Subscription renewal type.
-      },
-      "skuId": "A String", # Name of the sku for which this subscription is purchased.
-      "kind": "reseller#subscription", # Identifies the resource as a Subscription.
-      "trialSettings": { # Trial Settings of the subscription.
-        "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch.
-        "isInTrial": True or False, # Whether the subscription is in trial.
-      },
-      "transferInfo": { # Transfer related information for the subscription.
-        "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire.
-        "minimumTransferableSeats": 42,
-      },
-      "resourceUiUrl": "A String", # Ui url for subscription resource.
-      "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan.
-        "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
-        "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
-        "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-      },
-      "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
-      "status": "A String", # Status of the subscription.
-      "plan": { # Plan details of the subscription
-        "planName": "A String", # The plan name of this subscription's plan.
-        "commitmentInterval": { # Interval of the commitment if it is a commitment plan.
-          "endTime": "A String", # End time of the commitment interval in milliseconds since Unix epoch.
-          "startTime": "A String", # Start time of the commitment interval in milliseconds since Unix epoch.
-        },
-        "isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not.
-      },
-      "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
-      "subscriptionId": "A String", # The id of the subscription.
-      "customerId": "A String", # The id of the customer to whom the subscription belongs.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(customerId, body, customerAuthToken=None)</code>
-  <pre>Creates/Transfers a subscription for the customer.
-
-Args:
-  customerId: string, Id of the Customer (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # JSON template for a subscription.
-    "renewalSettings": { # JSON template for a subscription renewal settings. # Renewal settings of the subscription.
-      "kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting.
-      "renewalType": "A String", # Subscription renewal type.
-    },
-    "skuId": "A String", # Name of the sku for which this subscription is purchased.
-    "kind": "reseller#subscription", # Identifies the resource as a Subscription.
-    "trialSettings": { # Trial Settings of the subscription.
-      "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch.
-      "isInTrial": True or False, # Whether the subscription is in trial.
-    },
-    "transferInfo": { # Transfer related information for the subscription.
-      "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire.
-      "minimumTransferableSeats": 42,
-    },
-    "resourceUiUrl": "A String", # Ui url for subscription resource.
-    "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan.
-      "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
-      "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
-      "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-    },
-    "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
-    "status": "A String", # Status of the subscription.
-    "plan": { # Plan details of the subscription
-      "planName": "A String", # The plan name of this subscription's plan.
-      "commitmentInterval": { # Interval of the commitment if it is a commitment plan.
-        "endTime": "A String", # End time of the commitment interval in milliseconds since Unix epoch.
-        "startTime": "A String", # Start time of the commitment interval in milliseconds since Unix epoch.
-      },
-      "isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not.
-    },
-    "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
-    "subscriptionId": "A String", # The id of the subscription.
-    "customerId": "A String", # The id of the customer to whom the subscription belongs.
-  }
-
-  customerAuthToken: string, An auth token needed for transferring a subscription. Can be generated at https://www.google.com/a/cpanel/customer-domain/TransferToken. Optional.
-
-Returns:
-  An object of the form:
-
-    { # JSON template for a subscription.
-      "renewalSettings": { # JSON template for a subscription renewal settings. # Renewal settings of the subscription.
-        "kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting.
-        "renewalType": "A String", # Subscription renewal type.
-      },
-      "skuId": "A String", # Name of the sku for which this subscription is purchased.
-      "kind": "reseller#subscription", # Identifies the resource as a Subscription.
-      "trialSettings": { # Trial Settings of the subscription.
-        "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch.
-        "isInTrial": True or False, # Whether the subscription is in trial.
-      },
-      "transferInfo": { # Transfer related information for the subscription.
-        "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire.
-        "minimumTransferableSeats": 42,
-      },
-      "resourceUiUrl": "A String", # Ui url for subscription resource.
-      "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan.
-        "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
-        "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
-        "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-      },
-      "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
-      "status": "A String", # Status of the subscription.
-      "plan": { # Plan details of the subscription
-        "planName": "A String", # The plan name of this subscription's plan.
-        "commitmentInterval": { # Interval of the commitment if it is a commitment plan.
-          "endTime": "A String", # End time of the commitment interval in milliseconds since Unix epoch.
-          "startTime": "A String", # Start time of the commitment interval in milliseconds since Unix epoch.
-        },
-        "isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not.
-      },
-      "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
-      "subscriptionId": "A String", # The id of the subscription.
-      "customerId": "A String", # The id of the customer to whom the subscription belongs.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(customerAuthToken=None, pageToken=None, maxResults=None, customerNamePrefix=None, customerId=None)</code>
-  <pre>Lists subscriptions of a reseller, optionally filtered by a customer name prefix.
-
-Args:
-  customerAuthToken: string, An auth token needed if the customer is not a resold customer of this reseller. Can be generated at https://www.google.com/a/cpanel/customer-domain/TransferToken.Optional.
-  pageToken: string, Token to specify next page in the list
-  maxResults: integer, Maximum number of results to return
-  customerNamePrefix: string, Prefix of the customer's domain name by which the subscriptions should be filtered. Optional
-  customerId: string, Id of the Customer
-
-Returns:
-  An object of the form:
-
-    { # JSON template for a subscription list.
-    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
-    "kind": "reseller#subscriptions", # Identifies the resource as a collection of subscriptions.
-    "subscriptions": [ # The subscriptions in this page of results.
-      { # JSON template for a subscription.
-          "renewalSettings": { # JSON template for a subscription renewal settings. # Renewal settings of the subscription.
-            "kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting.
-            "renewalType": "A String", # Subscription renewal type.
-          },
-          "skuId": "A String", # Name of the sku for which this subscription is purchased.
-          "kind": "reseller#subscription", # Identifies the resource as a Subscription.
-          "trialSettings": { # Trial Settings of the subscription.
-            "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch.
-            "isInTrial": True or False, # Whether the subscription is in trial.
-          },
-          "transferInfo": { # Transfer related information for the subscription.
-            "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire.
-            "minimumTransferableSeats": 42,
-          },
-          "resourceUiUrl": "A String", # Ui url for subscription resource.
-          "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan.
-            "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
-            "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
-            "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-          },
-          "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
-          "status": "A String", # Status of the subscription.
-          "plan": { # Plan details of the subscription
-            "planName": "A String", # The plan name of this subscription's plan.
-            "commitmentInterval": { # Interval of the commitment if it is a commitment plan.
-              "endTime": "A String", # End time of the commitment interval in milliseconds since Unix epoch.
-              "startTime": "A String", # Start time of the commitment interval in milliseconds since Unix epoch.
-            },
-            "isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not.
-          },
-          "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
-          "subscriptionId": "A String", # The id of the subscription.
-          "customerId": "A String", # The id of the customer to whom the subscription belongs.
-        },
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="startPaidService">startPaidService(customerId, subscriptionId)</code>
-  <pre>Starts paid service of a trial subscription
-
-Args:
-  customerId: string, Id of the Customer (required)
-  subscriptionId: string, Id of the subscription, which is unique for a customer (required)
-
-Returns:
-  An object of the form:
-
-    { # JSON template for a subscription.
-      "renewalSettings": { # JSON template for a subscription renewal settings. # Renewal settings of the subscription.
-        "kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting.
-        "renewalType": "A String", # Subscription renewal type.
-      },
-      "skuId": "A String", # Name of the sku for which this subscription is purchased.
-      "kind": "reseller#subscription", # Identifies the resource as a Subscription.
-      "trialSettings": { # Trial Settings of the subscription.
-        "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch.
-        "isInTrial": True or False, # Whether the subscription is in trial.
-      },
-      "transferInfo": { # Transfer related information for the subscription.
-        "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire.
-        "minimumTransferableSeats": 42,
-      },
-      "resourceUiUrl": "A String", # Ui url for subscription resource.
-      "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan.
-        "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
-        "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
-        "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-      },
-      "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
-      "status": "A String", # Status of the subscription.
-      "plan": { # Plan details of the subscription
-        "planName": "A String", # The plan name of this subscription's plan.
-        "commitmentInterval": { # Interval of the commitment if it is a commitment plan.
-          "endTime": "A String", # End time of the commitment interval in milliseconds since Unix epoch.
-          "startTime": "A String", # Start time of the commitment interval in milliseconds since Unix epoch.
-        },
-        "isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not.
-      },
-      "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
-      "subscriptionId": "A String", # The id of the subscription.
-      "customerId": "A String", # The id of the customer to whom the subscription belongs.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/shopping_v1.html b/docs/dyn/shopping_v1.html
deleted file mode 100644
index 8a65e2d..0000000
--- a/docs/dyn/shopping_v1.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="shopping_v1.html">Search API For Shopping</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="shopping_v1.products.html">products()</a></code>
-</p>
-<p class="firstline">Returns the products Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/shopping_v1.products.html b/docs/dyn/shopping_v1.products.html
deleted file mode 100644
index 3749199..0000000
--- a/docs/dyn/shopping_v1.products.html
+++ /dev/null
@@ -1,999 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="shopping_v1.html">Search API For Shopping</a> . <a href="shopping_v1.products.html">products</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(source, accountId, productIdType, productId, taxonomy=None, recommendations_useGcsConfig=None, recommendations_include=None, location=None, recommendations_enabled=None, categories_enabled=None, attributeFilter=None, categories_useGcsConfig=None, thumbnails=None, categories_include=None)</a></code></p>
-<p class="firstline">Returns a single product</p>
-<p class="toc_element">
-  <code><a href="#list">list(source, facets_enabled=None, rankBy=None, taxonomy=None, promotions_enabled=None, channels=None, facets_discover=None, startIndex=None, availability=None, crowdBy=None, spelling_enabled=None, categoryRecommendations_category=None, extras_enabled=None, facets_includeEmptyBuckets=None, categoryRecommendations_enabled=None, extras_info=None, spelling_useGcsConfig=None, useCase=None, location=None, maxVariants=None, relatedQueries_enabled=None, facets_useGcsConfig=None, categoryRecommendations_useGcsConfig=None, boostBy=None, safe=None, maxResults=None, categories_enabled=None, attributeFilter=None, categoryRecommendations_include=None, categories_useGcsConfig=None, clickTracking=None, facets_include=None, thumbnails=None, language=None, currency=None, categories_include=None, redirects_enabled=None, restrictBy=None, q=None, redirects_useGcsConfig=None, country=None, relatedQueries_useGcsConfig=None, promotions_useGcsConfig=None)</a></code></p>
-<p class="firstline">Returns a list of products and content modules</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(source, accountId, productIdType, productId, taxonomy=None, recommendations_useGcsConfig=None, recommendations_include=None, location=None, recommendations_enabled=None, categories_enabled=None, attributeFilter=None, categories_useGcsConfig=None, thumbnails=None, categories_include=None)</code>
-  <pre>Returns a single product
-
-Args:
-  source: string, Query source (required)
-  accountId: integer, Merchant center account id (required)
-  productIdType: string, Type of productId (required)
-  productId: string, Id of product (required)
-  taxonomy: string, Merchant taxonomy
-  recommendations_useGcsConfig: boolean, This parameter is currently ignored
-  recommendations_include: string, Recommendation specification
-  location: string, Location used to determine tax and shipping
-  recommendations_enabled: boolean, Whether to return recommendation information
-  categories_enabled: boolean, Whether to return category information
-  attributeFilter: string, Comma separated list of attributes to return
-  categories_useGcsConfig: boolean, This parameter is currently ignored
-  thumbnails: string, Thumbnail specification
-  categories_include: string, Category specification
-
-Returns:
-  An object of the form:
-
-    {
-    "selfLink": "A String", # Self link of product when generated for a lookup request. Self link of product when generated for a search request.
-    "kind": "shopping#product", # The kind of item, always shopping#product.
-    "product": { # Product.
-      "queryMatched": True or False, # Whether this product matched the user query. Only set for the variant offers (if any) attached to a product offer.
-      "gtin": "A String", # The first GTIN of the product. Deprecated in favor of "gtins".
-      "images": [ # Images of product.
-        {
-          "status": "A String",
-          "link": "A String", # Link to product image.
-          "thumbnails": [ # Thumbnails of product image.
-            {
-              "content": "A String", # Content of thumbnail (only available for the first thumbnail of the top results if SAYT is enabled).
-              "width": 42, # Width of thumbnail (omitted if not specified in the request).
-              "link": "A String", # Link to thumbnail.
-              "height": 42, # Height of thumbnail (omitted if not specified in the request).
-            },
-          ],
-        },
-      ],
-      "inventories": [ # Inventories of product.
-        {
-          "installmentPrice": 3.14, # Installment price of product inventory.
-          "installmentMonths": 42, # Number of months for installment price.
-          "distance": 3.14, # Distance of product inventory.
-          "price": 3.14, # Price of product inventory.
-          "storeId": "A String", # Store ID of product inventory.
-          "tax": 3.14, # Tax of product inventory.
-          "shipping": 3.14, # Shipping cost of product inventory.
-          "currency": "A String", # Currency of product inventory (an ISO 4217 alphabetic code).
-          "salePrice": 3.14, # Sale price of product inventory.
-          "originalPrice": 3.14, # Original price of product inventory. Only returned for products that are on sale.
-          "distanceUnit": "A String", # Distance unit of product inventory.
-          "saleStartDate": "A String", # Sale start date.
-          "availability": "A String", # Availability of product inventory.
-          "channel": "A String", # Channel of product inventory (one of: online, local).
-          "saleEndDate": "A String", # Sale end date.
-        },
-      ],
-      "author": { # Author of product.
-        "name": "A String", # Name of product author.
-        "accountId": "A String", # Account id of product author.
-      },
-      "score": 3.14, # Google Internal
-      "condition": "A String", # Condition of product (one of: new, refurbished, used).
-      "providedId": "A String", # Merchant-provided id of product (available only with a cx source).
-      "internal8": [ # Google Internal.
-        "A String",
-      ],
-      "description": "A String", # Description of product.
-      "gtins": [ # List of all the product's GTINs (in GTIN-14 format).
-        "A String",
-      ],
-      "internal1": [ # Google Internal.
-        "A String",
-      ],
-      "brand": "A String", # Brand of product.
-      "internal3": "A String", # Google Internal.
-      "internal4": [ # Google Internal.
-        {
-          "node": 42, # Google Internal.
-          "confidence": 3.14, # Google Internal.
-        },
-      ],
-      "internal6": "A String", # Google Internal.
-      "internal7": True or False, # Google Internal.
-      "link": "A String", # Link to product.
-      "mpns": [ # List of all the product's MPNs.
-        "A String",
-      ],
-      "attributes": [ # Attributes of product (available only with a cx source).
-        {
-          "type": "A String", # Type of product attribute (one of: text, bool, int, float, dateRange, url).
-          "value": "", # Value of product attribute.
-          "displayName": "A String", # Display Name of prodct attribute.
-          "name": "A String", # Name of product attribute.
-          "unit": "A String", # Unit of product attribute.
-        },
-      ],
-      "totalMatchingVariants": 42, # The number of variant offers returned that matched the query.
-      "variants": [ # A list of variant offers associated with this product.
-        {
-          "variant": # Object with schema name: ShoppingModelProductJsonV1 # The detailed offer data for a particular variant offer.
-        },
-      ],
-      "modificationTime": "A String", # RFC 3339 formatted modification time and date of product.
-      "categories": [ # Categories of product according to the selected taxonomy, omitted if no taxonomy is selected.
-        "A String",
-      ],
-      "language": "A String", # BCP 47 language tag of language of product.
-      "country": "A String", # ISO 3166 code of target country of product.
-      "title": "A String", # Title of product.
-      "creationTime": "A String", # RFC 3339 formatted creation time and date of product.
-      "internal14": 3.14, # Google Internal.
-      "internal12": "A String", # Google Internal.
-      "internal13": 3.14, # Google Internal.
-      "internal10": [ # Google Internal.
-        "A String",
-      ],
-      "plusOne": "A String", # Code to add to the page to render the +1 content.
-      "internal16": { # Google Internal. Attribute names are deliberately vague.
-        "length": 42,
-        "number": 42,
-        "size": "A String",
-      },
-      "googleId": "A String", # Google id of product.
-      "internal15": 3.14, # Google Internal.
-    },
-    "requestId": "A String", # Unique identifier for this request.
-    "recommendations": [ # Recommendations for product.
-      {
-        "recommendationList": [ # List of recommendations.
-          {
-            "product": { # Recommended product.
-              "queryMatched": True or False, # Whether this product matched the user query. Only set for the variant offers (if any) attached to a product offer.
-              "gtin": "A String", # The first GTIN of the product. Deprecated in favor of "gtins".
-              "images": [ # Images of product.
-                {
-                  "status": "A String",
-                  "link": "A String", # Link to product image.
-                  "thumbnails": [ # Thumbnails of product image.
-                    {
-                      "content": "A String", # Content of thumbnail (only available for the first thumbnail of the top results if SAYT is enabled).
-                      "width": 42, # Width of thumbnail (omitted if not specified in the request).
-                      "link": "A String", # Link to thumbnail.
-                      "height": 42, # Height of thumbnail (omitted if not specified in the request).
-                    },
-                  ],
-                },
-              ],
-              "inventories": [ # Inventories of product.
-                {
-                  "installmentPrice": 3.14, # Installment price of product inventory.
-                  "installmentMonths": 42, # Number of months for installment price.
-                  "distance": 3.14, # Distance of product inventory.
-                  "price": 3.14, # Price of product inventory.
-                  "storeId": "A String", # Store ID of product inventory.
-                  "tax": 3.14, # Tax of product inventory.
-                  "shipping": 3.14, # Shipping cost of product inventory.
-                  "currency": "A String", # Currency of product inventory (an ISO 4217 alphabetic code).
-                  "salePrice": 3.14, # Sale price of product inventory.
-                  "originalPrice": 3.14, # Original price of product inventory. Only returned for products that are on sale.
-                  "distanceUnit": "A String", # Distance unit of product inventory.
-                  "saleStartDate": "A String", # Sale start date.
-                  "availability": "A String", # Availability of product inventory.
-                  "channel": "A String", # Channel of product inventory (one of: online, local).
-                  "saleEndDate": "A String", # Sale end date.
-                },
-              ],
-              "author": { # Author of product.
-                "name": "A String", # Name of product author.
-                "accountId": "A String", # Account id of product author.
-              },
-              "score": 3.14, # Google Internal
-              "condition": "A String", # Condition of product (one of: new, refurbished, used).
-              "providedId": "A String", # Merchant-provided id of product (available only with a cx source).
-              "internal8": [ # Google Internal.
-                "A String",
-              ],
-              "description": "A String", # Description of product.
-              "gtins": [ # List of all the product's GTINs (in GTIN-14 format).
-                "A String",
-              ],
-              "internal1": [ # Google Internal.
-                "A String",
-              ],
-              "brand": "A String", # Brand of product.
-              "internal3": "A String", # Google Internal.
-              "internal4": [ # Google Internal.
-                {
-                  "node": 42, # Google Internal.
-                  "confidence": 3.14, # Google Internal.
-                },
-              ],
-              "internal6": "A String", # Google Internal.
-              "internal7": True or False, # Google Internal.
-              "link": "A String", # Link to product.
-              "mpns": [ # List of all the product's MPNs.
-                "A String",
-              ],
-              "attributes": [ # Attributes of product (available only with a cx source).
-                {
-                  "type": "A String", # Type of product attribute (one of: text, bool, int, float, dateRange, url).
-                  "value": "", # Value of product attribute.
-                  "displayName": "A String", # Display Name of prodct attribute.
-                  "name": "A String", # Name of product attribute.
-                  "unit": "A String", # Unit of product attribute.
-                },
-              ],
-              "totalMatchingVariants": 42, # The number of variant offers returned that matched the query.
-              "variants": [ # A list of variant offers associated with this product.
-                {
-                  "variant": # Object with schema name: ShoppingModelProductJsonV1 # The detailed offer data for a particular variant offer.
-                },
-              ],
-              "modificationTime": "A String", # RFC 3339 formatted modification time and date of product.
-              "categories": [ # Categories of product according to the selected taxonomy, omitted if no taxonomy is selected.
-                "A String",
-              ],
-              "language": "A String", # BCP 47 language tag of language of product.
-              "country": "A String", # ISO 3166 code of target country of product.
-              "title": "A String", # Title of product.
-              "creationTime": "A String", # RFC 3339 formatted creation time and date of product.
-              "internal14": 3.14, # Google Internal.
-              "internal12": "A String", # Google Internal.
-              "internal13": 3.14, # Google Internal.
-              "internal10": [ # Google Internal.
-                "A String",
-              ],
-              "plusOne": "A String", # Code to add to the page to render the +1 content.
-              "internal16": { # Google Internal. Attribute names are deliberately vague.
-                "length": 42,
-                "number": 42,
-                "size": "A String",
-              },
-              "googleId": "A String", # Google id of product.
-              "internal15": 3.14, # Google Internal.
-            },
-          },
-        ],
-        "type": "A String", # Type of recommendation list (for offer-based recommendations, one of: all, purchaseToPurchase, visitToVisit, visitToPurchase, relatedItems; for category-based recommendations, one of: all, categoryMostVisited, categoryBestSeller).
-      },
-    ],
-    "debug": { # Google internal.
-      "recommendedItemsRequest": "A String", # Google internal.
-      "searchRequest": "A String", # Google internal.
-      "rdcResponse": "A String", # Google internal.
-      "facetsRequest": "A String", # Google internal.
-      "searchResponse": "A String", # Google internal.
-      "elapsedMillis": "A String", # Google internal.
-      "recommendedItemsResponse": "A String", # Google internal.
-      "facetsResponse": "A String", # Google internal.
-      "backendTimes": [ # Google internal
-        {
-          "serverMillis": "A String", # Google internal
-          "hostName": "A String", # Google internal
-          "name": "A String", # Google internal
-          "elapsedMillis": "A String", # Google internal
-        },
-      ],
-    },
-    "id": "A String", # Id of product.
-    "categories": [ # List of categories for product.
-      {
-        "url": "A String", # URL of category.
-        "shortName": "A String", # Short name of category.
-        "parents": [ # Ids of the parents of the category.
-          "A String",
-        ],
-        "id": "A String", # Id of category.
-      },
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(source, facets_enabled=None, rankBy=None, taxonomy=None, promotions_enabled=None, channels=None, facets_discover=None, startIndex=None, availability=None, crowdBy=None, spelling_enabled=None, categoryRecommendations_category=None, extras_enabled=None, facets_includeEmptyBuckets=None, categoryRecommendations_enabled=None, extras_info=None, spelling_useGcsConfig=None, useCase=None, location=None, maxVariants=None, relatedQueries_enabled=None, facets_useGcsConfig=None, categoryRecommendations_useGcsConfig=None, boostBy=None, safe=None, maxResults=None, categories_enabled=None, attributeFilter=None, categoryRecommendations_include=None, categories_useGcsConfig=None, clickTracking=None, facets_include=None, thumbnails=None, language=None, currency=None, categories_include=None, redirects_enabled=None, restrictBy=None, q=None, redirects_useGcsConfig=None, country=None, relatedQueries_useGcsConfig=None, promotions_useGcsConfig=None)</code>
-  <pre>Returns a list of products and content modules
-
-Args:
-  source: string, Query source (required)
-  facets_enabled: boolean, Whether to return facet information
-  rankBy: string, Ranking specification
-  taxonomy: string, Taxonomy name
-  promotions_enabled: boolean, Whether to return promotion information
-  channels: string, Channels specification
-  facets_discover: string, Facets to discover
-  startIndex: integer, Index (1-based) of first product to return
-  availability: string, Comma separated list of availabilities (outOfStock, limited, inStock, backOrder, preOrder, onDisplayToOrder) to return
-  crowdBy: string, Crowding specification
-  spelling_enabled: boolean, Whether to return spelling suggestions
-  categoryRecommendations_category: string, Category for which to retrieve recommendations
-  extras_enabled: boolean, Whether to return extra information.
-  facets_includeEmptyBuckets: boolean, Return empty facet buckets.
-  categoryRecommendations_enabled: boolean, Whether to return category recommendation information
-  extras_info: string, What extra information to return.
-  spelling_useGcsConfig: boolean, This parameter is currently ignored
-  useCase: string, One of CommerceSearchUseCase, ShoppingApiUseCase
-  location: string, Location used to determine tax and shipping
-  maxVariants: integer, Maximum number of variant results to return per result
-  relatedQueries_enabled: boolean, Whether to return related queries
-  facets_useGcsConfig: boolean, Whether to return facet information as configured in the GCS account
-  categoryRecommendations_useGcsConfig: boolean, This parameter is currently ignored
-  boostBy: string, Boosting specification
-  safe: boolean, Whether safe search is enabled. Default: true
-  maxResults: integer, Maximum number of results to return
-  categories_enabled: boolean, Whether to return category information
-  attributeFilter: string, Comma separated list of attributes to return
-  categoryRecommendations_include: string, Category recommendation specification
-  categories_useGcsConfig: boolean, This parameter is currently ignored
-  clickTracking: boolean, Whether to add a click tracking parameter to offer URLs
-  facets_include: string, Facets to include (applies when useGcsConfig == false)
-  thumbnails: string, Image thumbnails specification
-  language: string, Language restriction (BCP 47)
-  currency: string, Currency restriction (ISO 4217)
-  categories_include: string, Category specification
-  redirects_enabled: boolean, Whether to return redirect information
-  restrictBy: string, Restriction specification
-  q: string, Search query
-  redirects_useGcsConfig: boolean, Whether to return redirect information as configured in the GCS account
-  country: string, Country restriction (ISO 3166)
-  relatedQueries_useGcsConfig: boolean, This parameter is currently ignored
-  promotions_useGcsConfig: boolean, Whether to return promotion information as configured in the GCS account
-
-Returns:
-  An object of the form:
-
-    {
-    "redirects": [ # Redirects.
-      "A String",
-    ],
-    "stores": [ # List of returned stores.
-      {
-        "storeCode": "A String", # Merchant-supplied store code.
-        "name": "A String", # Name of merchant.
-        "storeName": "A String", # Name of store.
-        "storeId": "A String", # Id of store.
-        "telephone": "A String", # Telephone number of store.
-        "location": "A String", # Location of store.
-        "address": "A String", # Address of store.
-      },
-    ],
-    "relatedQueries": [ # Related queries.
-      "A String",
-    ],
-    "startIndex": 42, # 1-based index of the first item in the search results.
-    "categoryRecommendations": [ # Recommendations for category.
-      {
-        "recommendationList": [ # List of recommendations.
-          {
-            "product": { # Recommended product.
-              "queryMatched": True or False, # Whether this product matched the user query. Only set for the variant offers (if any) attached to a product offer.
-              "gtin": "A String", # The first GTIN of the product. Deprecated in favor of "gtins".
-              "images": [ # Images of product.
-                {
-                  "status": "A String",
-                  "link": "A String", # Link to product image.
-                  "thumbnails": [ # Thumbnails of product image.
-                    {
-                      "content": "A String", # Content of thumbnail (only available for the first thumbnail of the top results if SAYT is enabled).
-                      "width": 42, # Width of thumbnail (omitted if not specified in the request).
-                      "link": "A String", # Link to thumbnail.
-                      "height": 42, # Height of thumbnail (omitted if not specified in the request).
-                    },
-                  ],
-                },
-              ],
-              "inventories": [ # Inventories of product.
-                {
-                  "installmentPrice": 3.14, # Installment price of product inventory.
-                  "installmentMonths": 42, # Number of months for installment price.
-                  "distance": 3.14, # Distance of product inventory.
-                  "price": 3.14, # Price of product inventory.
-                  "storeId": "A String", # Store ID of product inventory.
-                  "tax": 3.14, # Tax of product inventory.
-                  "shipping": 3.14, # Shipping cost of product inventory.
-                  "currency": "A String", # Currency of product inventory (an ISO 4217 alphabetic code).
-                  "salePrice": 3.14, # Sale price of product inventory.
-                  "originalPrice": 3.14, # Original price of product inventory. Only returned for products that are on sale.
-                  "distanceUnit": "A String", # Distance unit of product inventory.
-                  "saleStartDate": "A String", # Sale start date.
-                  "availability": "A String", # Availability of product inventory.
-                  "channel": "A String", # Channel of product inventory (one of: online, local).
-                  "saleEndDate": "A String", # Sale end date.
-                },
-              ],
-              "author": { # Author of product.
-                "name": "A String", # Name of product author.
-                "accountId": "A String", # Account id of product author.
-              },
-              "score": 3.14, # Google Internal
-              "condition": "A String", # Condition of product (one of: new, refurbished, used).
-              "providedId": "A String", # Merchant-provided id of product (available only with a cx source).
-              "internal8": [ # Google Internal.
-                "A String",
-              ],
-              "description": "A String", # Description of product.
-              "gtins": [ # List of all the product's GTINs (in GTIN-14 format).
-                "A String",
-              ],
-              "internal1": [ # Google Internal.
-                "A String",
-              ],
-              "brand": "A String", # Brand of product.
-              "internal3": "A String", # Google Internal.
-              "internal4": [ # Google Internal.
-                {
-                  "node": 42, # Google Internal.
-                  "confidence": 3.14, # Google Internal.
-                },
-              ],
-              "internal6": "A String", # Google Internal.
-              "internal7": True or False, # Google Internal.
-              "link": "A String", # Link to product.
-              "mpns": [ # List of all the product's MPNs.
-                "A String",
-              ],
-              "attributes": [ # Attributes of product (available only with a cx source).
-                {
-                  "type": "A String", # Type of product attribute (one of: text, bool, int, float, dateRange, url).
-                  "value": "", # Value of product attribute.
-                  "displayName": "A String", # Display Name of prodct attribute.
-                  "name": "A String", # Name of product attribute.
-                  "unit": "A String", # Unit of product attribute.
-                },
-              ],
-              "totalMatchingVariants": 42, # The number of variant offers returned that matched the query.
-              "variants": [ # A list of variant offers associated with this product.
-                {
-                  "variant": # Object with schema name: ShoppingModelProductJsonV1 # The detailed offer data for a particular variant offer.
-                },
-              ],
-              "modificationTime": "A String", # RFC 3339 formatted modification time and date of product.
-              "categories": [ # Categories of product according to the selected taxonomy, omitted if no taxonomy is selected.
-                "A String",
-              ],
-              "language": "A String", # BCP 47 language tag of language of product.
-              "country": "A String", # ISO 3166 code of target country of product.
-              "title": "A String", # Title of product.
-              "creationTime": "A String", # RFC 3339 formatted creation time and date of product.
-              "internal14": 3.14, # Google Internal.
-              "internal12": "A String", # Google Internal.
-              "internal13": 3.14, # Google Internal.
-              "internal10": [ # Google Internal.
-                "A String",
-              ],
-              "plusOne": "A String", # Code to add to the page to render the +1 content.
-              "internal16": { # Google Internal. Attribute names are deliberately vague.
-                "length": 42,
-                "number": 42,
-                "size": "A String",
-              },
-              "googleId": "A String", # Google id of product.
-              "internal15": 3.14, # Google Internal.
-            },
-          },
-        ],
-        "type": "A String", # Type of recommendation list (for offer-based recommendations, one of: all, purchaseToPurchase, visitToVisit, visitToPurchase, relatedItems; for category-based recommendations, one of: all, categoryMostVisited, categoryBestSeller).
-      },
-    ],
-    "id": "tag:google.com,2010:shopping/products", # Id of feed.
-    "itemsPerPage": 42, # Number of items per page of results.
-    "nextLink": "A String", # Next link of feed.
-    "etag": "A String", # Etag of feed.
-    "requestId": "A String", # Unique identifier for this request.
-    "currentItemCount": 42, # Current item count.
-    "previousLink": "A String", # Previous link of feed.
-    "debug": { # Google internal.
-      "recommendedItemsRequest": "A String", # Google internal.
-      "searchRequest": "A String", # Google internal.
-      "rdcResponse": "A String", # Google internal.
-      "facetsRequest": "A String", # Google internal.
-      "searchResponse": "A String", # Google internal.
-      "elapsedMillis": "A String", # Google internal.
-      "recommendedItemsResponse": "A String", # Google internal.
-      "facetsResponse": "A String", # Google internal.
-      "backendTimes": [ # Google internal
-        {
-          "serverMillis": "A String", # Google internal
-          "hostName": "A String", # Google internal
-          "name": "A String", # Google internal
-          "elapsedMillis": "A String", # Google internal
-        },
-      ],
-    },
-    "spelling": { # Spelling.
-      "suggestion": "A String", # Suggestion for spelling.
-    },
-    "categories": [ # List of categories.
-      {
-        "url": "A String", # URL of category.
-        "shortName": "A String", # Short name of category.
-        "parents": [ # Ids of the parents of the category.
-          "A String",
-        ],
-        "id": "A String", # Id of category.
-      },
-    ],
-    "promotions": [ # List of promotions.
-      {
-        "product": { # Product of promotion (omitted if type is not product).
-          "queryMatched": True or False, # Whether this product matched the user query. Only set for the variant offers (if any) attached to a product offer.
-          "gtin": "A String", # The first GTIN of the product. Deprecated in favor of "gtins".
-          "images": [ # Images of product.
-            {
-              "status": "A String",
-              "link": "A String", # Link to product image.
-              "thumbnails": [ # Thumbnails of product image.
-                {
-                  "content": "A String", # Content of thumbnail (only available for the first thumbnail of the top results if SAYT is enabled).
-                  "width": 42, # Width of thumbnail (omitted if not specified in the request).
-                  "link": "A String", # Link to thumbnail.
-                  "height": 42, # Height of thumbnail (omitted if not specified in the request).
-                },
-              ],
-            },
-          ],
-          "inventories": [ # Inventories of product.
-            {
-              "installmentPrice": 3.14, # Installment price of product inventory.
-              "installmentMonths": 42, # Number of months for installment price.
-              "distance": 3.14, # Distance of product inventory.
-              "price": 3.14, # Price of product inventory.
-              "storeId": "A String", # Store ID of product inventory.
-              "tax": 3.14, # Tax of product inventory.
-              "shipping": 3.14, # Shipping cost of product inventory.
-              "currency": "A String", # Currency of product inventory (an ISO 4217 alphabetic code).
-              "salePrice": 3.14, # Sale price of product inventory.
-              "originalPrice": 3.14, # Original price of product inventory. Only returned for products that are on sale.
-              "distanceUnit": "A String", # Distance unit of product inventory.
-              "saleStartDate": "A String", # Sale start date.
-              "availability": "A String", # Availability of product inventory.
-              "channel": "A String", # Channel of product inventory (one of: online, local).
-              "saleEndDate": "A String", # Sale end date.
-            },
-          ],
-          "author": { # Author of product.
-            "name": "A String", # Name of product author.
-            "accountId": "A String", # Account id of product author.
-          },
-          "score": 3.14, # Google Internal
-          "condition": "A String", # Condition of product (one of: new, refurbished, used).
-          "providedId": "A String", # Merchant-provided id of product (available only with a cx source).
-          "internal8": [ # Google Internal.
-            "A String",
-          ],
-          "description": "A String", # Description of product.
-          "gtins": [ # List of all the product's GTINs (in GTIN-14 format).
-            "A String",
-          ],
-          "internal1": [ # Google Internal.
-            "A String",
-          ],
-          "brand": "A String", # Brand of product.
-          "internal3": "A String", # Google Internal.
-          "internal4": [ # Google Internal.
-            {
-              "node": 42, # Google Internal.
-              "confidence": 3.14, # Google Internal.
-            },
-          ],
-          "internal6": "A String", # Google Internal.
-          "internal7": True or False, # Google Internal.
-          "link": "A String", # Link to product.
-          "mpns": [ # List of all the product's MPNs.
-            "A String",
-          ],
-          "attributes": [ # Attributes of product (available only with a cx source).
-            {
-              "type": "A String", # Type of product attribute (one of: text, bool, int, float, dateRange, url).
-              "value": "", # Value of product attribute.
-              "displayName": "A String", # Display Name of prodct attribute.
-              "name": "A String", # Name of product attribute.
-              "unit": "A String", # Unit of product attribute.
-            },
-          ],
-          "totalMatchingVariants": 42, # The number of variant offers returned that matched the query.
-          "variants": [ # A list of variant offers associated with this product.
-            {
-              "variant": # Object with schema name: ShoppingModelProductJsonV1 # The detailed offer data for a particular variant offer.
-            },
-          ],
-          "modificationTime": "A String", # RFC 3339 formatted modification time and date of product.
-          "categories": [ # Categories of product according to the selected taxonomy, omitted if no taxonomy is selected.
-            "A String",
-          ],
-          "language": "A String", # BCP 47 language tag of language of product.
-          "country": "A String", # ISO 3166 code of target country of product.
-          "title": "A String", # Title of product.
-          "creationTime": "A String", # RFC 3339 formatted creation time and date of product.
-          "internal14": 3.14, # Google Internal.
-          "internal12": "A String", # Google Internal.
-          "internal13": 3.14, # Google Internal.
-          "internal10": [ # Google Internal.
-            "A String",
-          ],
-          "plusOne": "A String", # Code to add to the page to render the +1 content.
-          "internal16": { # Google Internal. Attribute names are deliberately vague.
-            "length": 42,
-            "number": 42,
-            "size": "A String",
-          },
-          "googleId": "A String", # Google id of product.
-          "internal15": 3.14, # Google Internal.
-        },
-        "description": "A String", # Description of promotion (omitted if type is not standard).
-        "imageLink": "A String", # Link to promotion image (omitted if type is not standard).
-        "destLink": "A String", # Link to promotion (omitted if type is not standard).
-        "customHtml": "A String", # Custom HTML of promotion (omitted if type is not custom).
-        "customFields": [ # List of custom fields of promotion.
-          {
-            "name": "A String", # Name of field.
-            "value": "A String", # Value of field.
-          },
-        ],
-        "type": "A String", # Type of promotion (one of: standard, product, custom).
-        "name": "A String", # Name of promotion (omitted if type is not standard).
-      },
-    ],
-    "kind": "shopping#products", # The fixed string "shopping#products". The kind of feed returned.
-    "items": [ # List of returned products.
-      {
-        "selfLink": "A String", # Self link of product when generated for a lookup request. Self link of product when generated for a search request.
-        "kind": "shopping#product", # The kind of item, always shopping#product.
-        "product": { # Product.
-          "queryMatched": True or False, # Whether this product matched the user query. Only set for the variant offers (if any) attached to a product offer.
-          "gtin": "A String", # The first GTIN of the product. Deprecated in favor of "gtins".
-          "images": [ # Images of product.
-            {
-              "status": "A String",
-              "link": "A String", # Link to product image.
-              "thumbnails": [ # Thumbnails of product image.
-                {
-                  "content": "A String", # Content of thumbnail (only available for the first thumbnail of the top results if SAYT is enabled).
-                  "width": 42, # Width of thumbnail (omitted if not specified in the request).
-                  "link": "A String", # Link to thumbnail.
-                  "height": 42, # Height of thumbnail (omitted if not specified in the request).
-                },
-              ],
-            },
-          ],
-          "inventories": [ # Inventories of product.
-            {
-              "installmentPrice": 3.14, # Installment price of product inventory.
-              "installmentMonths": 42, # Number of months for installment price.
-              "distance": 3.14, # Distance of product inventory.
-              "price": 3.14, # Price of product inventory.
-              "storeId": "A String", # Store ID of product inventory.
-              "tax": 3.14, # Tax of product inventory.
-              "shipping": 3.14, # Shipping cost of product inventory.
-              "currency": "A String", # Currency of product inventory (an ISO 4217 alphabetic code).
-              "salePrice": 3.14, # Sale price of product inventory.
-              "originalPrice": 3.14, # Original price of product inventory. Only returned for products that are on sale.
-              "distanceUnit": "A String", # Distance unit of product inventory.
-              "saleStartDate": "A String", # Sale start date.
-              "availability": "A String", # Availability of product inventory.
-              "channel": "A String", # Channel of product inventory (one of: online, local).
-              "saleEndDate": "A String", # Sale end date.
-            },
-          ],
-          "author": { # Author of product.
-            "name": "A String", # Name of product author.
-            "accountId": "A String", # Account id of product author.
-          },
-          "score": 3.14, # Google Internal
-          "condition": "A String", # Condition of product (one of: new, refurbished, used).
-          "providedId": "A String", # Merchant-provided id of product (available only with a cx source).
-          "internal8": [ # Google Internal.
-            "A String",
-          ],
-          "description": "A String", # Description of product.
-          "gtins": [ # List of all the product's GTINs (in GTIN-14 format).
-            "A String",
-          ],
-          "internal1": [ # Google Internal.
-            "A String",
-          ],
-          "brand": "A String", # Brand of product.
-          "internal3": "A String", # Google Internal.
-          "internal4": [ # Google Internal.
-            {
-              "node": 42, # Google Internal.
-              "confidence": 3.14, # Google Internal.
-            },
-          ],
-          "internal6": "A String", # Google Internal.
-          "internal7": True or False, # Google Internal.
-          "link": "A String", # Link to product.
-          "mpns": [ # List of all the product's MPNs.
-            "A String",
-          ],
-          "attributes": [ # Attributes of product (available only with a cx source).
-            {
-              "type": "A String", # Type of product attribute (one of: text, bool, int, float, dateRange, url).
-              "value": "", # Value of product attribute.
-              "displayName": "A String", # Display Name of prodct attribute.
-              "name": "A String", # Name of product attribute.
-              "unit": "A String", # Unit of product attribute.
-            },
-          ],
-          "totalMatchingVariants": 42, # The number of variant offers returned that matched the query.
-          "variants": [ # A list of variant offers associated with this product.
-            {
-              "variant": # Object with schema name: ShoppingModelProductJsonV1 # The detailed offer data for a particular variant offer.
-            },
-          ],
-          "modificationTime": "A String", # RFC 3339 formatted modification time and date of product.
-          "categories": [ # Categories of product according to the selected taxonomy, omitted if no taxonomy is selected.
-            "A String",
-          ],
-          "language": "A String", # BCP 47 language tag of language of product.
-          "country": "A String", # ISO 3166 code of target country of product.
-          "title": "A String", # Title of product.
-          "creationTime": "A String", # RFC 3339 formatted creation time and date of product.
-          "internal14": 3.14, # Google Internal.
-          "internal12": "A String", # Google Internal.
-          "internal13": 3.14, # Google Internal.
-          "internal10": [ # Google Internal.
-            "A String",
-          ],
-          "plusOne": "A String", # Code to add to the page to render the +1 content.
-          "internal16": { # Google Internal. Attribute names are deliberately vague.
-            "length": 42,
-            "number": 42,
-            "size": "A String",
-          },
-          "googleId": "A String", # Google id of product.
-          "internal15": 3.14, # Google Internal.
-        },
-        "requestId": "A String", # Unique identifier for this request.
-        "recommendations": [ # Recommendations for product.
-          {
-            "recommendationList": [ # List of recommendations.
-              {
-                "product": { # Recommended product.
-                  "queryMatched": True or False, # Whether this product matched the user query. Only set for the variant offers (if any) attached to a product offer.
-                  "gtin": "A String", # The first GTIN of the product. Deprecated in favor of "gtins".
-                  "images": [ # Images of product.
-                    {
-                      "status": "A String",
-                      "link": "A String", # Link to product image.
-                      "thumbnails": [ # Thumbnails of product image.
-                        {
-                          "content": "A String", # Content of thumbnail (only available for the first thumbnail of the top results if SAYT is enabled).
-                          "width": 42, # Width of thumbnail (omitted if not specified in the request).
-                          "link": "A String", # Link to thumbnail.
-                          "height": 42, # Height of thumbnail (omitted if not specified in the request).
-                        },
-                      ],
-                    },
-                  ],
-                  "inventories": [ # Inventories of product.
-                    {
-                      "installmentPrice": 3.14, # Installment price of product inventory.
-                      "installmentMonths": 42, # Number of months for installment price.
-                      "distance": 3.14, # Distance of product inventory.
-                      "price": 3.14, # Price of product inventory.
-                      "storeId": "A String", # Store ID of product inventory.
-                      "tax": 3.14, # Tax of product inventory.
-                      "shipping": 3.14, # Shipping cost of product inventory.
-                      "currency": "A String", # Currency of product inventory (an ISO 4217 alphabetic code).
-                      "salePrice": 3.14, # Sale price of product inventory.
-                      "originalPrice": 3.14, # Original price of product inventory. Only returned for products that are on sale.
-                      "distanceUnit": "A String", # Distance unit of product inventory.
-                      "saleStartDate": "A String", # Sale start date.
-                      "availability": "A String", # Availability of product inventory.
-                      "channel": "A String", # Channel of product inventory (one of: online, local).
-                      "saleEndDate": "A String", # Sale end date.
-                    },
-                  ],
-                  "author": { # Author of product.
-                    "name": "A String", # Name of product author.
-                    "accountId": "A String", # Account id of product author.
-                  },
-                  "score": 3.14, # Google Internal
-                  "condition": "A String", # Condition of product (one of: new, refurbished, used).
-                  "providedId": "A String", # Merchant-provided id of product (available only with a cx source).
-                  "internal8": [ # Google Internal.
-                    "A String",
-                  ],
-                  "description": "A String", # Description of product.
-                  "gtins": [ # List of all the product's GTINs (in GTIN-14 format).
-                    "A String",
-                  ],
-                  "internal1": [ # Google Internal.
-                    "A String",
-                  ],
-                  "brand": "A String", # Brand of product.
-                  "internal3": "A String", # Google Internal.
-                  "internal4": [ # Google Internal.
-                    {
-                      "node": 42, # Google Internal.
-                      "confidence": 3.14, # Google Internal.
-                    },
-                  ],
-                  "internal6": "A String", # Google Internal.
-                  "internal7": True or False, # Google Internal.
-                  "link": "A String", # Link to product.
-                  "mpns": [ # List of all the product's MPNs.
-                    "A String",
-                  ],
-                  "attributes": [ # Attributes of product (available only with a cx source).
-                    {
-                      "type": "A String", # Type of product attribute (one of: text, bool, int, float, dateRange, url).
-                      "value": "", # Value of product attribute.
-                      "displayName": "A String", # Display Name of prodct attribute.
-                      "name": "A String", # Name of product attribute.
-                      "unit": "A String", # Unit of product attribute.
-                    },
-                  ],
-                  "totalMatchingVariants": 42, # The number of variant offers returned that matched the query.
-                  "variants": [ # A list of variant offers associated with this product.
-                    {
-                      "variant": # Object with schema name: ShoppingModelProductJsonV1 # The detailed offer data for a particular variant offer.
-                    },
-                  ],
-                  "modificationTime": "A String", # RFC 3339 formatted modification time and date of product.
-                  "categories": [ # Categories of product according to the selected taxonomy, omitted if no taxonomy is selected.
-                    "A String",
-                  ],
-                  "language": "A String", # BCP 47 language tag of language of product.
-                  "country": "A String", # ISO 3166 code of target country of product.
-                  "title": "A String", # Title of product.
-                  "creationTime": "A String", # RFC 3339 formatted creation time and date of product.
-                  "internal14": 3.14, # Google Internal.
-                  "internal12": "A String", # Google Internal.
-                  "internal13": 3.14, # Google Internal.
-                  "internal10": [ # Google Internal.
-                    "A String",
-                  ],
-                  "plusOne": "A String", # Code to add to the page to render the +1 content.
-                  "internal16": { # Google Internal. Attribute names are deliberately vague.
-                    "length": 42,
-                    "number": 42,
-                    "size": "A String",
-                  },
-                  "googleId": "A String", # Google id of product.
-                  "internal15": 3.14, # Google Internal.
-                },
-              },
-            ],
-            "type": "A String", # Type of recommendation list (for offer-based recommendations, one of: all, purchaseToPurchase, visitToVisit, visitToPurchase, relatedItems; for category-based recommendations, one of: all, categoryMostVisited, categoryBestSeller).
-          },
-        ],
-        "debug": { # Google internal.
-          "recommendedItemsRequest": "A String", # Google internal.
-          "searchRequest": "A String", # Google internal.
-          "rdcResponse": "A String", # Google internal.
-          "facetsRequest": "A String", # Google internal.
-          "searchResponse": "A String", # Google internal.
-          "elapsedMillis": "A String", # Google internal.
-          "recommendedItemsResponse": "A String", # Google internal.
-          "facetsResponse": "A String", # Google internal.
-          "backendTimes": [ # Google internal
-            {
-              "serverMillis": "A String", # Google internal
-              "hostName": "A String", # Google internal
-              "name": "A String", # Google internal
-              "elapsedMillis": "A String", # Google internal
-            },
-          ],
-        },
-        "id": "A String", # Id of product.
-        "categories": [ # List of categories for product.
-          {
-            "url": "A String", # URL of category.
-            "shortName": "A String", # Short name of category.
-            "parents": [ # Ids of the parents of the category.
-              "A String",
-            ],
-            "id": "A String", # Id of category.
-          },
-        ],
-      },
-    ],
-    "facets": [ # List of facets.
-      {
-        "count": 42, # Number of products matching the query that have a value for the facet's property or attribute.
-        "displayName": "A String", # Display name of facet.
-        "name": "A String", # Name of the facet's attribute (omitted for property facets).
-        "buckets": [ # List of Buckets within facet.
-          {
-            "count": 42, # Number of products matching the query that have a value for the facet's property or attribute that matches the bucket.
-            "minExclusive": True or False, # Whether the lower bound of the bucket is exclusive (omitted for value buckets or if the range has no lower bound).
-            "min": "", # Lower bound of the bucket (omitted for value buckets or if the range has no lower bound).
-            "max": "", # Upper bound of the bucket (omitted for value buckets or if the range has no upper bound).
-            "value": "", # Value of the bucket (omitted for range buckets).
-            "maxExclusive": True or False, # Whether the upper bound of the bucket is exclusive (omitted for value buckets or if the range has no upper bound).
-          },
-        ],
-        "property": "A String", # Property of facet (omitted for attribute facets).
-        "type": "A String", # Type of facet's attribute (omitted for property facets, one of: text, bool, int, float).
-        "unit": "A String", # Unit of the facet's property or attribute (omitted if the facet's property or attribute has no unit).
-      },
-    ],
-    "extras": { # List of extras.
-      "facetRules": [
-        {
-          "name": "A String",
-        },
-      ],
-      "rankingRules": [ # Names of boost (ranking) rules applicable to this search.
-        {
-          "name": "A String",
-        },
-      ],
-    },
-    "totalItems": 42, # Total number of search results.
-    "selfLink": "A String", # Self link of feed.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/siteVerification_v1.html b/docs/dyn/siteVerification_v1.html
deleted file mode 100644
index a9eb596..0000000
--- a/docs/dyn/siteVerification_v1.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="siteVerification_v1.html">Google Site Verification API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="siteVerification_v1.webResource.html">webResource()</a></code>
-</p>
-<p class="firstline">Returns the webResource Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/siteVerification_v1.webResource.html b/docs/dyn/siteVerification_v1.webResource.html
deleted file mode 100644
index 7149825..0000000
--- a/docs/dyn/siteVerification_v1.webResource.html
+++ /dev/null
@@ -1,289 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="siteVerification_v1.html">Google Site Verification API</a> . <a href="siteVerification_v1.webResource.html">webResource</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(id)</a></code></p>
-<p class="firstline">Relinquish ownership of a website or domain.</p>
-<p class="toc_element">
-  <code><a href="#get">get(id)</a></code></p>
-<p class="firstline">Get the most current data for a website or domain.</p>
-<p class="toc_element">
-  <code><a href="#getToken">getToken(body)</a></code></p>
-<p class="firstline">Get a verification token for placing on a website or domain.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(verificationMethod, body)</a></code></p>
-<p class="firstline">Attempt verification of a website or domain.</p>
-<p class="toc_element">
-  <code><a href="#list">list()</a></code></p>
-<p class="firstline">Get the list of your verified websites and domains.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(id, body)</a></code></p>
-<p class="firstline">Modify the list of owners for your website or domain. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(id, body)</a></code></p>
-<p class="firstline">Modify the list of owners for your website or domain.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(id)</code>
-  <pre>Relinquish ownership of a website or domain.
-
-Args:
-  id: string, The id of a verified site or domain. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(id)</code>
-  <pre>Get the most current data for a website or domain.
-
-Args:
-  id: string, The id of a verified site or domain. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "owners": [ # The email addresses of all verified owners.
-        "A String",
-      ],
-      "id": "A String", # The string used to identify this site. This value should be used in the "id" portion of the REST URL for the Get, Update, and Delete operations.
-      "site": { # The address and type of a site that is verified or will be verified.
-        "identifier": "A String", # The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.
-        "type": "A String", # The site type. Can be SITE or INET_DOMAIN (domain name).
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="getToken">getToken(body)</code>
-  <pre>Get a verification token for placing on a website or domain.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "verificationMethod": "A String", # The verification method that will be used to verify this site. For sites, 'FILE' or 'META' methods may be used. For domains, only 'DNS' may be used.
-    "site": { # The site for which a verification token will be generated.
-      "identifier": "A String", # The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.
-      "type": "A String", # The type of resource to be verified. Can be SITE or INET_DOMAIN (domain name).
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "token": "A String", # The verification token. The token must be placed appropriately in order for verification to succeed.
-    "method": "A String", # The verification method to use in conjunction with this token. For FILE, the token should be placed in the top-level directory of the site, stored inside a file of the same name. For META, the token should be placed in the HEAD tag of the default page that is loaded for the site. For DNS, the token should be placed in a TXT record of the domain.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(verificationMethod, body)</code>
-  <pre>Attempt verification of a website or domain.
-
-Args:
-  verificationMethod: string, The method to use for verifying a site or domain. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "owners": [ # The email addresses of all verified owners.
-      "A String",
-    ],
-    "id": "A String", # The string used to identify this site. This value should be used in the "id" portion of the REST URL for the Get, Update, and Delete operations.
-    "site": { # The address and type of a site that is verified or will be verified.
-      "identifier": "A String", # The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.
-      "type": "A String", # The site type. Can be SITE or INET_DOMAIN (domain name).
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "owners": [ # The email addresses of all verified owners.
-        "A String",
-      ],
-      "id": "A String", # The string used to identify this site. This value should be used in the "id" portion of the REST URL for the Get, Update, and Delete operations.
-      "site": { # The address and type of a site that is verified or will be verified.
-        "identifier": "A String", # The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.
-        "type": "A String", # The site type. Can be SITE or INET_DOMAIN (domain name).
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list()</code>
-  <pre>Get the list of your verified websites and domains.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # The list of sites that are owned by the authenticated user.
-      {
-          "owners": [ # The email addresses of all verified owners.
-            "A String",
-          ],
-          "id": "A String", # The string used to identify this site. This value should be used in the "id" portion of the REST URL for the Get, Update, and Delete operations.
-          "site": { # The address and type of a site that is verified or will be verified.
-            "identifier": "A String", # The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.
-            "type": "A String", # The site type. Can be SITE or INET_DOMAIN (domain name).
-          },
-        },
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(id, body)</code>
-  <pre>Modify the list of owners for your website or domain. This method supports patch semantics.
-
-Args:
-  id: string, The id of a verified site or domain. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "owners": [ # The email addresses of all verified owners.
-      "A String",
-    ],
-    "id": "A String", # The string used to identify this site. This value should be used in the "id" portion of the REST URL for the Get, Update, and Delete operations.
-    "site": { # The address and type of a site that is verified or will be verified.
-      "identifier": "A String", # The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.
-      "type": "A String", # The site type. Can be SITE or INET_DOMAIN (domain name).
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "owners": [ # The email addresses of all verified owners.
-        "A String",
-      ],
-      "id": "A String", # The string used to identify this site. This value should be used in the "id" portion of the REST URL for the Get, Update, and Delete operations.
-      "site": { # The address and type of a site that is verified or will be verified.
-        "identifier": "A String", # The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.
-        "type": "A String", # The site type. Can be SITE or INET_DOMAIN (domain name).
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(id, body)</code>
-  <pre>Modify the list of owners for your website or domain.
-
-Args:
-  id: string, The id of a verified site or domain. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "owners": [ # The email addresses of all verified owners.
-      "A String",
-    ],
-    "id": "A String", # The string used to identify this site. This value should be used in the "id" portion of the REST URL for the Get, Update, and Delete operations.
-    "site": { # The address and type of a site that is verified or will be verified.
-      "identifier": "A String", # The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.
-      "type": "A String", # The site type. Can be SITE or INET_DOMAIN (domain name).
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "owners": [ # The email addresses of all verified owners.
-        "A String",
-      ],
-      "id": "A String", # The string used to identify this site. This value should be used in the "id" portion of the REST URL for the Get, Update, and Delete operations.
-      "site": { # The address and type of a site that is verified or will be verified.
-        "identifier": "A String", # The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.
-        "type": "A String", # The site type. Can be SITE or INET_DOMAIN (domain name).
-      },
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta1.backupRuns.html b/docs/dyn/sqladmin_v1beta1.backupRuns.html
deleted file mode 100644
index d563e18..0000000
--- a/docs/dyn/sqladmin_v1beta1.backupRuns.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="sqladmin_v1beta1.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta1.backupRuns.html">backupRuns</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project, instance, backupConfiguration, dueTime)</a></code></p>
-<p class="firstline">Retrieves a resource containing information about a backup run.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, instance, backupConfiguration, maxResults=None, pageToken=None)</a></code></p>
-<p class="firstline">Lists all backup runs associated with a given instance and configuration in the reverse chronological order of the enqueued time.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project, instance, backupConfiguration, dueTime)</code>
-  <pre>Retrieves a resource containing information about a backup run.
-
-Args:
-  project: string, Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. (required)
-  instance: string, Database instance ID. This does not include the project ID. (required)
-  backupConfiguration: string, Identifier for the backup configuration. This gets generated automatically when a backup configuration is created. (required)
-  dueTime: string, The time when this run is due to start in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. (required)
-
-Returns:
-  An object of the form:
-
-    { # A database instance backup run resource.
-    "status": "A String", # The status of this run.
-    "kind": "sql#backupRun", # This is always sql#backupRun.
-    "backupConfiguration": "A String", # Backup Configuration identifier.
-    "instance": "A String", # Name of the database instance.
-    "startTime": "A String", # The time the backup operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
-    "error": { # Database instance operation error. # Information about why the backup operation failed. This is only present if the run has the FAILED status.
-      "kind": "sql#operationError", # This is always sql#operationError.
-      "code": "A String", # Identifies the specific error that occurred.
-    },
-    "endTime": "A String", # The time the backup operation completed in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
-    "enqueuedTime": "A String", # The time the run was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
-    "dueTime": "A String", # The due time of this run in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, instance, backupConfiguration, maxResults=None, pageToken=None)</code>
-  <pre>Lists all backup runs associated with a given instance and configuration in the reverse chronological order of the enqueued time.
-
-Args:
-  project: string, Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. (required)
-  instance: string, Database instance ID. This does not include the project ID. (required)
-  backupConfiguration: string, Identifier for the backup configuration. This gets generated automatically when a backup configuration is created. (required)
-  maxResults: integer, Maximum number of backup runs per response.
-  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
-
-Returns:
-  An object of the form:
-
-    { # Backup run list results.
-    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
-    "items": [ # A list of backup runs in reverse chronological order of the enqueued time.
-      { # A database instance backup run resource.
-        "status": "A String", # The status of this run.
-        "kind": "sql#backupRun", # This is always sql#backupRun.
-        "backupConfiguration": "A String", # Backup Configuration identifier.
-        "instance": "A String", # Name of the database instance.
-        "startTime": "A String", # The time the backup operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
-        "error": { # Database instance operation error. # Information about why the backup operation failed. This is only present if the run has the FAILED status.
-          "kind": "sql#operationError", # This is always sql#operationError.
-          "code": "A String", # Identifies the specific error that occurred.
-        },
-        "endTime": "A String", # The time the backup operation completed in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
-        "enqueuedTime": "A String", # The time the run was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
-        "dueTime": "A String", # The due time of this run in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
-      },
-    ],
-    "kind": "sql#backupRunsList", # This is always sql#backupRunsList.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta1.html b/docs/dyn/sqladmin_v1beta1.html
deleted file mode 100644
index c3d98c0..0000000
--- a/docs/dyn/sqladmin_v1beta1.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="sqladmin_v1beta1.html">Cloud SQL Administration API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="sqladmin_v1beta1.backupRuns.html">backupRuns()</a></code>
-</p>
-<p class="firstline">Returns the backupRuns Resource.</p>
-
-<p class="toc_element">
-  <code><a href="sqladmin_v1beta1.instances.html">instances()</a></code>
-</p>
-<p class="firstline">Returns the instances Resource.</p>
-
-<p class="toc_element">
-  <code><a href="sqladmin_v1beta1.operations.html">operations()</a></code>
-</p>
-<p class="firstline">Returns the operations Resource.</p>
-
-<p class="toc_element">
-  <code><a href="sqladmin_v1beta1.tiers.html">tiers()</a></code>
-</p>
-<p class="firstline">Returns the tiers Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta1.instances.html b/docs/dyn/sqladmin_v1beta1.instances.html
deleted file mode 100644
index f99ea80..0000000
--- a/docs/dyn/sqladmin_v1beta1.instances.html
+++ /dev/null
@@ -1,521 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="sqladmin_v1beta1.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta1.instances.html">instances</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, instance)</a></code></p>
-<p class="firstline">Deletes a database instance.</p>
-<p class="toc_element">
-  <code><a href="#export">export(project, instance, body)</a></code></p>
-<p class="firstline">Exports data from a database instance to a Google Cloud Storage bucket as a MySQL dump file.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, instance)</a></code></p>
-<p class="firstline">Retrieves a resource containing information about a database instance.</p>
-<p class="toc_element">
-  <code><a href="#import_">import_(project, instance, body)</a></code></p>
-<p class="firstline">Imports data into a database instance from a MySQL dump file in Google Cloud Storage.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body)</a></code></p>
-<p class="firstline">Creates a new database instance.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Lists instances under a given project in the alphabetical order of the instance name.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(project, instance, body)</a></code></p>
-<p class="firstline">Updates settings of a database instance. Caution: This is not a partial update, so you must include values for all the settings that you want to retain. For partial updates, use patch.. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#restart">restart(project, instance)</a></code></p>
-<p class="firstline">Restarts a database instance.</p>
-<p class="toc_element">
-  <code><a href="#restoreBackup">restoreBackup(project, instance, backupConfiguration, dueTime)</a></code></p>
-<p class="firstline">Restores a backup of a database instance.</p>
-<p class="toc_element">
-  <code><a href="#update">update(project, instance, body)</a></code></p>
-<p class="firstline">Updates settings of a database instance. Caution: This is not a partial update, so you must include values for all the settings that you want to retain. For partial updates, use patch.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, instance)</code>
-  <pre>Deletes a database instance.
-
-Args:
-  project: string, Project ID of the project that contains the instance to be deleted. You can find this on the project summary page of the Google APIs Console. (required)
-  instance: string, Database instance ID. This does not include the project ID. (required)
-
-Returns:
-  An object of the form:
-
-    { # Database instance delete response.
-    "kind": "sql#instancesDelete", # This is always sql#instancesDelete.
-    "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="export">export(project, instance, body)</code>
-  <pre>Exports data from a database instance to a Google Cloud Storage bucket as a MySQL dump file.
-
-Args:
-  project: string, Project ID of the project that contains the instance to be exported. You can find this on the project summary page of the Google APIs Console. (required)
-  instance: string, Database instance ID. This does not include the project ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Database instance export request.
-    "exportContext": { # Database instance export context. # Contains details about the export operation.
-      "table": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
-        "A String",
-      ],
-      "kind": "sql#exportContext", # This is always sql#exportContext.
-      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored, or where it was already stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If the filename ends with .gz, the contents are compressed.
-      "database": [ # Databases (for example, guestbook) from which the export is made. If unspecified, all databases are exported.
-        "A String",
-      ],
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Database instance export response.
-    "kind": "sql#instancesExport", # This is always sql#instancesExport.
-    "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, instance)</code>
-  <pre>Retrieves a resource containing information about a database instance.
-
-Args:
-  project: string, Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. (required)
-  instance: string, Database instance ID. This does not include the project ID. (required)
-
-Returns:
-  An object of the form:
-
-    { # A database instance resource.
-      "project": "A String", # The project ID of the project containing the database instance. The Google apps domain is prefixed if applicable. You can find this on the project summary page of the Google APIs Console.
-      "kind": "sql#instance", # This is always sql#instance.
-      "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
-      "settings": { # Database instance settings. # The user settings.
-        "kind": "sql#settings", # This is always sql#settings.
-        "authorizedGaeApplications": [ # The AppEngine app ids that can access this instance.
-          "A String",
-        ],
-        "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following.
-            # ALWAYS: The instance should always be active.
-            # NEVER: The instance should never be activated.
-            # ON_DEMAND: The instance is activated upon receiving requests.
-        "backupConfiguration": [ # The daily backup configuration for the instance.
-          { # Database instance backup configuration.
-            "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration.
-            "enabled": True or False, # Whether this configuration is enabled.
-            "id": "A String", # Identifier for this configuration. This gets generated automatically when a backup configuration is created.
-            "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
-          },
-        ],
-        "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE.
-        "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS.
-        "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing.
-      },
-      "region": "A String", # The geographical region. Can be us-east1 or europe-west1. Defaults to us-east1. The region can not be changed after instance creation.
-      "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
-      "instance": "A String", # Name of the database instance. This does not include the project ID.
-      "state": "A String", # The current serving state of the database instance. This can be one of the following.
-          # RUNNABLE: The instance is running, or is ready to run when accessed.
-          # SUSPENDED: The instance is not available, for example due to problems with billing.
-          # PENDING_CREATE: The instance is being created.
-          # MAINTENANCE: The instance is down for maintenance.
-          # UNKNOWN_STATE: The state of the instance is unknown.
-      "etag": "A String", # Etag for this resource - a version number for the settings object in this resource. This field has no effect when passed as a request parameter. Instead, the contents of this field should be passed in an 'If-Match' http header for use in optimistic locking.
-      "databaseVersion": "A String", # The database engine type and version, for example MYSQL_5_5 for MySQL 5.5.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="import_">import_(project, instance, body)</code>
-  <pre>Imports data into a database instance from a MySQL dump file in Google Cloud Storage.
-
-Args:
-  project: string, Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. (required)
-  instance: string, Database instance ID. This does not include the project ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Database instance import request.
-    "importContext": { # Database instance import context. # Contains details about the import operation.
-      "kind": "sql#importContext", # This is always sql#importContext.
-      "uri": [ # A path to the MySQL dump file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported.
-        "A String",
-      ],
-      "database": "A String", # The database (for example, guestbook) to which the import is made. If not set, it is assumed that the database is specified in the file to be imported.
-    },
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Database instance import response.
-    "kind": "sql#instancesImport", # This is always sql#instancesImport.
-    "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body)</code>
-  <pre>Creates a new database instance.
-
-Args:
-  project: string, Project ID of the project to which the newly created database instances should belong. You can find this on the project summary page of the Google APIs Console. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A database instance resource.
-    "project": "A String", # The project ID of the project containing the database instance. The Google apps domain is prefixed if applicable. You can find this on the project summary page of the Google APIs Console.
-    "kind": "sql#instance", # This is always sql#instance.
-    "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
-    "settings": { # Database instance settings. # The user settings.
-      "kind": "sql#settings", # This is always sql#settings.
-      "authorizedGaeApplications": [ # The AppEngine app ids that can access this instance.
-        "A String",
-      ],
-      "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following.
-          # ALWAYS: The instance should always be active.
-          # NEVER: The instance should never be activated.
-          # ON_DEMAND: The instance is activated upon receiving requests.
-      "backupConfiguration": [ # The daily backup configuration for the instance.
-        { # Database instance backup configuration.
-          "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration.
-          "enabled": True or False, # Whether this configuration is enabled.
-          "id": "A String", # Identifier for this configuration. This gets generated automatically when a backup configuration is created.
-          "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
-        },
-      ],
-      "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE.
-      "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS.
-      "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing.
-    },
-    "region": "A String", # The geographical region. Can be us-east1 or europe-west1. Defaults to us-east1. The region can not be changed after instance creation.
-    "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
-    "instance": "A String", # Name of the database instance. This does not include the project ID.
-    "state": "A String", # The current serving state of the database instance. This can be one of the following.
-        # RUNNABLE: The instance is running, or is ready to run when accessed.
-        # SUSPENDED: The instance is not available, for example due to problems with billing.
-        # PENDING_CREATE: The instance is being created.
-        # MAINTENANCE: The instance is down for maintenance.
-        # UNKNOWN_STATE: The state of the instance is unknown.
-    "etag": "A String", # Etag for this resource - a version number for the settings object in this resource. This field has no effect when passed as a request parameter. Instead, the contents of this field should be passed in an 'If-Match' http header for use in optimistic locking.
-    "databaseVersion": "A String", # The database engine type and version, for example MYSQL_5_5 for MySQL 5.5.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Database instance insert response.
-    "kind": "sql#instancesInsert", # This is always sql#instancesInsert.
-    "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, pageToken=None, maxResults=None)</code>
-  <pre>Lists instances under a given project in the alphabetical order of the instance name.
-
-Args:
-  project: string, Project ID of the project for which to list database instances. You can find this on the project summary page of the Google APIs Console. (required)
-  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
-  maxResults: integer, The maximum number of results to return per response.
-
-Returns:
-  An object of the form:
-
-    { # Database instances list response.
-    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
-    "items": [ # List of database instance resources.
-      { # A database instance resource.
-          "project": "A String", # The project ID of the project containing the database instance. The Google apps domain is prefixed if applicable. You can find this on the project summary page of the Google APIs Console.
-          "kind": "sql#instance", # This is always sql#instance.
-          "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
-          "settings": { # Database instance settings. # The user settings.
-            "kind": "sql#settings", # This is always sql#settings.
-            "authorizedGaeApplications": [ # The AppEngine app ids that can access this instance.
-              "A String",
-            ],
-            "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following.
-                # ALWAYS: The instance should always be active.
-                # NEVER: The instance should never be activated.
-                # ON_DEMAND: The instance is activated upon receiving requests.
-            "backupConfiguration": [ # The daily backup configuration for the instance.
-              { # Database instance backup configuration.
-                "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration.
-                "enabled": True or False, # Whether this configuration is enabled.
-                "id": "A String", # Identifier for this configuration. This gets generated automatically when a backup configuration is created.
-                "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
-              },
-            ],
-            "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE.
-            "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS.
-            "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing.
-          },
-          "region": "A String", # The geographical region. Can be us-east1 or europe-west1. Defaults to us-east1. The region can not be changed after instance creation.
-          "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
-          "instance": "A String", # Name of the database instance. This does not include the project ID.
-          "state": "A String", # The current serving state of the database instance. This can be one of the following.
-              # RUNNABLE: The instance is running, or is ready to run when accessed.
-              # SUSPENDED: The instance is not available, for example due to problems with billing.
-              # PENDING_CREATE: The instance is being created.
-              # MAINTENANCE: The instance is down for maintenance.
-              # UNKNOWN_STATE: The state of the instance is unknown.
-          "etag": "A String", # Etag for this resource - a version number for the settings object in this resource. This field has no effect when passed as a request parameter. Instead, the contents of this field should be passed in an 'If-Match' http header for use in optimistic locking.
-          "databaseVersion": "A String", # The database engine type and version, for example MYSQL_5_5 for MySQL 5.5.
-        },
-    ],
-    "kind": "sql#instancesList", # This is always sql#instancesList.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(project, instance, body)</code>
-  <pre>Updates settings of a database instance. Caution: This is not a partial update, so you must include values for all the settings that you want to retain. For partial updates, use patch.. This method supports patch semantics.
-
-Args:
-  project: string, Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. (required)
-  instance: string, Database instance ID. This does not include the project ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A database instance resource.
-    "project": "A String", # The project ID of the project containing the database instance. The Google apps domain is prefixed if applicable. You can find this on the project summary page of the Google APIs Console.
-    "kind": "sql#instance", # This is always sql#instance.
-    "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
-    "settings": { # Database instance settings. # The user settings.
-      "kind": "sql#settings", # This is always sql#settings.
-      "authorizedGaeApplications": [ # The AppEngine app ids that can access this instance.
-        "A String",
-      ],
-      "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following.
-          # ALWAYS: The instance should always be active.
-          # NEVER: The instance should never be activated.
-          # ON_DEMAND: The instance is activated upon receiving requests.
-      "backupConfiguration": [ # The daily backup configuration for the instance.
-        { # Database instance backup configuration.
-          "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration.
-          "enabled": True or False, # Whether this configuration is enabled.
-          "id": "A String", # Identifier for this configuration. This gets generated automatically when a backup configuration is created.
-          "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
-        },
-      ],
-      "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE.
-      "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS.
-      "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing.
-    },
-    "region": "A String", # The geographical region. Can be us-east1 or europe-west1. Defaults to us-east1. The region can not be changed after instance creation.
-    "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
-    "instance": "A String", # Name of the database instance. This does not include the project ID.
-    "state": "A String", # The current serving state of the database instance. This can be one of the following.
-        # RUNNABLE: The instance is running, or is ready to run when accessed.
-        # SUSPENDED: The instance is not available, for example due to problems with billing.
-        # PENDING_CREATE: The instance is being created.
-        # MAINTENANCE: The instance is down for maintenance.
-        # UNKNOWN_STATE: The state of the instance is unknown.
-    "etag": "A String", # Etag for this resource - a version number for the settings object in this resource. This field has no effect when passed as a request parameter. Instead, the contents of this field should be passed in an 'If-Match' http header for use in optimistic locking.
-    "databaseVersion": "A String", # The database engine type and version, for example MYSQL_5_5 for MySQL 5.5.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Database instance update response.
-    "kind": "sql#instancesUpdate", # This is always sql#instancesUpdate.
-    "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve information about the operation.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="restart">restart(project, instance)</code>
-  <pre>Restarts a database instance.
-
-Args:
-  project: string, Project ID of the project that contains the instance to be restarted. You can find this on the project summary page of the Google APIs Console. (required)
-  instance: string, Database instance ID. This does not include the project ID. (required)
-
-Returns:
-  An object of the form:
-
-    { # Database instance restart response.
-    "kind": "sql#instancesRestart", # This is always sql#instancesRestart.
-    "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="restoreBackup">restoreBackup(project, instance, backupConfiguration, dueTime)</code>
-  <pre>Restores a backup of a database instance.
-
-Args:
-  project: string, Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. (required)
-  instance: string, Database instance ID. This does not include the project ID. (required)
-  backupConfiguration: string, The identifier of the backup configuration. This gets generated automatically when a backup configuration is created. (required)
-  dueTime: string, The time when this run is due to start in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. (required)
-
-Returns:
-  An object of the form:
-
-    { # Database instance restore backup response.
-    "kind": "sql#instancesRestoreBackup", # This is always sql#instancesRestoreBackup.
-    "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(project, instance, body)</code>
-  <pre>Updates settings of a database instance. Caution: This is not a partial update, so you must include values for all the settings that you want to retain. For partial updates, use patch.
-
-Args:
-  project: string, Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. (required)
-  instance: string, Database instance ID. This does not include the project ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A database instance resource.
-    "project": "A String", # The project ID of the project containing the database instance. The Google apps domain is prefixed if applicable. You can find this on the project summary page of the Google APIs Console.
-    "kind": "sql#instance", # This is always sql#instance.
-    "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
-    "settings": { # Database instance settings. # The user settings.
-      "kind": "sql#settings", # This is always sql#settings.
-      "authorizedGaeApplications": [ # The AppEngine app ids that can access this instance.
-        "A String",
-      ],
-      "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following.
-          # ALWAYS: The instance should always be active.
-          # NEVER: The instance should never be activated.
-          # ON_DEMAND: The instance is activated upon receiving requests.
-      "backupConfiguration": [ # The daily backup configuration for the instance.
-        { # Database instance backup configuration.
-          "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration.
-          "enabled": True or False, # Whether this configuration is enabled.
-          "id": "A String", # Identifier for this configuration. This gets generated automatically when a backup configuration is created.
-          "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
-        },
-      ],
-      "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE.
-      "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS.
-      "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing.
-    },
-    "region": "A String", # The geographical region. Can be us-east1 or europe-west1. Defaults to us-east1. The region can not be changed after instance creation.
-    "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
-    "instance": "A String", # Name of the database instance. This does not include the project ID.
-    "state": "A String", # The current serving state of the database instance. This can be one of the following.
-        # RUNNABLE: The instance is running, or is ready to run when accessed.
-        # SUSPENDED: The instance is not available, for example due to problems with billing.
-        # PENDING_CREATE: The instance is being created.
-        # MAINTENANCE: The instance is down for maintenance.
-        # UNKNOWN_STATE: The state of the instance is unknown.
-    "etag": "A String", # Etag for this resource - a version number for the settings object in this resource. This field has no effect when passed as a request parameter. Instead, the contents of this field should be passed in an 'If-Match' http header for use in optimistic locking.
-    "databaseVersion": "A String", # The database engine type and version, for example MYSQL_5_5 for MySQL 5.5.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # Database instance update response.
-    "kind": "sql#instancesUpdate", # This is always sql#instancesUpdate.
-    "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve information about the operation.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta1.operations.html b/docs/dyn/sqladmin_v1beta1.operations.html
deleted file mode 100644
index 4c7b620..0000000
--- a/docs/dyn/sqladmin_v1beta1.operations.html
+++ /dev/null
@@ -1,204 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="sqladmin_v1beta1.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta1.operations.html">operations</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project, instance, operation)</a></code></p>
-<p class="firstline">Retrieves an instance operation that has been performed on an instance.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, instance, maxResults=None, pageToken=None)</a></code></p>
-<p class="firstline">Lists all instance operations that have been performed on the given database instance in the reverse chronological order of the start time.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project, instance, operation)</code>
-  <pre>Retrieves an instance operation that has been performed on an instance.
-
-Args:
-  project: string, Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. (required)
-  instance: string, Database instance ID. This does not include the project ID. (required)
-  operation: string, Instance operation ID. (required)
-
-Returns:
-  An object of the form:
-
-    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
-    "importContext": { # Database instance import context. # The context for import operation, if applicable.
-      "kind": "sql#importContext", # This is always sql#importContext.
-      "uri": [ # A path to the MySQL dump file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported.
-        "A String",
-      ],
-      "database": "A String", # The database (for example, guestbook) to which the import is made. If not set, it is assumed that the database is specified in the file to be imported.
-    },
-    "kind": "sql#instanceOperation", # This is always sql#instanceOperation.
-    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
-    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
-      "table": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
-        "A String",
-      ],
-      "kind": "sql#exportContext", # This is always sql#exportContext.
-      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored, or where it was already stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If the filename ends with .gz, the contents are compressed.
-      "database": [ # Databases (for example, guestbook) from which the export is made. If unspecified, all databases are exported.
-        "A String",
-      ],
-    },
-    "instance": "A String", # Name of the database instance.
-    "state": "A String", # The state of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
-    "operationType": "A String", # The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
-    "error": [ # The error(s) encountered by this operation. Only set if the operation results in an error.
-      { # Database instance operation error.
-        "kind": "sql#operationError", # This is always sql#operationError.
-        "code": "A String", # Identifies the specific error that occurred.
-      },
-    ],
-    "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
-    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
-    "enqueuedTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
-    "userEmailAddress": "A String", # The email address of the user who initiated this operation.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, instance, maxResults=None, pageToken=None)</code>
-  <pre>Lists all instance operations that have been performed on the given database instance in the reverse chronological order of the start time.
-
-Args:
-  project: string, Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. (required)
-  instance: string, Database instance ID. This does not include the project ID. (required)
-  maxResults: integer, Maximum number of operations per response.
-  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
-
-Returns:
-  An object of the form:
-
-    { # Database instance list operations response.
-    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
-    "items": [ # List of operation resources.
-      { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
-        "importContext": { # Database instance import context. # The context for import operation, if applicable.
-          "kind": "sql#importContext", # This is always sql#importContext.
-          "uri": [ # A path to the MySQL dump file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported.
-            "A String",
-          ],
-          "database": "A String", # The database (for example, guestbook) to which the import is made. If not set, it is assumed that the database is specified in the file to be imported.
-        },
-        "kind": "sql#instanceOperation", # This is always sql#instanceOperation.
-        "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
-        "exportContext": { # Database instance export context. # The context for export operation, if applicable.
-          "table": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
-            "A String",
-          ],
-          "kind": "sql#exportContext", # This is always sql#exportContext.
-          "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored, or where it was already stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If the filename ends with .gz, the contents are compressed.
-          "database": [ # Databases (for example, guestbook) from which the export is made. If unspecified, all databases are exported.
-            "A String",
-          ],
-        },
-        "instance": "A String", # Name of the database instance.
-        "state": "A String", # The state of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
-        "operationType": "A String", # The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
-        "error": [ # The error(s) encountered by this operation. Only set if the operation results in an error.
-          { # Database instance operation error.
-            "kind": "sql#operationError", # This is always sql#operationError.
-            "code": "A String", # Identifies the specific error that occurred.
-          },
-        ],
-        "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
-        "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
-        "enqueuedTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
-        "userEmailAddress": "A String", # The email address of the user who initiated this operation.
-      },
-    ],
-    "kind": "sql#operationsList", # This is always sql#operationsList.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta1.tiers.html b/docs/dyn/sqladmin_v1beta1.tiers.html
deleted file mode 100644
index 6db623c..0000000
--- a/docs/dyn/sqladmin_v1beta1.tiers.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="sqladmin_v1beta1.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta1.tiers.html">tiers</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list()</a></code></p>
-<p class="firstline">Lists all available service tiers for Google Cloud SQL, for example D1, D2. For related information, see Pricing.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list()</code>
-  <pre>Lists all available service tiers for Google Cloud SQL, for example D1, D2. For related information, see Pricing.
-
-Args:
-
-Returns:
-  An object of the form:
-
-    { # Tiers list response.
-    "items": [ # List of tiers.
-      { # A Google Cloud SQL service tier resource.
-        "DiskQuota": "A String", # The maximum disk size of this tier in bytes.
-        "tier": "A String", # An identifier for the service tier, for example D1, D2 etc. For related information, see Pricing.
-        "kind": "sql#tier", # This is always sql#tier.
-        "RAM": "A String", # The maximum RAM usage of this tier in bytes.
-        "region": [ # The applicable regions for this tier. Can be us-east1 and europe-west1.
-          "A String",
-        ],
-      },
-    ],
-    "kind": "sql#tiersList", # This is always sql#tiersList.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta1.bucketAccessControls.html b/docs/dyn/storage_v1beta1.bucketAccessControls.html
deleted file mode 100644
index 7232669..0000000
--- a/docs/dyn/storage_v1beta1.bucketAccessControls.html
+++ /dev/null
@@ -1,322 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="storage_v1beta1.html">Cloud Storage API</a> . <a href="storage_v1beta1.bucketAccessControls.html">bucketAccessControls</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(bucket, entity)</a></code></p>
-<p class="firstline">Deletes the ACL entry for the specified entity on the specified bucket.</p>
-<p class="toc_element">
-  <code><a href="#get">get(bucket, entity)</a></code></p>
-<p class="firstline">Returns the ACL entry for the specified entity on the specified bucket.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(bucket, body)</a></code></p>
-<p class="firstline">Creates a new ACL entry on the specified bucket.</p>
-<p class="toc_element">
-  <code><a href="#list">list(bucket)</a></code></p>
-<p class="firstline">Retrieves ACL entries on the specified bucket.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(bucket, entity, body)</a></code></p>
-<p class="firstline">Updates an ACL entry on the specified bucket. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(bucket, entity, body)</a></code></p>
-<p class="firstline">Updates an ACL entry on the specified bucket.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(bucket, entity)</code>
-  <pre>Deletes the ACL entry for the specified entity on the specified bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(bucket, entity)</code>
-  <pre>Returns the ACL entry for the specified entity on the specified bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-      "domain": "A String", # The domain associated with the entity, if any.
-      "bucket": "A String", # The name of the bucket.
-      "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-      "id": "A String", # The ID of the access-control entry.
-      "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-      "entityId": "A String", # The ID for the entity, if any.
-      "entity": "A String", # The entity holding the permission, in one of the following forms:
-          # - user-userId
-          # - user-email
-          # - group-groupId
-          # - group-email
-          # - allUsers
-          # - allAuthenticatedUsers
-      "email": "A String", # The email address associated with the entity, if any.
-      "selfLink": "A String", # The link to this access-control entry.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(bucket, body)</code>
-  <pre>Creates a new ACL entry on the specified bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An access-control entry.
-    "domain": "A String", # The domain associated with the entity, if any.
-    "bucket": "A String", # The name of the bucket.
-    "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-    "id": "A String", # The ID of the access-control entry.
-    "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-    "entityId": "A String", # The ID for the entity, if any.
-    "entity": "A String", # The entity holding the permission, in one of the following forms:
-        # - user-userId
-        # - user-email
-        # - group-groupId
-        # - group-email
-        # - allUsers
-        # - allAuthenticatedUsers
-    "email": "A String", # The email address associated with the entity, if any.
-    "selfLink": "A String", # The link to this access-control entry.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-      "domain": "A String", # The domain associated with the entity, if any.
-      "bucket": "A String", # The name of the bucket.
-      "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-      "id": "A String", # The ID of the access-control entry.
-      "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-      "entityId": "A String", # The ID for the entity, if any.
-      "entity": "A String", # The entity holding the permission, in one of the following forms:
-          # - user-userId
-          # - user-email
-          # - group-groupId
-          # - group-email
-          # - allUsers
-          # - allAuthenticatedUsers
-      "email": "A String", # The email address associated with the entity, if any.
-      "selfLink": "A String", # The link to this access-control entry.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(bucket)</code>
-  <pre>Retrieves ACL entries on the specified bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-
-Returns:
-  An object of the form:
-
-    { # An access-control list.
-    "items": [ # The list of items.
-      { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-          "id": "A String", # The ID of the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-          "entityId": "A String", # The ID for the entity, if any.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-    ],
-    "kind": "storage#bucketAccessControls", # The kind of item this is. For lists of bucket access control entries, this is always storage#bucketAccessControls.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(bucket, entity, body)</code>
-  <pre>Updates an ACL entry on the specified bucket. This method supports patch semantics.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An access-control entry.
-    "domain": "A String", # The domain associated with the entity, if any.
-    "bucket": "A String", # The name of the bucket.
-    "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-    "id": "A String", # The ID of the access-control entry.
-    "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-    "entityId": "A String", # The ID for the entity, if any.
-    "entity": "A String", # The entity holding the permission, in one of the following forms:
-        # - user-userId
-        # - user-email
-        # - group-groupId
-        # - group-email
-        # - allUsers
-        # - allAuthenticatedUsers
-    "email": "A String", # The email address associated with the entity, if any.
-    "selfLink": "A String", # The link to this access-control entry.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-      "domain": "A String", # The domain associated with the entity, if any.
-      "bucket": "A String", # The name of the bucket.
-      "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-      "id": "A String", # The ID of the access-control entry.
-      "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-      "entityId": "A String", # The ID for the entity, if any.
-      "entity": "A String", # The entity holding the permission, in one of the following forms:
-          # - user-userId
-          # - user-email
-          # - group-groupId
-          # - group-email
-          # - allUsers
-          # - allAuthenticatedUsers
-      "email": "A String", # The email address associated with the entity, if any.
-      "selfLink": "A String", # The link to this access-control entry.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(bucket, entity, body)</code>
-  <pre>Updates an ACL entry on the specified bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An access-control entry.
-    "domain": "A String", # The domain associated with the entity, if any.
-    "bucket": "A String", # The name of the bucket.
-    "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-    "id": "A String", # The ID of the access-control entry.
-    "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-    "entityId": "A String", # The ID for the entity, if any.
-    "entity": "A String", # The entity holding the permission, in one of the following forms:
-        # - user-userId
-        # - user-email
-        # - group-groupId
-        # - group-email
-        # - allUsers
-        # - allAuthenticatedUsers
-    "email": "A String", # The email address associated with the entity, if any.
-    "selfLink": "A String", # The link to this access-control entry.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-      "domain": "A String", # The domain associated with the entity, if any.
-      "bucket": "A String", # The name of the bucket.
-      "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-      "id": "A String", # The ID of the access-control entry.
-      "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-      "entityId": "A String", # The ID for the entity, if any.
-      "entity": "A String", # The entity holding the permission, in one of the following forms:
-          # - user-userId
-          # - user-email
-          # - group-groupId
-          # - group-email
-          # - allUsers
-          # - allAuthenticatedUsers
-      "email": "A String", # The email address associated with the entity, if any.
-      "selfLink": "A String", # The link to this access-control entry.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta1.buckets.html b/docs/dyn/storage_v1beta1.buckets.html
deleted file mode 100644
index e1773ed..0000000
--- a/docs/dyn/storage_v1beta1.buckets.html
+++ /dev/null
@@ -1,661 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="storage_v1beta1.html">Cloud Storage API</a> . <a href="storage_v1beta1.buckets.html">buckets</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(bucket)</a></code></p>
-<p class="firstline">Deletes an empty bucket.</p>
-<p class="toc_element">
-  <code><a href="#get">get(bucket, projection=None)</a></code></p>
-<p class="firstline">Returns metadata for the specified bucket.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(body, projection=None)</a></code></p>
-<p class="firstline">Creates a new bucket.</p>
-<p class="toc_element">
-  <code><a href="#list">list(projectId, projection=None, pageToken=None, max_results=None)</a></code></p>
-<p class="firstline">Retrieves a list of buckets for a given project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(bucket, body, projection=None)</a></code></p>
-<p class="firstline">Updates a bucket. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(bucket, body, projection=None)</a></code></p>
-<p class="firstline">Updates a bucket.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(bucket)</code>
-  <pre>Deletes an empty bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(bucket, projection=None)</code>
-  <pre>Returns metadata for the specified bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  projection: string, Set of properties to return. Defaults to no_acl.
-    Allowed values
-      full - Include all properties.
-      no_acl - Omit acl and defaultObjectAcl properties.
-
-Returns:
-  An object of the form:
-
-    { # A bucket.
-      "website": { # The bucket's website configuration.
-        "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
-        "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
-      },
-      "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
-      "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
-      "projectId": "A String", # The project the bucket belongs to.
-      "acl": [ # Access controls on the bucket.
-        { # An access-control entry.
-            "domain": "A String", # The domain associated with the entity, if any.
-            "bucket": "A String", # The name of the bucket.
-            "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-            "id": "A String", # The ID of the access-control entry.
-            "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-            "entityId": "A String", # The ID for the entity, if any.
-            "entity": "A String", # The entity holding the permission, in one of the following forms:
-                # - user-userId
-                # - user-email
-                # - group-groupId
-                # - group-email
-                # - allUsers
-                # - allAuthenticatedUsers
-            "email": "A String", # The email address associated with the entity, if any.
-            "selfLink": "A String", # The link to this access-control entry.
-          },
-      ],
-      "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
-        { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "object": "A String", # The name of the object.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-          "id": "A String", # The ID of the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-          "entityId": "A String", # The ID for the entity, if any.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-      ],
-      "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage in this location. Can be US or EU. Defaults to US.
-      "owner": { # The owner of the bucket. This will always be the project team's owner group.
-        "entityId": "A String", # The ID for the entity.
-        "entity": "A String", # The entity, in the form group-groupId.
-      },
-      "id": "A String", # The name of the bucket.
-      "selfLink": "A String", # The URI of this bucket.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(body, projection=None)</code>
-  <pre>Creates a new bucket.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A bucket.
-    "website": { # The bucket's website configuration.
-      "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
-      "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
-    },
-    "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
-    "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
-    "projectId": "A String", # The project the bucket belongs to.
-    "acl": [ # Access controls on the bucket.
-      { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-          "id": "A String", # The ID of the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-          "entityId": "A String", # The ID for the entity, if any.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-    ],
-    "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "id": "A String", # The ID of the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "entityId": "A String", # The ID for the entity, if any.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage in this location. Can be US or EU. Defaults to US.
-    "owner": { # The owner of the bucket. This will always be the project team's owner group.
-      "entityId": "A String", # The ID for the entity.
-      "entity": "A String", # The entity, in the form group-groupId.
-    },
-    "id": "A String", # The name of the bucket.
-    "selfLink": "A String", # The URI of this bucket.
-  }
-
-  projection: string, Set of properties to return. Defaults to no_acl, unless the bucket resource specifies acl or defaultObjectAcl properties, when it defaults to full.
-    Allowed values
-      full - Include all properties.
-      no_acl - Omit acl and defaultObjectAcl properties.
-
-Returns:
-  An object of the form:
-
-    { # A bucket.
-      "website": { # The bucket's website configuration.
-        "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
-        "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
-      },
-      "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
-      "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
-      "projectId": "A String", # The project the bucket belongs to.
-      "acl": [ # Access controls on the bucket.
-        { # An access-control entry.
-            "domain": "A String", # The domain associated with the entity, if any.
-            "bucket": "A String", # The name of the bucket.
-            "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-            "id": "A String", # The ID of the access-control entry.
-            "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-            "entityId": "A String", # The ID for the entity, if any.
-            "entity": "A String", # The entity holding the permission, in one of the following forms:
-                # - user-userId
-                # - user-email
-                # - group-groupId
-                # - group-email
-                # - allUsers
-                # - allAuthenticatedUsers
-            "email": "A String", # The email address associated with the entity, if any.
-            "selfLink": "A String", # The link to this access-control entry.
-          },
-      ],
-      "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
-        { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "object": "A String", # The name of the object.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-          "id": "A String", # The ID of the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-          "entityId": "A String", # The ID for the entity, if any.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-      ],
-      "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage in this location. Can be US or EU. Defaults to US.
-      "owner": { # The owner of the bucket. This will always be the project team's owner group.
-        "entityId": "A String", # The ID for the entity.
-        "entity": "A String", # The entity, in the form group-groupId.
-      },
-      "id": "A String", # The name of the bucket.
-      "selfLink": "A String", # The URI of this bucket.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(projectId, projection=None, pageToken=None, max_results=None)</code>
-  <pre>Retrieves a list of buckets for a given project.
-
-Args:
-  projectId: string, A valid API project identifier. (required)
-  projection: string, Set of properties to return. Defaults to no_acl.
-    Allowed values
-      full - Include all properties.
-      no_acl - Omit acl and defaultObjectAcl properties.
-  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
-  max_results: integer, Maximum number of buckets to return.
-
-Returns:
-  An object of the form:
-
-    { # A list of buckets.
-    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
-    "items": [ # The list of items.
-      { # A bucket.
-          "website": { # The bucket's website configuration.
-            "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
-            "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
-          },
-          "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
-          "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
-          "projectId": "A String", # The project the bucket belongs to.
-          "acl": [ # Access controls on the bucket.
-            { # An access-control entry.
-                "domain": "A String", # The domain associated with the entity, if any.
-                "bucket": "A String", # The name of the bucket.
-                "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-                "id": "A String", # The ID of the access-control entry.
-                "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-                "entityId": "A String", # The ID for the entity, if any.
-                "entity": "A String", # The entity holding the permission, in one of the following forms:
-                    # - user-userId
-                    # - user-email
-                    # - group-groupId
-                    # - group-email
-                    # - allUsers
-                    # - allAuthenticatedUsers
-                "email": "A String", # The email address associated with the entity, if any.
-                "selfLink": "A String", # The link to this access-control entry.
-              },
-          ],
-          "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
-            { # An access-control entry.
-              "domain": "A String", # The domain associated with the entity, if any.
-              "object": "A String", # The name of the object.
-              "bucket": "A String", # The name of the bucket.
-              "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-              "id": "A String", # The ID of the access-control entry.
-              "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-              "entityId": "A String", # The ID for the entity, if any.
-              "entity": "A String", # The entity holding the permission, in one of the following forms:
-                  # - user-userId
-                  # - user-email
-                  # - group-groupId
-                  # - group-email
-                  # - allUsers
-                  # - allAuthenticatedUsers
-              "email": "A String", # The email address associated with the entity, if any.
-              "selfLink": "A String", # The link to this access-control entry.
-            },
-          ],
-          "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage in this location. Can be US or EU. Defaults to US.
-          "owner": { # The owner of the bucket. This will always be the project team's owner group.
-            "entityId": "A String", # The ID for the entity.
-            "entity": "A String", # The entity, in the form group-groupId.
-          },
-          "id": "A String", # The name of the bucket.
-          "selfLink": "A String", # The URI of this bucket.
-        },
-    ],
-    "kind": "storage#buckets", # The kind of item this is. For lists of buckets, this is always storage#buckets.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(bucket, body, projection=None)</code>
-  <pre>Updates a bucket. This method supports patch semantics.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A bucket.
-    "website": { # The bucket's website configuration.
-      "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
-      "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
-    },
-    "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
-    "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
-    "projectId": "A String", # The project the bucket belongs to.
-    "acl": [ # Access controls on the bucket.
-      { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-          "id": "A String", # The ID of the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-          "entityId": "A String", # The ID for the entity, if any.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-    ],
-    "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "id": "A String", # The ID of the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "entityId": "A String", # The ID for the entity, if any.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage in this location. Can be US or EU. Defaults to US.
-    "owner": { # The owner of the bucket. This will always be the project team's owner group.
-      "entityId": "A String", # The ID for the entity.
-      "entity": "A String", # The entity, in the form group-groupId.
-    },
-    "id": "A String", # The name of the bucket.
-    "selfLink": "A String", # The URI of this bucket.
-  }
-
-  projection: string, Set of properties to return. Defaults to full.
-    Allowed values
-      full - Include all properties.
-      no_acl - Omit acl and defaultObjectAcl properties.
-
-Returns:
-  An object of the form:
-
-    { # A bucket.
-      "website": { # The bucket's website configuration.
-        "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
-        "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
-      },
-      "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
-      "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
-      "projectId": "A String", # The project the bucket belongs to.
-      "acl": [ # Access controls on the bucket.
-        { # An access-control entry.
-            "domain": "A String", # The domain associated with the entity, if any.
-            "bucket": "A String", # The name of the bucket.
-            "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-            "id": "A String", # The ID of the access-control entry.
-            "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-            "entityId": "A String", # The ID for the entity, if any.
-            "entity": "A String", # The entity holding the permission, in one of the following forms:
-                # - user-userId
-                # - user-email
-                # - group-groupId
-                # - group-email
-                # - allUsers
-                # - allAuthenticatedUsers
-            "email": "A String", # The email address associated with the entity, if any.
-            "selfLink": "A String", # The link to this access-control entry.
-          },
-      ],
-      "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
-        { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "object": "A String", # The name of the object.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-          "id": "A String", # The ID of the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-          "entityId": "A String", # The ID for the entity, if any.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-      ],
-      "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage in this location. Can be US or EU. Defaults to US.
-      "owner": { # The owner of the bucket. This will always be the project team's owner group.
-        "entityId": "A String", # The ID for the entity.
-        "entity": "A String", # The entity, in the form group-groupId.
-      },
-      "id": "A String", # The name of the bucket.
-      "selfLink": "A String", # The URI of this bucket.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(bucket, body, projection=None)</code>
-  <pre>Updates a bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A bucket.
-    "website": { # The bucket's website configuration.
-      "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
-      "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
-    },
-    "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
-    "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
-    "projectId": "A String", # The project the bucket belongs to.
-    "acl": [ # Access controls on the bucket.
-      { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-          "id": "A String", # The ID of the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-          "entityId": "A String", # The ID for the entity, if any.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-    ],
-    "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "id": "A String", # The ID of the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "entityId": "A String", # The ID for the entity, if any.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage in this location. Can be US or EU. Defaults to US.
-    "owner": { # The owner of the bucket. This will always be the project team's owner group.
-      "entityId": "A String", # The ID for the entity.
-      "entity": "A String", # The entity, in the form group-groupId.
-    },
-    "id": "A String", # The name of the bucket.
-    "selfLink": "A String", # The URI of this bucket.
-  }
-
-  projection: string, Set of properties to return. Defaults to full.
-    Allowed values
-      full - Include all properties.
-      no_acl - Omit acl and defaultObjectAcl properties.
-
-Returns:
-  An object of the form:
-
-    { # A bucket.
-      "website": { # The bucket's website configuration.
-        "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
-        "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
-      },
-      "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
-      "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
-      "projectId": "A String", # The project the bucket belongs to.
-      "acl": [ # Access controls on the bucket.
-        { # An access-control entry.
-            "domain": "A String", # The domain associated with the entity, if any.
-            "bucket": "A String", # The name of the bucket.
-            "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-            "id": "A String", # The ID of the access-control entry.
-            "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-            "entityId": "A String", # The ID for the entity, if any.
-            "entity": "A String", # The entity holding the permission, in one of the following forms:
-                # - user-userId
-                # - user-email
-                # - group-groupId
-                # - group-email
-                # - allUsers
-                # - allAuthenticatedUsers
-            "email": "A String", # The email address associated with the entity, if any.
-            "selfLink": "A String", # The link to this access-control entry.
-          },
-      ],
-      "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
-        { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "object": "A String", # The name of the object.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-          "id": "A String", # The ID of the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-          "entityId": "A String", # The ID for the entity, if any.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-      ],
-      "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage in this location. Can be US or EU. Defaults to US.
-      "owner": { # The owner of the bucket. This will always be the project team's owner group.
-        "entityId": "A String", # The ID for the entity.
-        "entity": "A String", # The entity, in the form group-groupId.
-      },
-      "id": "A String", # The name of the bucket.
-      "selfLink": "A String", # The URI of this bucket.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta1.html b/docs/dyn/storage_v1beta1.html
deleted file mode 100644
index 7a135e9..0000000
--- a/docs/dyn/storage_v1beta1.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="storage_v1beta1.html">Cloud Storage API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="storage_v1beta1.bucketAccessControls.html">bucketAccessControls()</a></code>
-</p>
-<p class="firstline">Returns the bucketAccessControls Resource.</p>
-
-<p class="toc_element">
-  <code><a href="storage_v1beta1.buckets.html">buckets()</a></code>
-</p>
-<p class="firstline">Returns the buckets Resource.</p>
-
-<p class="toc_element">
-  <code><a href="storage_v1beta1.objectAccessControls.html">objectAccessControls()</a></code>
-</p>
-<p class="firstline">Returns the objectAccessControls Resource.</p>
-
-<p class="toc_element">
-  <code><a href="storage_v1beta1.objects.html">objects()</a></code>
-</p>
-<p class="firstline">Returns the objects Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta1.objectAccessControls.html b/docs/dyn/storage_v1beta1.objectAccessControls.html
deleted file mode 100644
index 89e7624..0000000
--- a/docs/dyn/storage_v1beta1.objectAccessControls.html
+++ /dev/null
@@ -1,336 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="storage_v1beta1.html">Cloud Storage API</a> . <a href="storage_v1beta1.objectAccessControls.html">objectAccessControls</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(bucket, object, entity)</a></code></p>
-<p class="firstline">Deletes the ACL entry for the specified entity on the specified object.</p>
-<p class="toc_element">
-  <code><a href="#get">get(bucket, object, entity)</a></code></p>
-<p class="firstline">Returns the ACL entry for the specified entity on the specified object.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(bucket, object, body)</a></code></p>
-<p class="firstline">Creates a new ACL entry on the specified object.</p>
-<p class="toc_element">
-  <code><a href="#list">list(bucket, object)</a></code></p>
-<p class="firstline">Retrieves ACL entries on the specified object.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(bucket, object, entity, body)</a></code></p>
-<p class="firstline">Updates an ACL entry on the specified object. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(bucket, object, entity, body)</a></code></p>
-<p class="firstline">Updates an ACL entry on the specified object.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(bucket, object, entity)</code>
-  <pre>Deletes the ACL entry for the specified entity on the specified object.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  object: string, Name of the object. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(bucket, object, entity)</code>
-  <pre>Returns the ACL entry for the specified entity on the specified object.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  object: string, Name of the object. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-    "domain": "A String", # The domain associated with the entity, if any.
-    "object": "A String", # The name of the object.
-    "bucket": "A String", # The name of the bucket.
-    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-    "id": "A String", # The ID of the access-control entry.
-    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-    "entityId": "A String", # The ID for the entity, if any.
-    "entity": "A String", # The entity holding the permission, in one of the following forms:
-        # - user-userId
-        # - user-email
-        # - group-groupId
-        # - group-email
-        # - allUsers
-        # - allAuthenticatedUsers
-    "email": "A String", # The email address associated with the entity, if any.
-    "selfLink": "A String", # The link to this access-control entry.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(bucket, object, body)</code>
-  <pre>Creates a new ACL entry on the specified object.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  object: string, Name of the object. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An access-control entry.
-  "domain": "A String", # The domain associated with the entity, if any.
-  "object": "A String", # The name of the object.
-  "bucket": "A String", # The name of the bucket.
-  "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-  "id": "A String", # The ID of the access-control entry.
-  "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-  "entityId": "A String", # The ID for the entity, if any.
-  "entity": "A String", # The entity holding the permission, in one of the following forms:
-      # - user-userId
-      # - user-email
-      # - group-groupId
-      # - group-email
-      # - allUsers
-      # - allAuthenticatedUsers
-  "email": "A String", # The email address associated with the entity, if any.
-  "selfLink": "A String", # The link to this access-control entry.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-    "domain": "A String", # The domain associated with the entity, if any.
-    "object": "A String", # The name of the object.
-    "bucket": "A String", # The name of the bucket.
-    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-    "id": "A String", # The ID of the access-control entry.
-    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-    "entityId": "A String", # The ID for the entity, if any.
-    "entity": "A String", # The entity holding the permission, in one of the following forms:
-        # - user-userId
-        # - user-email
-        # - group-groupId
-        # - group-email
-        # - allUsers
-        # - allAuthenticatedUsers
-    "email": "A String", # The email address associated with the entity, if any.
-    "selfLink": "A String", # The link to this access-control entry.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(bucket, object)</code>
-  <pre>Retrieves ACL entries on the specified object.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  object: string, Name of the object. (required)
-
-Returns:
-  An object of the form:
-
-    { # An access-control list.
-    "items": [ # The list of items.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "id": "A String", # The ID of the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "entityId": "A String", # The ID for the entity, if any.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "kind": "storage#objectAccessControls", # The kind of item this is. For lists of object access control entries, this is always storage#objectAccessControls.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(bucket, object, entity, body)</code>
-  <pre>Updates an ACL entry on the specified object. This method supports patch semantics.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  object: string, Name of the object. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An access-control entry.
-  "domain": "A String", # The domain associated with the entity, if any.
-  "object": "A String", # The name of the object.
-  "bucket": "A String", # The name of the bucket.
-  "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-  "id": "A String", # The ID of the access-control entry.
-  "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-  "entityId": "A String", # The ID for the entity, if any.
-  "entity": "A String", # The entity holding the permission, in one of the following forms:
-      # - user-userId
-      # - user-email
-      # - group-groupId
-      # - group-email
-      # - allUsers
-      # - allAuthenticatedUsers
-  "email": "A String", # The email address associated with the entity, if any.
-  "selfLink": "A String", # The link to this access-control entry.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-    "domain": "A String", # The domain associated with the entity, if any.
-    "object": "A String", # The name of the object.
-    "bucket": "A String", # The name of the bucket.
-    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-    "id": "A String", # The ID of the access-control entry.
-    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-    "entityId": "A String", # The ID for the entity, if any.
-    "entity": "A String", # The entity holding the permission, in one of the following forms:
-        # - user-userId
-        # - user-email
-        # - group-groupId
-        # - group-email
-        # - allUsers
-        # - allAuthenticatedUsers
-    "email": "A String", # The email address associated with the entity, if any.
-    "selfLink": "A String", # The link to this access-control entry.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(bucket, object, entity, body)</code>
-  <pre>Updates an ACL entry on the specified object.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  object: string, Name of the object. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An access-control entry.
-  "domain": "A String", # The domain associated with the entity, if any.
-  "object": "A String", # The name of the object.
-  "bucket": "A String", # The name of the bucket.
-  "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-  "id": "A String", # The ID of the access-control entry.
-  "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-  "entityId": "A String", # The ID for the entity, if any.
-  "entity": "A String", # The entity holding the permission, in one of the following forms:
-      # - user-userId
-      # - user-email
-      # - group-groupId
-      # - group-email
-      # - allUsers
-      # - allAuthenticatedUsers
-  "email": "A String", # The email address associated with the entity, if any.
-  "selfLink": "A String", # The link to this access-control entry.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-    "domain": "A String", # The domain associated with the entity, if any.
-    "object": "A String", # The name of the object.
-    "bucket": "A String", # The name of the bucket.
-    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-    "id": "A String", # The ID of the access-control entry.
-    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-    "entityId": "A String", # The ID for the entity, if any.
-    "entity": "A String", # The entity holding the permission, in one of the following forms:
-        # - user-userId
-        # - user-email
-        # - group-groupId
-        # - group-email
-        # - allUsers
-        # - allAuthenticatedUsers
-    "email": "A String", # The email address associated with the entity, if any.
-    "selfLink": "A String", # The link to this access-control entry.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta1.objects.html b/docs/dyn/storage_v1beta1.objects.html
deleted file mode 100644
index 740ba0d..0000000
--- a/docs/dyn/storage_v1beta1.objects.html
+++ /dev/null
@@ -1,775 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="storage_v1beta1.html">Cloud Storage API</a> . <a href="storage_v1beta1.objects.html">objects</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(bucket, object)</a></code></p>
-<p class="firstline">Deletes data blobs and associated metadata.</p>
-<p class="toc_element">
-  <code><a href="#get">get(bucket, object, projection=None)</a></code></p>
-<p class="firstline">Retrieves objects or their associated metadata.</p>
-<p class="toc_element">
-  <code><a href="#get_media">get_media(bucket, object, projection=None)</a></code></p>
-<p class="firstline">Retrieves objects or their associated metadata.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(bucket, body=None, media_body=None, name=None, projection=None)</a></code></p>
-<p class="firstline">Stores new data blobs and associated metadata.</p>
-<p class="toc_element">
-  <code><a href="#insert_media">insert_media(bucket, body=None, media_body=None, name=None, projection=None)</a></code></p>
-<p class="firstline">Stores new data blobs and associated metadata.</p>
-<p class="toc_element">
-  <code><a href="#list">list(bucket, projection=None, pageToken=None, delimiter=None, prefix=None, max_results=None)</a></code></p>
-<p class="firstline">Retrieves a list of objects matching the criteria.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(bucket, object, body, projection=None)</a></code></p>
-<p class="firstline">Updates a data blob's associated metadata. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(bucket, object, body, projection=None)</a></code></p>
-<p class="firstline">Updates a data blob's associated metadata.</p>
-<p class="toc_element">
-  <code><a href="#update_media">update_media(bucket, object, body, projection=None)</a></code></p>
-<p class="firstline">Updates a data blob's associated metadata.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(bucket, object)</code>
-  <pre>Deletes data blobs and associated metadata.
-
-Args:
-  bucket: string, Name of the bucket in which the object resides. (required)
-  object: string, Name of the object. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(bucket, object, projection=None)</code>
-  <pre>Retrieves objects or their associated metadata.
-
-Args:
-  bucket: string, Name of the bucket in which the object resides. (required)
-  object: string, Name of the object. (required)
-  projection: string, Set of properties to return. Defaults to no_acl.
-    Allowed values
-      full - Include all properties.
-      no_acl - Omit the acl property.
-
-Returns:
-  An object of the form:
-
-    { # An object.
-      "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-      "name": "A String", # The name of this object. Required if not specified by URL parameter.
-      "contentLanguage": "A String", # Content-Language of the object data.
-      "media": { # Object media data. Provided on your behalf when uploading raw media or multipart/related with an auxiliary media part.
-        "contentType": "A String", # Content-Type of the object data.
-        "timeCreated": "A String", # Creation time of the data in RFC 3339 format.
-        "algorithm": "MD5", # Hash algorithm used. Currently only MD5 is supported. Required if a hash is provided.
-        "length": "A String", # Content-Length of the data in bytes.
-        "link": "A String", # Media download link.
-        "hash": "A String", # Hash of the data. Required if a hash algorithm is provided.
-        "data": "A String", # URL-safe Base64-encoded data. This property can be used to insert objects under 64KB in size, and will only be returned in response to the get method for objects so created. When this resource is returned in response to the list method, this property is omitted.
-      },
-      "bucket": "A String", # The bucket containing this object.
-      "contentEncoding": "A String", # Content-Encoding of the object data.
-      "selfLink": "A String", # The link to this object.
-      "owner": { # The owner of the object. This will always be the uploader of the object.
-        "entityId": "A String", # The ID for the entity.
-        "entity": "A String", # The entity, in the form user-userId.
-      },
-      "cacheControl": "A String", # Cache-Control directive for the object data.
-      "acl": [ # Access controls on the object.
-        { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "object": "A String", # The name of the object.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-          "id": "A String", # The ID of the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-          "entityId": "A String", # The ID for the entity, if any.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-      ],
-      "id": "A String", # The ID of the object.
-      "contentDisposition": "A String", # Content-Disposition of the object data.
-      "metadata": { # User-provided metadata, in key/value pairs.
-        "a_key": "A String", # An individual metadata entry.
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get_media">get_media(bucket, object, projection=None)</code>
-  <pre>Retrieves objects or their associated metadata.
-
-Args:
-  bucket: string, Name of the bucket in which the object resides. (required)
-  object: string, Name of the object. (required)
-  projection: string, Set of properties to return. Defaults to no_acl.
-    Allowed values
-      full - Include all properties.
-      no_acl - Omit the acl property.
-
-Returns:
-  The media object as a string.
-
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(bucket, body=None, media_body=None, name=None, projection=None)</code>
-  <pre>Stores new data blobs and associated metadata.
-
-Args:
-  bucket: string, Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # An object.
-    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-    "name": "A String", # The name of this object. Required if not specified by URL parameter.
-    "contentLanguage": "A String", # Content-Language of the object data.
-    "media": { # Object media data. Provided on your behalf when uploading raw media or multipart/related with an auxiliary media part.
-      "contentType": "A String", # Content-Type of the object data.
-      "timeCreated": "A String", # Creation time of the data in RFC 3339 format.
-      "algorithm": "MD5", # Hash algorithm used. Currently only MD5 is supported. Required if a hash is provided.
-      "length": "A String", # Content-Length of the data in bytes.
-      "link": "A String", # Media download link.
-      "hash": "A String", # Hash of the data. Required if a hash algorithm is provided.
-      "data": "A String", # URL-safe Base64-encoded data. This property can be used to insert objects under 64KB in size, and will only be returned in response to the get method for objects so created. When this resource is returned in response to the list method, this property is omitted.
-    },
-    "bucket": "A String", # The bucket containing this object.
-    "contentEncoding": "A String", # Content-Encoding of the object data.
-    "selfLink": "A String", # The link to this object.
-    "owner": { # The owner of the object. This will always be the uploader of the object.
-      "entityId": "A String", # The ID for the entity.
-      "entity": "A String", # The entity, in the form user-userId.
-    },
-    "cacheControl": "A String", # Cache-Control directive for the object data.
-    "acl": [ # Access controls on the object.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "id": "A String", # The ID of the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "entityId": "A String", # The ID for the entity, if any.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "id": "A String", # The ID of the object.
-    "contentDisposition": "A String", # Content-Disposition of the object data.
-    "metadata": { # User-provided metadata, in key/value pairs.
-      "a_key": "A String", # An individual metadata entry.
-    },
-  }
-
-  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
-  name: string, Name of the object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any.
-  projection: string, Set of properties to return. Defaults to no_acl, unless the object resource specifies the acl property, when it defaults to full.
-    Allowed values
-      full - Include all properties.
-      no_acl - Omit the acl property.
-
-Returns:
-  An object of the form:
-
-    { # An object.
-      "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-      "name": "A String", # The name of this object. Required if not specified by URL parameter.
-      "contentLanguage": "A String", # Content-Language of the object data.
-      "media": { # Object media data. Provided on your behalf when uploading raw media or multipart/related with an auxiliary media part.
-        "contentType": "A String", # Content-Type of the object data.
-        "timeCreated": "A String", # Creation time of the data in RFC 3339 format.
-        "algorithm": "MD5", # Hash algorithm used. Currently only MD5 is supported. Required if a hash is provided.
-        "length": "A String", # Content-Length of the data in bytes.
-        "link": "A String", # Media download link.
-        "hash": "A String", # Hash of the data. Required if a hash algorithm is provided.
-        "data": "A String", # URL-safe Base64-encoded data. This property can be used to insert objects under 64KB in size, and will only be returned in response to the get method for objects so created. When this resource is returned in response to the list method, this property is omitted.
-      },
-      "bucket": "A String", # The bucket containing this object.
-      "contentEncoding": "A String", # Content-Encoding of the object data.
-      "selfLink": "A String", # The link to this object.
-      "owner": { # The owner of the object. This will always be the uploader of the object.
-        "entityId": "A String", # The ID for the entity.
-        "entity": "A String", # The entity, in the form user-userId.
-      },
-      "cacheControl": "A String", # Cache-Control directive for the object data.
-      "acl": [ # Access controls on the object.
-        { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "object": "A String", # The name of the object.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-          "id": "A String", # The ID of the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-          "entityId": "A String", # The ID for the entity, if any.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-      ],
-      "id": "A String", # The ID of the object.
-      "contentDisposition": "A String", # Content-Disposition of the object data.
-      "metadata": { # User-provided metadata, in key/value pairs.
-        "a_key": "A String", # An individual metadata entry.
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert_media">insert_media(bucket, body=None, media_body=None, name=None, projection=None)</code>
-  <pre>Stores new data blobs and associated metadata.
-
-Args:
-  bucket: string, Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # An object.
-    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-    "name": "A String", # The name of this object. Required if not specified by URL parameter.
-    "contentLanguage": "A String", # Content-Language of the object data.
-    "media": { # Object media data. Provided on your behalf when uploading raw media or multipart/related with an auxiliary media part.
-      "contentType": "A String", # Content-Type of the object data.
-      "timeCreated": "A String", # Creation time of the data in RFC 3339 format.
-      "algorithm": "MD5", # Hash algorithm used. Currently only MD5 is supported. Required if a hash is provided.
-      "length": "A String", # Content-Length of the data in bytes.
-      "link": "A String", # Media download link.
-      "hash": "A String", # Hash of the data. Required if a hash algorithm is provided.
-      "data": "A String", # URL-safe Base64-encoded data. This property can be used to insert objects under 64KB in size, and will only be returned in response to the get method for objects so created. When this resource is returned in response to the list method, this property is omitted.
-    },
-    "bucket": "A String", # The bucket containing this object.
-    "contentEncoding": "A String", # Content-Encoding of the object data.
-    "selfLink": "A String", # The link to this object.
-    "owner": { # The owner of the object. This will always be the uploader of the object.
-      "entityId": "A String", # The ID for the entity.
-      "entity": "A String", # The entity, in the form user-userId.
-    },
-    "cacheControl": "A String", # Cache-Control directive for the object data.
-    "acl": [ # Access controls on the object.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "id": "A String", # The ID of the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "entityId": "A String", # The ID for the entity, if any.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "id": "A String", # The ID of the object.
-    "contentDisposition": "A String", # Content-Disposition of the object data.
-    "metadata": { # User-provided metadata, in key/value pairs.
-      "a_key": "A String", # An individual metadata entry.
-    },
-  }
-
-  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
-  name: string, Name of the object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any.
-  projection: string, Set of properties to return. Defaults to no_acl, unless the object resource specifies the acl property, when it defaults to full.
-    Allowed values
-      full - Include all properties.
-      no_acl - Omit the acl property.
-
-Returns:
-  The media object as a string.
-
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(bucket, projection=None, pageToken=None, delimiter=None, prefix=None, max_results=None)</code>
-  <pre>Retrieves a list of objects matching the criteria.
-
-Args:
-  bucket: string, Name of the bucket in which to look for objects. (required)
-  projection: string, Set of properties to return. Defaults to no_acl.
-    Allowed values
-      full - Include all properties.
-      no_acl - Omit the acl property.
-  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
-  delimiter: string, Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted.
-  prefix: string, Filter results to objects whose names begin with this prefix.
-  max_results: integer, Maximum number of items plus prefixes to return. As duplicate prefixes are omitted, fewer total results may be returned than requested.
-
-Returns:
-  An object of the form:
-
-    { # A list of objects.
-    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
-    "items": [ # The list of items.
-      { # An object.
-          "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-          "name": "A String", # The name of this object. Required if not specified by URL parameter.
-          "contentLanguage": "A String", # Content-Language of the object data.
-          "media": { # Object media data. Provided on your behalf when uploading raw media or multipart/related with an auxiliary media part.
-            "contentType": "A String", # Content-Type of the object data.
-            "timeCreated": "A String", # Creation time of the data in RFC 3339 format.
-            "algorithm": "MD5", # Hash algorithm used. Currently only MD5 is supported. Required if a hash is provided.
-            "length": "A String", # Content-Length of the data in bytes.
-            "link": "A String", # Media download link.
-            "hash": "A String", # Hash of the data. Required if a hash algorithm is provided.
-            "data": "A String", # URL-safe Base64-encoded data. This property can be used to insert objects under 64KB in size, and will only be returned in response to the get method for objects so created. When this resource is returned in response to the list method, this property is omitted.
-          },
-          "bucket": "A String", # The bucket containing this object.
-          "contentEncoding": "A String", # Content-Encoding of the object data.
-          "selfLink": "A String", # The link to this object.
-          "owner": { # The owner of the object. This will always be the uploader of the object.
-            "entityId": "A String", # The ID for the entity.
-            "entity": "A String", # The entity, in the form user-userId.
-          },
-          "cacheControl": "A String", # Cache-Control directive for the object data.
-          "acl": [ # Access controls on the object.
-            { # An access-control entry.
-              "domain": "A String", # The domain associated with the entity, if any.
-              "object": "A String", # The name of the object.
-              "bucket": "A String", # The name of the bucket.
-              "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-              "id": "A String", # The ID of the access-control entry.
-              "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-              "entityId": "A String", # The ID for the entity, if any.
-              "entity": "A String", # The entity holding the permission, in one of the following forms:
-                  # - user-userId
-                  # - user-email
-                  # - group-groupId
-                  # - group-email
-                  # - allUsers
-                  # - allAuthenticatedUsers
-              "email": "A String", # The email address associated with the entity, if any.
-              "selfLink": "A String", # The link to this access-control entry.
-            },
-          ],
-          "id": "A String", # The ID of the object.
-          "contentDisposition": "A String", # Content-Disposition of the object data.
-          "metadata": { # User-provided metadata, in key/value pairs.
-            "a_key": "A String", # An individual metadata entry.
-          },
-        },
-    ],
-    "kind": "storage#objects", # The kind of item this is. For lists of objects, this is always storage#objects.
-    "prefixes": [ # The list of prefixes of objects matching-but-not-listed up to and including the requested delimiter.
-      "A String",
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(bucket, object, body, projection=None)</code>
-  <pre>Updates a data blob's associated metadata. This method supports patch semantics.
-
-Args:
-  bucket: string, Name of the bucket in which the object resides. (required)
-  object: string, Name of the object. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An object.
-    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-    "name": "A String", # The name of this object. Required if not specified by URL parameter.
-    "contentLanguage": "A String", # Content-Language of the object data.
-    "media": { # Object media data. Provided on your behalf when uploading raw media or multipart/related with an auxiliary media part.
-      "contentType": "A String", # Content-Type of the object data.
-      "timeCreated": "A String", # Creation time of the data in RFC 3339 format.
-      "algorithm": "MD5", # Hash algorithm used. Currently only MD5 is supported. Required if a hash is provided.
-      "length": "A String", # Content-Length of the data in bytes.
-      "link": "A String", # Media download link.
-      "hash": "A String", # Hash of the data. Required if a hash algorithm is provided.
-      "data": "A String", # URL-safe Base64-encoded data. This property can be used to insert objects under 64KB in size, and will only be returned in response to the get method for objects so created. When this resource is returned in response to the list method, this property is omitted.
-    },
-    "bucket": "A String", # The bucket containing this object.
-    "contentEncoding": "A String", # Content-Encoding of the object data.
-    "selfLink": "A String", # The link to this object.
-    "owner": { # The owner of the object. This will always be the uploader of the object.
-      "entityId": "A String", # The ID for the entity.
-      "entity": "A String", # The entity, in the form user-userId.
-    },
-    "cacheControl": "A String", # Cache-Control directive for the object data.
-    "acl": [ # Access controls on the object.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "id": "A String", # The ID of the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "entityId": "A String", # The ID for the entity, if any.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "id": "A String", # The ID of the object.
-    "contentDisposition": "A String", # Content-Disposition of the object data.
-    "metadata": { # User-provided metadata, in key/value pairs.
-      "a_key": "A String", # An individual metadata entry.
-    },
-  }
-
-  projection: string, Set of properties to return. Defaults to full.
-    Allowed values
-      full - Include all properties.
-      no_acl - Omit the acl property.
-
-Returns:
-  An object of the form:
-
-    { # An object.
-      "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-      "name": "A String", # The name of this object. Required if not specified by URL parameter.
-      "contentLanguage": "A String", # Content-Language of the object data.
-      "media": { # Object media data. Provided on your behalf when uploading raw media or multipart/related with an auxiliary media part.
-        "contentType": "A String", # Content-Type of the object data.
-        "timeCreated": "A String", # Creation time of the data in RFC 3339 format.
-        "algorithm": "MD5", # Hash algorithm used. Currently only MD5 is supported. Required if a hash is provided.
-        "length": "A String", # Content-Length of the data in bytes.
-        "link": "A String", # Media download link.
-        "hash": "A String", # Hash of the data. Required if a hash algorithm is provided.
-        "data": "A String", # URL-safe Base64-encoded data. This property can be used to insert objects under 64KB in size, and will only be returned in response to the get method for objects so created. When this resource is returned in response to the list method, this property is omitted.
-      },
-      "bucket": "A String", # The bucket containing this object.
-      "contentEncoding": "A String", # Content-Encoding of the object data.
-      "selfLink": "A String", # The link to this object.
-      "owner": { # The owner of the object. This will always be the uploader of the object.
-        "entityId": "A String", # The ID for the entity.
-        "entity": "A String", # The entity, in the form user-userId.
-      },
-      "cacheControl": "A String", # Cache-Control directive for the object data.
-      "acl": [ # Access controls on the object.
-        { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "object": "A String", # The name of the object.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-          "id": "A String", # The ID of the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-          "entityId": "A String", # The ID for the entity, if any.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-      ],
-      "id": "A String", # The ID of the object.
-      "contentDisposition": "A String", # Content-Disposition of the object data.
-      "metadata": { # User-provided metadata, in key/value pairs.
-        "a_key": "A String", # An individual metadata entry.
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(bucket, object, body, projection=None)</code>
-  <pre>Updates a data blob's associated metadata.
-
-Args:
-  bucket: string, Name of the bucket in which the object resides. (required)
-  object: string, Name of the object. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An object.
-    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-    "name": "A String", # The name of this object. Required if not specified by URL parameter.
-    "contentLanguage": "A String", # Content-Language of the object data.
-    "media": { # Object media data. Provided on your behalf when uploading raw media or multipart/related with an auxiliary media part.
-      "contentType": "A String", # Content-Type of the object data.
-      "timeCreated": "A String", # Creation time of the data in RFC 3339 format.
-      "algorithm": "MD5", # Hash algorithm used. Currently only MD5 is supported. Required if a hash is provided.
-      "length": "A String", # Content-Length of the data in bytes.
-      "link": "A String", # Media download link.
-      "hash": "A String", # Hash of the data. Required if a hash algorithm is provided.
-      "data": "A String", # URL-safe Base64-encoded data. This property can be used to insert objects under 64KB in size, and will only be returned in response to the get method for objects so created. When this resource is returned in response to the list method, this property is omitted.
-    },
-    "bucket": "A String", # The bucket containing this object.
-    "contentEncoding": "A String", # Content-Encoding of the object data.
-    "selfLink": "A String", # The link to this object.
-    "owner": { # The owner of the object. This will always be the uploader of the object.
-      "entityId": "A String", # The ID for the entity.
-      "entity": "A String", # The entity, in the form user-userId.
-    },
-    "cacheControl": "A String", # Cache-Control directive for the object data.
-    "acl": [ # Access controls on the object.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "id": "A String", # The ID of the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "entityId": "A String", # The ID for the entity, if any.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "id": "A String", # The ID of the object.
-    "contentDisposition": "A String", # Content-Disposition of the object data.
-    "metadata": { # User-provided metadata, in key/value pairs.
-      "a_key": "A String", # An individual metadata entry.
-    },
-  }
-
-  projection: string, Set of properties to return. Defaults to full.
-    Allowed values
-      full - Include all properties.
-      no_acl - Omit the acl property.
-
-Returns:
-  An object of the form:
-
-    { # An object.
-      "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-      "name": "A String", # The name of this object. Required if not specified by URL parameter.
-      "contentLanguage": "A String", # Content-Language of the object data.
-      "media": { # Object media data. Provided on your behalf when uploading raw media or multipart/related with an auxiliary media part.
-        "contentType": "A String", # Content-Type of the object data.
-        "timeCreated": "A String", # Creation time of the data in RFC 3339 format.
-        "algorithm": "MD5", # Hash algorithm used. Currently only MD5 is supported. Required if a hash is provided.
-        "length": "A String", # Content-Length of the data in bytes.
-        "link": "A String", # Media download link.
-        "hash": "A String", # Hash of the data. Required if a hash algorithm is provided.
-        "data": "A String", # URL-safe Base64-encoded data. This property can be used to insert objects under 64KB in size, and will only be returned in response to the get method for objects so created. When this resource is returned in response to the list method, this property is omitted.
-      },
-      "bucket": "A String", # The bucket containing this object.
-      "contentEncoding": "A String", # Content-Encoding of the object data.
-      "selfLink": "A String", # The link to this object.
-      "owner": { # The owner of the object. This will always be the uploader of the object.
-        "entityId": "A String", # The ID for the entity.
-        "entity": "A String", # The entity, in the form user-userId.
-      },
-      "cacheControl": "A String", # Cache-Control directive for the object data.
-      "acl": [ # Access controls on the object.
-        { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "object": "A String", # The name of the object.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-          "id": "A String", # The ID of the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-          "entityId": "A String", # The ID for the entity, if any.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-      ],
-      "id": "A String", # The ID of the object.
-      "contentDisposition": "A String", # Content-Disposition of the object data.
-      "metadata": { # User-provided metadata, in key/value pairs.
-        "a_key": "A String", # An individual metadata entry.
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update_media">update_media(bucket, object, body, projection=None)</code>
-  <pre>Updates a data blob's associated metadata.
-
-Args:
-  bucket: string, Name of the bucket in which the object resides. (required)
-  object: string, Name of the object. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An object.
-    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-    "name": "A String", # The name of this object. Required if not specified by URL parameter.
-    "contentLanguage": "A String", # Content-Language of the object data.
-    "media": { # Object media data. Provided on your behalf when uploading raw media or multipart/related with an auxiliary media part.
-      "contentType": "A String", # Content-Type of the object data.
-      "timeCreated": "A String", # Creation time of the data in RFC 3339 format.
-      "algorithm": "MD5", # Hash algorithm used. Currently only MD5 is supported. Required if a hash is provided.
-      "length": "A String", # Content-Length of the data in bytes.
-      "link": "A String", # Media download link.
-      "hash": "A String", # Hash of the data. Required if a hash algorithm is provided.
-      "data": "A String", # URL-safe Base64-encoded data. This property can be used to insert objects under 64KB in size, and will only be returned in response to the get method for objects so created. When this resource is returned in response to the list method, this property is omitted.
-    },
-    "bucket": "A String", # The bucket containing this object.
-    "contentEncoding": "A String", # Content-Encoding of the object data.
-    "selfLink": "A String", # The link to this object.
-    "owner": { # The owner of the object. This will always be the uploader of the object.
-      "entityId": "A String", # The ID for the entity.
-      "entity": "A String", # The entity, in the form user-userId.
-    },
-    "cacheControl": "A String", # Cache-Control directive for the object data.
-    "acl": [ # Access controls on the object.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "id": "A String", # The ID of the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "entityId": "A String", # The ID for the entity, if any.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "id": "A String", # The ID of the object.
-    "contentDisposition": "A String", # Content-Disposition of the object data.
-    "metadata": { # User-provided metadata, in key/value pairs.
-      "a_key": "A String", # An individual metadata entry.
-    },
-  }
-
-  projection: string, Set of properties to return. Defaults to full.
-    Allowed values
-      full - Include all properties.
-      no_acl - Omit the acl property.
-
-Returns:
-  The media object as a string.
-
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta2.bucketAccessControls.html b/docs/dyn/storage_v1beta2.bucketAccessControls.html
deleted file mode 100644
index b998751..0000000
--- a/docs/dyn/storage_v1beta2.bucketAccessControls.html
+++ /dev/null
@@ -1,330 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="storage_v1beta2.html">Cloud Storage API</a> . <a href="storage_v1beta2.bucketAccessControls.html">bucketAccessControls</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(bucket, entity)</a></code></p>
-<p class="firstline">Permanently deletes the ACL entry for the specified entity on the specified bucket.</p>
-<p class="toc_element">
-  <code><a href="#get">get(bucket, entity)</a></code></p>
-<p class="firstline">Returns the ACL entry for the specified entity on the specified bucket.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(bucket, body)</a></code></p>
-<p class="firstline">Creates a new ACL entry on the specified bucket.</p>
-<p class="toc_element">
-  <code><a href="#list">list(bucket)</a></code></p>
-<p class="firstline">Retrieves ACL entries on the specified bucket.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(bucket, entity, body)</a></code></p>
-<p class="firstline">Updates an ACL entry on the specified bucket. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(bucket, entity, body)</a></code></p>
-<p class="firstline">Updates an ACL entry on the specified bucket.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(bucket, entity)</code>
-  <pre>Permanently deletes the ACL entry for the specified entity on the specified bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(bucket, entity)</code>
-  <pre>Returns the ACL entry for the specified entity on the specified bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-      "domain": "A String", # The domain associated with the entity, if any.
-      "bucket": "A String", # The name of the bucket.
-      "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-      "entity": "A String", # The entity holding the permission, in one of the following forms:
-          # - user-userId
-          # - user-email
-          # - group-groupId
-          # - group-email
-          # - allUsers
-          # - allAuthenticatedUsers
-      "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-      "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-      "id": "A String", # The ID of the access-control entry.
-      "entityId": "A String", # The ID for the entity, if any.
-      "email": "A String", # The email address associated with the entity, if any.
-      "selfLink": "A String", # The link to this access-control entry.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(bucket, body)</code>
-  <pre>Creates a new ACL entry on the specified bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An access-control entry.
-    "domain": "A String", # The domain associated with the entity, if any.
-    "bucket": "A String", # The name of the bucket.
-    "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-    "entity": "A String", # The entity holding the permission, in one of the following forms:
-        # - user-userId
-        # - user-email
-        # - group-groupId
-        # - group-email
-        # - allUsers
-        # - allAuthenticatedUsers
-    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-    "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-    "id": "A String", # The ID of the access-control entry.
-    "entityId": "A String", # The ID for the entity, if any.
-    "email": "A String", # The email address associated with the entity, if any.
-    "selfLink": "A String", # The link to this access-control entry.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-      "domain": "A String", # The domain associated with the entity, if any.
-      "bucket": "A String", # The name of the bucket.
-      "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-      "entity": "A String", # The entity holding the permission, in one of the following forms:
-          # - user-userId
-          # - user-email
-          # - group-groupId
-          # - group-email
-          # - allUsers
-          # - allAuthenticatedUsers
-      "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-      "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-      "id": "A String", # The ID of the access-control entry.
-      "entityId": "A String", # The ID for the entity, if any.
-      "email": "A String", # The email address associated with the entity, if any.
-      "selfLink": "A String", # The link to this access-control entry.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(bucket)</code>
-  <pre>Retrieves ACL entries on the specified bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-
-Returns:
-  An object of the form:
-
-    { # An access-control list.
-    "items": [ # The list of items.
-      { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-          "id": "A String", # The ID of the access-control entry.
-          "entityId": "A String", # The ID for the entity, if any.
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-    ],
-    "kind": "storage#bucketAccessControls", # The kind of item this is. For lists of bucket access control entries, this is always storage#bucketAccessControls.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(bucket, entity, body)</code>
-  <pre>Updates an ACL entry on the specified bucket. This method supports patch semantics.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An access-control entry.
-    "domain": "A String", # The domain associated with the entity, if any.
-    "bucket": "A String", # The name of the bucket.
-    "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-    "entity": "A String", # The entity holding the permission, in one of the following forms:
-        # - user-userId
-        # - user-email
-        # - group-groupId
-        # - group-email
-        # - allUsers
-        # - allAuthenticatedUsers
-    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-    "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-    "id": "A String", # The ID of the access-control entry.
-    "entityId": "A String", # The ID for the entity, if any.
-    "email": "A String", # The email address associated with the entity, if any.
-    "selfLink": "A String", # The link to this access-control entry.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-      "domain": "A String", # The domain associated with the entity, if any.
-      "bucket": "A String", # The name of the bucket.
-      "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-      "entity": "A String", # The entity holding the permission, in one of the following forms:
-          # - user-userId
-          # - user-email
-          # - group-groupId
-          # - group-email
-          # - allUsers
-          # - allAuthenticatedUsers
-      "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-      "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-      "id": "A String", # The ID of the access-control entry.
-      "entityId": "A String", # The ID for the entity, if any.
-      "email": "A String", # The email address associated with the entity, if any.
-      "selfLink": "A String", # The link to this access-control entry.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(bucket, entity, body)</code>
-  <pre>Updates an ACL entry on the specified bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An access-control entry.
-    "domain": "A String", # The domain associated with the entity, if any.
-    "bucket": "A String", # The name of the bucket.
-    "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-    "entity": "A String", # The entity holding the permission, in one of the following forms:
-        # - user-userId
-        # - user-email
-        # - group-groupId
-        # - group-email
-        # - allUsers
-        # - allAuthenticatedUsers
-    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-    "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-    "id": "A String", # The ID of the access-control entry.
-    "entityId": "A String", # The ID for the entity, if any.
-    "email": "A String", # The email address associated with the entity, if any.
-    "selfLink": "A String", # The link to this access-control entry.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-      "domain": "A String", # The domain associated with the entity, if any.
-      "bucket": "A String", # The name of the bucket.
-      "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-      "entity": "A String", # The entity holding the permission, in one of the following forms:
-          # - user-userId
-          # - user-email
-          # - group-groupId
-          # - group-email
-          # - allUsers
-          # - allAuthenticatedUsers
-      "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-      "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-      "id": "A String", # The ID of the access-control entry.
-      "entityId": "A String", # The ID for the entity, if any.
-      "email": "A String", # The email address associated with the entity, if any.
-      "selfLink": "A String", # The link to this access-control entry.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta2.buckets.html b/docs/dyn/storage_v1beta2.buckets.html
deleted file mode 100644
index c014368..0000000
--- a/docs/dyn/storage_v1beta2.buckets.html
+++ /dev/null
@@ -1,1006 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="storage_v1beta2.html">Cloud Storage API</a> . <a href="storage_v1beta2.buckets.html">buckets</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(bucket, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</a></code></p>
-<p class="firstline">Permanently deletes an empty bucket.</p>
-<p class="toc_element">
-  <code><a href="#get">get(bucket, projection=None, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</a></code></p>
-<p class="firstline">Returns metadata for the specified bucket.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, body, projection=None)</a></code></p>
-<p class="firstline">Creates a new bucket.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, projection=None, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Retrieves a list of buckets for a given project.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(bucket, body, projection=None, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</a></code></p>
-<p class="firstline">Updates a bucket. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(bucket, body, projection=None, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</a></code></p>
-<p class="firstline">Updates a bucket.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(bucket, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</code>
-  <pre>Permanently deletes an empty bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  ifMetagenerationMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.
-  ifMetagenerationNotMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value.
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(bucket, projection=None, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</code>
-  <pre>Returns metadata for the specified bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  projection: string, Set of properties to return. Defaults to noAcl.
-    Allowed values
-      full - Include all properties.
-      noAcl - Omit acl and defaultObjectAcl properties.
-  ifMetagenerationMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.
-  ifMetagenerationNotMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value.
-
-Returns:
-  An object of the form:
-
-    { # A bucket.
-      "website": { # The bucket's website configuration.
-        "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
-        "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
-      },
-      "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
-      "logging": { # The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.
-        "logObjectPrefix": "A String", # A prefix for log object names.
-        "logBucket": "A String", # The destination bucket where the current bucket's logs should be placed.
-      },
-      "name": "A String", # The name of the bucket.
-      "metageneration": "A String", # The metadata generation of this bucket.
-      "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
-      "versioning": { # The bucket's versioning configuration.
-        "enabled": True or False, # While set to true, versioning is fully enabled for this bucket.
-      },
-      "acl": [ # Access controls on the bucket.
-        { # An access-control entry.
-            "domain": "A String", # The domain associated with the entity, if any.
-            "bucket": "A String", # The name of the bucket.
-            "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-            "entity": "A String", # The entity holding the permission, in one of the following forms:
-                # - user-userId
-                # - user-email
-                # - group-groupId
-                # - group-email
-                # - allUsers
-                # - allAuthenticatedUsers
-            "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-            "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-            "id": "A String", # The ID of the access-control entry.
-            "entityId": "A String", # The ID for the entity, if any.
-            "email": "A String", # The email address associated with the entity, if any.
-            "selfLink": "A String", # The link to this access-control entry.
-          },
-      ],
-      "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
-        { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "generation": "A String", # The content generation of the object.
-          "object": "A String", # The name of the object.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-          "id": "A String", # The ID of the access-control entry.
-          "entityId": "A String", # The ID for the entity, if any.
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-      ],
-      "etag": "A String", # HTTP 1.1 Entity tag for the bucket.
-      "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Typical values are US and EU. Defaults to US. See the developer's guide for the authoritative list.
-      "cors": [ # The bucket's Cross-Origin Resource Sharing (CORS) configuration.
-        {
-          "origin": [ # The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
-            "A String",
-          ],
-          "responseHeader": [ # The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
-            "A String",
-          ],
-          "method": [ # The list of HTTP methods on which to include CORS response headers, e.g. GET, OPTIONS, POST. Note, "*" is permitted in the list of methods, and means "any method".
-            "A String",
-          ],
-          "maxAgeSeconds": 42, # The value, in seconds, to return in the  Access-Control-Max-Age header used in preflight responses.
-        },
-      ],
-      "owner": { # The owner of the bucket. This will always be the project team's owner group.
-        "entityId": "A String", # The ID for the entity.
-        "entity": "A String", # The entity, in the form group-groupId.
-      },
-      "lifecycle": { # The bucket's lifecycle configuration. See object lifecycle management for more information.
-        "rule": [ # A lifecycle management rule, which is made of an action to take and the condition(s) under which the action will be taken.
-          {
-            "action": { # The action to take.
-              "type": "A String", # Type of the action, e.g. Delete.
-            },
-            "condition": { # The condition(s) under which the action will be taken.
-              "isLive": True or False, # Relevant only for versioned objects. If the value is true, this condition matches live objects; if the value is false, it matches archived objects.
-              "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
-              "age": 42, # Age of an object (in days). This condition is satisfied when an object reaches the specified age.
-              "createdBefore": "A String", # A date in RFC 3339 format with only the date part, e.g. "2013-01-15". This condition is satisfied when an object is created before midnight of the specified date in UTC.
-            },
-          },
-        ],
-      },
-      "id": "A String", # The ID of the bucket.
-      "selfLink": "A String", # The URI of this bucket.
-      "storageClass": "A String", # The bucket's storage class. This defines how objects in the bucket will be stored and determines the SLA and the cost of storage. Typical values are STANDARD and DURABLE_REDUCED_AVAILABILITY. Defaults to STANDARD. See the developer's guide for the authoritative list.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, body, projection=None)</code>
-  <pre>Creates a new bucket.
-
-Args:
-  project: string, A valid API project identifier. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A bucket.
-    "website": { # The bucket's website configuration.
-      "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
-      "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
-    },
-    "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
-    "logging": { # The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.
-      "logObjectPrefix": "A String", # A prefix for log object names.
-      "logBucket": "A String", # The destination bucket where the current bucket's logs should be placed.
-    },
-    "name": "A String", # The name of the bucket.
-    "metageneration": "A String", # The metadata generation of this bucket.
-    "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
-    "versioning": { # The bucket's versioning configuration.
-      "enabled": True or False, # While set to true, versioning is fully enabled for this bucket.
-    },
-    "acl": [ # Access controls on the bucket.
-      { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-          "id": "A String", # The ID of the access-control entry.
-          "entityId": "A String", # The ID for the entity, if any.
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-    ],
-    "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "generation": "A String", # The content generation of the object.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "id": "A String", # The ID of the access-control entry.
-        "entityId": "A String", # The ID for the entity, if any.
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "etag": "A String", # HTTP 1.1 Entity tag for the bucket.
-    "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Typical values are US and EU. Defaults to US. See the developer's guide for the authoritative list.
-    "cors": [ # The bucket's Cross-Origin Resource Sharing (CORS) configuration.
-      {
-        "origin": [ # The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
-          "A String",
-        ],
-        "responseHeader": [ # The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
-          "A String",
-        ],
-        "method": [ # The list of HTTP methods on which to include CORS response headers, e.g. GET, OPTIONS, POST. Note, "*" is permitted in the list of methods, and means "any method".
-          "A String",
-        ],
-        "maxAgeSeconds": 42, # The value, in seconds, to return in the  Access-Control-Max-Age header used in preflight responses.
-      },
-    ],
-    "owner": { # The owner of the bucket. This will always be the project team's owner group.
-      "entityId": "A String", # The ID for the entity.
-      "entity": "A String", # The entity, in the form group-groupId.
-    },
-    "lifecycle": { # The bucket's lifecycle configuration. See object lifecycle management for more information.
-      "rule": [ # A lifecycle management rule, which is made of an action to take and the condition(s) under which the action will be taken.
-        {
-          "action": { # The action to take.
-            "type": "A String", # Type of the action, e.g. Delete.
-          },
-          "condition": { # The condition(s) under which the action will be taken.
-            "isLive": True or False, # Relevant only for versioned objects. If the value is true, this condition matches live objects; if the value is false, it matches archived objects.
-            "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
-            "age": 42, # Age of an object (in days). This condition is satisfied when an object reaches the specified age.
-            "createdBefore": "A String", # A date in RFC 3339 format with only the date part, e.g. "2013-01-15". This condition is satisfied when an object is created before midnight of the specified date in UTC.
-          },
-        },
-      ],
-    },
-    "id": "A String", # The ID of the bucket.
-    "selfLink": "A String", # The URI of this bucket.
-    "storageClass": "A String", # The bucket's storage class. This defines how objects in the bucket will be stored and determines the SLA and the cost of storage. Typical values are STANDARD and DURABLE_REDUCED_AVAILABILITY. Defaults to STANDARD. See the developer's guide for the authoritative list.
-  }
-
-  projection: string, Set of properties to return. Defaults to noAcl, unless the bucket resource specifies acl or defaultObjectAcl properties, when it defaults to full.
-    Allowed values
-      full - Include all properties.
-      noAcl - Omit acl and defaultObjectAcl properties.
-
-Returns:
-  An object of the form:
-
-    { # A bucket.
-      "website": { # The bucket's website configuration.
-        "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
-        "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
-      },
-      "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
-      "logging": { # The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.
-        "logObjectPrefix": "A String", # A prefix for log object names.
-        "logBucket": "A String", # The destination bucket where the current bucket's logs should be placed.
-      },
-      "name": "A String", # The name of the bucket.
-      "metageneration": "A String", # The metadata generation of this bucket.
-      "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
-      "versioning": { # The bucket's versioning configuration.
-        "enabled": True or False, # While set to true, versioning is fully enabled for this bucket.
-      },
-      "acl": [ # Access controls on the bucket.
-        { # An access-control entry.
-            "domain": "A String", # The domain associated with the entity, if any.
-            "bucket": "A String", # The name of the bucket.
-            "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-            "entity": "A String", # The entity holding the permission, in one of the following forms:
-                # - user-userId
-                # - user-email
-                # - group-groupId
-                # - group-email
-                # - allUsers
-                # - allAuthenticatedUsers
-            "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-            "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-            "id": "A String", # The ID of the access-control entry.
-            "entityId": "A String", # The ID for the entity, if any.
-            "email": "A String", # The email address associated with the entity, if any.
-            "selfLink": "A String", # The link to this access-control entry.
-          },
-      ],
-      "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
-        { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "generation": "A String", # The content generation of the object.
-          "object": "A String", # The name of the object.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-          "id": "A String", # The ID of the access-control entry.
-          "entityId": "A String", # The ID for the entity, if any.
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-      ],
-      "etag": "A String", # HTTP 1.1 Entity tag for the bucket.
-      "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Typical values are US and EU. Defaults to US. See the developer's guide for the authoritative list.
-      "cors": [ # The bucket's Cross-Origin Resource Sharing (CORS) configuration.
-        {
-          "origin": [ # The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
-            "A String",
-          ],
-          "responseHeader": [ # The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
-            "A String",
-          ],
-          "method": [ # The list of HTTP methods on which to include CORS response headers, e.g. GET, OPTIONS, POST. Note, "*" is permitted in the list of methods, and means "any method".
-            "A String",
-          ],
-          "maxAgeSeconds": 42, # The value, in seconds, to return in the  Access-Control-Max-Age header used in preflight responses.
-        },
-      ],
-      "owner": { # The owner of the bucket. This will always be the project team's owner group.
-        "entityId": "A String", # The ID for the entity.
-        "entity": "A String", # The entity, in the form group-groupId.
-      },
-      "lifecycle": { # The bucket's lifecycle configuration. See object lifecycle management for more information.
-        "rule": [ # A lifecycle management rule, which is made of an action to take and the condition(s) under which the action will be taken.
-          {
-            "action": { # The action to take.
-              "type": "A String", # Type of the action, e.g. Delete.
-            },
-            "condition": { # The condition(s) under which the action will be taken.
-              "isLive": True or False, # Relevant only for versioned objects. If the value is true, this condition matches live objects; if the value is false, it matches archived objects.
-              "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
-              "age": 42, # Age of an object (in days). This condition is satisfied when an object reaches the specified age.
-              "createdBefore": "A String", # A date in RFC 3339 format with only the date part, e.g. "2013-01-15". This condition is satisfied when an object is created before midnight of the specified date in UTC.
-            },
-          },
-        ],
-      },
-      "id": "A String", # The ID of the bucket.
-      "selfLink": "A String", # The URI of this bucket.
-      "storageClass": "A String", # The bucket's storage class. This defines how objects in the bucket will be stored and determines the SLA and the cost of storage. Typical values are STANDARD and DURABLE_REDUCED_AVAILABILITY. Defaults to STANDARD. See the developer's guide for the authoritative list.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, projection=None, pageToken=None, maxResults=None)</code>
-  <pre>Retrieves a list of buckets for a given project.
-
-Args:
-  project: string, A valid API project identifier. (required)
-  projection: string, Set of properties to return. Defaults to noAcl.
-    Allowed values
-      full - Include all properties.
-      noAcl - Omit acl and defaultObjectAcl properties.
-  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
-  maxResults: integer, Maximum number of buckets to return.
-
-Returns:
-  An object of the form:
-
-    { # A list of buckets.
-    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
-    "items": [ # The list of items.
-      { # A bucket.
-          "website": { # The bucket's website configuration.
-            "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
-            "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
-          },
-          "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
-          "logging": { # The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.
-            "logObjectPrefix": "A String", # A prefix for log object names.
-            "logBucket": "A String", # The destination bucket where the current bucket's logs should be placed.
-          },
-          "name": "A String", # The name of the bucket.
-          "metageneration": "A String", # The metadata generation of this bucket.
-          "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
-          "versioning": { # The bucket's versioning configuration.
-            "enabled": True or False, # While set to true, versioning is fully enabled for this bucket.
-          },
-          "acl": [ # Access controls on the bucket.
-            { # An access-control entry.
-                "domain": "A String", # The domain associated with the entity, if any.
-                "bucket": "A String", # The name of the bucket.
-                "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-                "entity": "A String", # The entity holding the permission, in one of the following forms:
-                    # - user-userId
-                    # - user-email
-                    # - group-groupId
-                    # - group-email
-                    # - allUsers
-                    # - allAuthenticatedUsers
-                "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-                "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-                "id": "A String", # The ID of the access-control entry.
-                "entityId": "A String", # The ID for the entity, if any.
-                "email": "A String", # The email address associated with the entity, if any.
-                "selfLink": "A String", # The link to this access-control entry.
-              },
-          ],
-          "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
-            { # An access-control entry.
-              "domain": "A String", # The domain associated with the entity, if any.
-              "generation": "A String", # The content generation of the object.
-              "object": "A String", # The name of the object.
-              "bucket": "A String", # The name of the bucket.
-              "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-              "entity": "A String", # The entity holding the permission, in one of the following forms:
-                  # - user-userId
-                  # - user-email
-                  # - group-groupId
-                  # - group-email
-                  # - allUsers
-                  # - allAuthenticatedUsers
-              "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-              "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-              "id": "A String", # The ID of the access-control entry.
-              "entityId": "A String", # The ID for the entity, if any.
-              "email": "A String", # The email address associated with the entity, if any.
-              "selfLink": "A String", # The link to this access-control entry.
-            },
-          ],
-          "etag": "A String", # HTTP 1.1 Entity tag for the bucket.
-          "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Typical values are US and EU. Defaults to US. See the developer's guide for the authoritative list.
-          "cors": [ # The bucket's Cross-Origin Resource Sharing (CORS) configuration.
-            {
-              "origin": [ # The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
-                "A String",
-              ],
-              "responseHeader": [ # The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
-                "A String",
-              ],
-              "method": [ # The list of HTTP methods on which to include CORS response headers, e.g. GET, OPTIONS, POST. Note, "*" is permitted in the list of methods, and means "any method".
-                "A String",
-              ],
-              "maxAgeSeconds": 42, # The value, in seconds, to return in the  Access-Control-Max-Age header used in preflight responses.
-            },
-          ],
-          "owner": { # The owner of the bucket. This will always be the project team's owner group.
-            "entityId": "A String", # The ID for the entity.
-            "entity": "A String", # The entity, in the form group-groupId.
-          },
-          "lifecycle": { # The bucket's lifecycle configuration. See object lifecycle management for more information.
-            "rule": [ # A lifecycle management rule, which is made of an action to take and the condition(s) under which the action will be taken.
-              {
-                "action": { # The action to take.
-                  "type": "A String", # Type of the action, e.g. Delete.
-                },
-                "condition": { # The condition(s) under which the action will be taken.
-                  "isLive": True or False, # Relevant only for versioned objects. If the value is true, this condition matches live objects; if the value is false, it matches archived objects.
-                  "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
-                  "age": 42, # Age of an object (in days). This condition is satisfied when an object reaches the specified age.
-                  "createdBefore": "A String", # A date in RFC 3339 format with only the date part, e.g. "2013-01-15". This condition is satisfied when an object is created before midnight of the specified date in UTC.
-                },
-              },
-            ],
-          },
-          "id": "A String", # The ID of the bucket.
-          "selfLink": "A String", # The URI of this bucket.
-          "storageClass": "A String", # The bucket's storage class. This defines how objects in the bucket will be stored and determines the SLA and the cost of storage. Typical values are STANDARD and DURABLE_REDUCED_AVAILABILITY. Defaults to STANDARD. See the developer's guide for the authoritative list.
-        },
-    ],
-    "kind": "storage#buckets", # The kind of item this is. For lists of buckets, this is always storage#buckets.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(bucket, body, projection=None, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</code>
-  <pre>Updates a bucket. This method supports patch semantics.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A bucket.
-    "website": { # The bucket's website configuration.
-      "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
-      "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
-    },
-    "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
-    "logging": { # The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.
-      "logObjectPrefix": "A String", # A prefix for log object names.
-      "logBucket": "A String", # The destination bucket where the current bucket's logs should be placed.
-    },
-    "name": "A String", # The name of the bucket.
-    "metageneration": "A String", # The metadata generation of this bucket.
-    "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
-    "versioning": { # The bucket's versioning configuration.
-      "enabled": True or False, # While set to true, versioning is fully enabled for this bucket.
-    },
-    "acl": [ # Access controls on the bucket.
-      { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-          "id": "A String", # The ID of the access-control entry.
-          "entityId": "A String", # The ID for the entity, if any.
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-    ],
-    "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "generation": "A String", # The content generation of the object.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "id": "A String", # The ID of the access-control entry.
-        "entityId": "A String", # The ID for the entity, if any.
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "etag": "A String", # HTTP 1.1 Entity tag for the bucket.
-    "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Typical values are US and EU. Defaults to US. See the developer's guide for the authoritative list.
-    "cors": [ # The bucket's Cross-Origin Resource Sharing (CORS) configuration.
-      {
-        "origin": [ # The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
-          "A String",
-        ],
-        "responseHeader": [ # The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
-          "A String",
-        ],
-        "method": [ # The list of HTTP methods on which to include CORS response headers, e.g. GET, OPTIONS, POST. Note, "*" is permitted in the list of methods, and means "any method".
-          "A String",
-        ],
-        "maxAgeSeconds": 42, # The value, in seconds, to return in the  Access-Control-Max-Age header used in preflight responses.
-      },
-    ],
-    "owner": { # The owner of the bucket. This will always be the project team's owner group.
-      "entityId": "A String", # The ID for the entity.
-      "entity": "A String", # The entity, in the form group-groupId.
-    },
-    "lifecycle": { # The bucket's lifecycle configuration. See object lifecycle management for more information.
-      "rule": [ # A lifecycle management rule, which is made of an action to take and the condition(s) under which the action will be taken.
-        {
-          "action": { # The action to take.
-            "type": "A String", # Type of the action, e.g. Delete.
-          },
-          "condition": { # The condition(s) under which the action will be taken.
-            "isLive": True or False, # Relevant only for versioned objects. If the value is true, this condition matches live objects; if the value is false, it matches archived objects.
-            "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
-            "age": 42, # Age of an object (in days). This condition is satisfied when an object reaches the specified age.
-            "createdBefore": "A String", # A date in RFC 3339 format with only the date part, e.g. "2013-01-15". This condition is satisfied when an object is created before midnight of the specified date in UTC.
-          },
-        },
-      ],
-    },
-    "id": "A String", # The ID of the bucket.
-    "selfLink": "A String", # The URI of this bucket.
-    "storageClass": "A String", # The bucket's storage class. This defines how objects in the bucket will be stored and determines the SLA and the cost of storage. Typical values are STANDARD and DURABLE_REDUCED_AVAILABILITY. Defaults to STANDARD. See the developer's guide for the authoritative list.
-  }
-
-  projection: string, Set of properties to return. Defaults to full.
-    Allowed values
-      full - Include all properties.
-      noAcl - Omit acl and defaultObjectAcl properties.
-  ifMetagenerationMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.
-  ifMetagenerationNotMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value.
-
-Returns:
-  An object of the form:
-
-    { # A bucket.
-      "website": { # The bucket's website configuration.
-        "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
-        "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
-      },
-      "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
-      "logging": { # The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.
-        "logObjectPrefix": "A String", # A prefix for log object names.
-        "logBucket": "A String", # The destination bucket where the current bucket's logs should be placed.
-      },
-      "name": "A String", # The name of the bucket.
-      "metageneration": "A String", # The metadata generation of this bucket.
-      "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
-      "versioning": { # The bucket's versioning configuration.
-        "enabled": True or False, # While set to true, versioning is fully enabled for this bucket.
-      },
-      "acl": [ # Access controls on the bucket.
-        { # An access-control entry.
-            "domain": "A String", # The domain associated with the entity, if any.
-            "bucket": "A String", # The name of the bucket.
-            "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-            "entity": "A String", # The entity holding the permission, in one of the following forms:
-                # - user-userId
-                # - user-email
-                # - group-groupId
-                # - group-email
-                # - allUsers
-                # - allAuthenticatedUsers
-            "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-            "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-            "id": "A String", # The ID of the access-control entry.
-            "entityId": "A String", # The ID for the entity, if any.
-            "email": "A String", # The email address associated with the entity, if any.
-            "selfLink": "A String", # The link to this access-control entry.
-          },
-      ],
-      "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
-        { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "generation": "A String", # The content generation of the object.
-          "object": "A String", # The name of the object.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-          "id": "A String", # The ID of the access-control entry.
-          "entityId": "A String", # The ID for the entity, if any.
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-      ],
-      "etag": "A String", # HTTP 1.1 Entity tag for the bucket.
-      "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Typical values are US and EU. Defaults to US. See the developer's guide for the authoritative list.
-      "cors": [ # The bucket's Cross-Origin Resource Sharing (CORS) configuration.
-        {
-          "origin": [ # The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
-            "A String",
-          ],
-          "responseHeader": [ # The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
-            "A String",
-          ],
-          "method": [ # The list of HTTP methods on which to include CORS response headers, e.g. GET, OPTIONS, POST. Note, "*" is permitted in the list of methods, and means "any method".
-            "A String",
-          ],
-          "maxAgeSeconds": 42, # The value, in seconds, to return in the  Access-Control-Max-Age header used in preflight responses.
-        },
-      ],
-      "owner": { # The owner of the bucket. This will always be the project team's owner group.
-        "entityId": "A String", # The ID for the entity.
-        "entity": "A String", # The entity, in the form group-groupId.
-      },
-      "lifecycle": { # The bucket's lifecycle configuration. See object lifecycle management for more information.
-        "rule": [ # A lifecycle management rule, which is made of an action to take and the condition(s) under which the action will be taken.
-          {
-            "action": { # The action to take.
-              "type": "A String", # Type of the action, e.g. Delete.
-            },
-            "condition": { # The condition(s) under which the action will be taken.
-              "isLive": True or False, # Relevant only for versioned objects. If the value is true, this condition matches live objects; if the value is false, it matches archived objects.
-              "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
-              "age": 42, # Age of an object (in days). This condition is satisfied when an object reaches the specified age.
-              "createdBefore": "A String", # A date in RFC 3339 format with only the date part, e.g. "2013-01-15". This condition is satisfied when an object is created before midnight of the specified date in UTC.
-            },
-          },
-        ],
-      },
-      "id": "A String", # The ID of the bucket.
-      "selfLink": "A String", # The URI of this bucket.
-      "storageClass": "A String", # The bucket's storage class. This defines how objects in the bucket will be stored and determines the SLA and the cost of storage. Typical values are STANDARD and DURABLE_REDUCED_AVAILABILITY. Defaults to STANDARD. See the developer's guide for the authoritative list.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(bucket, body, projection=None, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</code>
-  <pre>Updates a bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A bucket.
-    "website": { # The bucket's website configuration.
-      "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
-      "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
-    },
-    "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
-    "logging": { # The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.
-      "logObjectPrefix": "A String", # A prefix for log object names.
-      "logBucket": "A String", # The destination bucket where the current bucket's logs should be placed.
-    },
-    "name": "A String", # The name of the bucket.
-    "metageneration": "A String", # The metadata generation of this bucket.
-    "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
-    "versioning": { # The bucket's versioning configuration.
-      "enabled": True or False, # While set to true, versioning is fully enabled for this bucket.
-    },
-    "acl": [ # Access controls on the bucket.
-      { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-          "id": "A String", # The ID of the access-control entry.
-          "entityId": "A String", # The ID for the entity, if any.
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-    ],
-    "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "generation": "A String", # The content generation of the object.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "id": "A String", # The ID of the access-control entry.
-        "entityId": "A String", # The ID for the entity, if any.
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "etag": "A String", # HTTP 1.1 Entity tag for the bucket.
-    "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Typical values are US and EU. Defaults to US. See the developer's guide for the authoritative list.
-    "cors": [ # The bucket's Cross-Origin Resource Sharing (CORS) configuration.
-      {
-        "origin": [ # The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
-          "A String",
-        ],
-        "responseHeader": [ # The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
-          "A String",
-        ],
-        "method": [ # The list of HTTP methods on which to include CORS response headers, e.g. GET, OPTIONS, POST. Note, "*" is permitted in the list of methods, and means "any method".
-          "A String",
-        ],
-        "maxAgeSeconds": 42, # The value, in seconds, to return in the  Access-Control-Max-Age header used in preflight responses.
-      },
-    ],
-    "owner": { # The owner of the bucket. This will always be the project team's owner group.
-      "entityId": "A String", # The ID for the entity.
-      "entity": "A String", # The entity, in the form group-groupId.
-    },
-    "lifecycle": { # The bucket's lifecycle configuration. See object lifecycle management for more information.
-      "rule": [ # A lifecycle management rule, which is made of an action to take and the condition(s) under which the action will be taken.
-        {
-          "action": { # The action to take.
-            "type": "A String", # Type of the action, e.g. Delete.
-          },
-          "condition": { # The condition(s) under which the action will be taken.
-            "isLive": True or False, # Relevant only for versioned objects. If the value is true, this condition matches live objects; if the value is false, it matches archived objects.
-            "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
-            "age": 42, # Age of an object (in days). This condition is satisfied when an object reaches the specified age.
-            "createdBefore": "A String", # A date in RFC 3339 format with only the date part, e.g. "2013-01-15". This condition is satisfied when an object is created before midnight of the specified date in UTC.
-          },
-        },
-      ],
-    },
-    "id": "A String", # The ID of the bucket.
-    "selfLink": "A String", # The URI of this bucket.
-    "storageClass": "A String", # The bucket's storage class. This defines how objects in the bucket will be stored and determines the SLA and the cost of storage. Typical values are STANDARD and DURABLE_REDUCED_AVAILABILITY. Defaults to STANDARD. See the developer's guide for the authoritative list.
-  }
-
-  projection: string, Set of properties to return. Defaults to full.
-    Allowed values
-      full - Include all properties.
-      noAcl - Omit acl and defaultObjectAcl properties.
-  ifMetagenerationMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.
-  ifMetagenerationNotMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value.
-
-Returns:
-  An object of the form:
-
-    { # A bucket.
-      "website": { # The bucket's website configuration.
-        "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
-        "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
-      },
-      "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
-      "logging": { # The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.
-        "logObjectPrefix": "A String", # A prefix for log object names.
-        "logBucket": "A String", # The destination bucket where the current bucket's logs should be placed.
-      },
-      "name": "A String", # The name of the bucket.
-      "metageneration": "A String", # The metadata generation of this bucket.
-      "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
-      "versioning": { # The bucket's versioning configuration.
-        "enabled": True or False, # While set to true, versioning is fully enabled for this bucket.
-      },
-      "acl": [ # Access controls on the bucket.
-        { # An access-control entry.
-            "domain": "A String", # The domain associated with the entity, if any.
-            "bucket": "A String", # The name of the bucket.
-            "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
-            "entity": "A String", # The entity holding the permission, in one of the following forms:
-                # - user-userId
-                # - user-email
-                # - group-groupId
-                # - group-email
-                # - allUsers
-                # - allAuthenticatedUsers
-            "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-            "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
-            "id": "A String", # The ID of the access-control entry.
-            "entityId": "A String", # The ID for the entity, if any.
-            "email": "A String", # The email address associated with the entity, if any.
-            "selfLink": "A String", # The link to this access-control entry.
-          },
-      ],
-      "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
-        { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "generation": "A String", # The content generation of the object.
-          "object": "A String", # The name of the object.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-          "id": "A String", # The ID of the access-control entry.
-          "entityId": "A String", # The ID for the entity, if any.
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-      ],
-      "etag": "A String", # HTTP 1.1 Entity tag for the bucket.
-      "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Typical values are US and EU. Defaults to US. See the developer's guide for the authoritative list.
-      "cors": [ # The bucket's Cross-Origin Resource Sharing (CORS) configuration.
-        {
-          "origin": [ # The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
-            "A String",
-          ],
-          "responseHeader": [ # The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
-            "A String",
-          ],
-          "method": [ # The list of HTTP methods on which to include CORS response headers, e.g. GET, OPTIONS, POST. Note, "*" is permitted in the list of methods, and means "any method".
-            "A String",
-          ],
-          "maxAgeSeconds": 42, # The value, in seconds, to return in the  Access-Control-Max-Age header used in preflight responses.
-        },
-      ],
-      "owner": { # The owner of the bucket. This will always be the project team's owner group.
-        "entityId": "A String", # The ID for the entity.
-        "entity": "A String", # The entity, in the form group-groupId.
-      },
-      "lifecycle": { # The bucket's lifecycle configuration. See object lifecycle management for more information.
-        "rule": [ # A lifecycle management rule, which is made of an action to take and the condition(s) under which the action will be taken.
-          {
-            "action": { # The action to take.
-              "type": "A String", # Type of the action, e.g. Delete.
-            },
-            "condition": { # The condition(s) under which the action will be taken.
-              "isLive": True or False, # Relevant only for versioned objects. If the value is true, this condition matches live objects; if the value is false, it matches archived objects.
-              "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
-              "age": 42, # Age of an object (in days). This condition is satisfied when an object reaches the specified age.
-              "createdBefore": "A String", # A date in RFC 3339 format with only the date part, e.g. "2013-01-15". This condition is satisfied when an object is created before midnight of the specified date in UTC.
-            },
-          },
-        ],
-      },
-      "id": "A String", # The ID of the bucket.
-      "selfLink": "A String", # The URI of this bucket.
-      "storageClass": "A String", # The bucket's storage class. This defines how objects in the bucket will be stored and determines the SLA and the cost of storage. Typical values are STANDARD and DURABLE_REDUCED_AVAILABILITY. Defaults to STANDARD. See the developer's guide for the authoritative list.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta2.channels.html b/docs/dyn/storage_v1beta2.channels.html
deleted file mode 100644
index 9e1d0f3..0000000
--- a/docs/dyn/storage_v1beta2.channels.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="storage_v1beta2.html">Cloud Storage API</a> . <a href="storage_v1beta2.channels.html">channels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#stop">stop(body)</a></code></p>
-<p class="firstline">A description of how to use this function</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="stop">stop(body)</code>
-  <pre>A description of how to use this function
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "resourceUri": "A String", # The canonicalized ID of the watched resource.
-    "kind": "api#channel", # A channel watching an API resource
-    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
-    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
-    "params": { # Additional parameters controlling delivery channel behavior
-      "a_key": "A String", # Declares a new parameter by name.
-    },
-    "expiration": "A String", # The expiration instant for this channel if it is defined.
-    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
-    "type": "A String", # The type of delivery mechanism used by this channel
-    "id": "A String", # A UUID for the channel
-  }
-
-</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta2.defaultObjectAccessControls.html b/docs/dyn/storage_v1beta2.defaultObjectAccessControls.html
deleted file mode 100644
index 5409d46..0000000
--- a/docs/dyn/storage_v1beta2.defaultObjectAccessControls.html
+++ /dev/null
@@ -1,327 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="storage_v1beta2.html">Cloud Storage API</a> . <a href="storage_v1beta2.defaultObjectAccessControls.html">defaultObjectAccessControls</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(bucket, entity)</a></code></p>
-<p class="firstline">Permanently deletes the default object ACL entry for the specified entity on the specified bucket.</p>
-<p class="toc_element">
-  <code><a href="#get">get(bucket, entity)</a></code></p>
-<p class="firstline">Returns the default object ACL entry for the specified entity on the specified bucket.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(bucket, body)</a></code></p>
-<p class="firstline">Creates a new default object ACL entry on the specified bucket.</p>
-<p class="toc_element">
-  <code><a href="#list">list(bucket)</a></code></p>
-<p class="firstline">Retrieves default object ACL entries on the specified bucket.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(bucket, entity, body)</a></code></p>
-<p class="firstline">Updates a default object ACL entry on the specified bucket. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(bucket, entity, body)</a></code></p>
-<p class="firstline">Updates a default object ACL entry on the specified bucket.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(bucket, entity)</code>
-  <pre>Permanently deletes the default object ACL entry for the specified entity on the specified bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(bucket, entity)</code>
-  <pre>Returns the default object ACL entry for the specified entity on the specified bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-    "domain": "A String", # The domain associated with the entity, if any.
-    "generation": "A String", # The content generation of the object.
-    "object": "A String", # The name of the object.
-    "bucket": "A String", # The name of the bucket.
-    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-    "entity": "A String", # The entity holding the permission, in one of the following forms:
-        # - user-userId
-        # - user-email
-        # - group-groupId
-        # - group-email
-        # - allUsers
-        # - allAuthenticatedUsers
-    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-    "id": "A String", # The ID of the access-control entry.
-    "entityId": "A String", # The ID for the entity, if any.
-    "email": "A String", # The email address associated with the entity, if any.
-    "selfLink": "A String", # The link to this access-control entry.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(bucket, body)</code>
-  <pre>Creates a new default object ACL entry on the specified bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An access-control entry.
-  "domain": "A String", # The domain associated with the entity, if any.
-  "generation": "A String", # The content generation of the object.
-  "object": "A String", # The name of the object.
-  "bucket": "A String", # The name of the bucket.
-  "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-  "entity": "A String", # The entity holding the permission, in one of the following forms:
-      # - user-userId
-      # - user-email
-      # - group-groupId
-      # - group-email
-      # - allUsers
-      # - allAuthenticatedUsers
-  "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-  "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-  "id": "A String", # The ID of the access-control entry.
-  "entityId": "A String", # The ID for the entity, if any.
-  "email": "A String", # The email address associated with the entity, if any.
-  "selfLink": "A String", # The link to this access-control entry.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-    "domain": "A String", # The domain associated with the entity, if any.
-    "generation": "A String", # The content generation of the object.
-    "object": "A String", # The name of the object.
-    "bucket": "A String", # The name of the bucket.
-    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-    "entity": "A String", # The entity holding the permission, in one of the following forms:
-        # - user-userId
-        # - user-email
-        # - group-groupId
-        # - group-email
-        # - allUsers
-        # - allAuthenticatedUsers
-    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-    "id": "A String", # The ID of the access-control entry.
-    "entityId": "A String", # The ID for the entity, if any.
-    "email": "A String", # The email address associated with the entity, if any.
-    "selfLink": "A String", # The link to this access-control entry.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(bucket)</code>
-  <pre>Retrieves default object ACL entries on the specified bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-
-Returns:
-  An object of the form:
-
-    { # An access-control list.
-    "items": [ # The list of items.
-      "",
-    ],
-    "kind": "storage#objectAccessControls", # The kind of item this is. For lists of object access control entries, this is always storage#objectAccessControls.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(bucket, entity, body)</code>
-  <pre>Updates a default object ACL entry on the specified bucket. This method supports patch semantics.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An access-control entry.
-  "domain": "A String", # The domain associated with the entity, if any.
-  "generation": "A String", # The content generation of the object.
-  "object": "A String", # The name of the object.
-  "bucket": "A String", # The name of the bucket.
-  "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-  "entity": "A String", # The entity holding the permission, in one of the following forms:
-      # - user-userId
-      # - user-email
-      # - group-groupId
-      # - group-email
-      # - allUsers
-      # - allAuthenticatedUsers
-  "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-  "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-  "id": "A String", # The ID of the access-control entry.
-  "entityId": "A String", # The ID for the entity, if any.
-  "email": "A String", # The email address associated with the entity, if any.
-  "selfLink": "A String", # The link to this access-control entry.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-    "domain": "A String", # The domain associated with the entity, if any.
-    "generation": "A String", # The content generation of the object.
-    "object": "A String", # The name of the object.
-    "bucket": "A String", # The name of the bucket.
-    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-    "entity": "A String", # The entity holding the permission, in one of the following forms:
-        # - user-userId
-        # - user-email
-        # - group-groupId
-        # - group-email
-        # - allUsers
-        # - allAuthenticatedUsers
-    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-    "id": "A String", # The ID of the access-control entry.
-    "entityId": "A String", # The ID for the entity, if any.
-    "email": "A String", # The email address associated with the entity, if any.
-    "selfLink": "A String", # The link to this access-control entry.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(bucket, entity, body)</code>
-  <pre>Updates a default object ACL entry on the specified bucket.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An access-control entry.
-  "domain": "A String", # The domain associated with the entity, if any.
-  "generation": "A String", # The content generation of the object.
-  "object": "A String", # The name of the object.
-  "bucket": "A String", # The name of the bucket.
-  "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-  "entity": "A String", # The entity holding the permission, in one of the following forms:
-      # - user-userId
-      # - user-email
-      # - group-groupId
-      # - group-email
-      # - allUsers
-      # - allAuthenticatedUsers
-  "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-  "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-  "id": "A String", # The ID of the access-control entry.
-  "entityId": "A String", # The ID for the entity, if any.
-  "email": "A String", # The email address associated with the entity, if any.
-  "selfLink": "A String", # The link to this access-control entry.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-    "domain": "A String", # The domain associated with the entity, if any.
-    "generation": "A String", # The content generation of the object.
-    "object": "A String", # The name of the object.
-    "bucket": "A String", # The name of the bucket.
-    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-    "entity": "A String", # The entity holding the permission, in one of the following forms:
-        # - user-userId
-        # - user-email
-        # - group-groupId
-        # - group-email
-        # - allUsers
-        # - allAuthenticatedUsers
-    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-    "id": "A String", # The ID of the access-control entry.
-    "entityId": "A String", # The ID for the entity, if any.
-    "email": "A String", # The email address associated with the entity, if any.
-    "selfLink": "A String", # The link to this access-control entry.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta2.html b/docs/dyn/storage_v1beta2.html
deleted file mode 100644
index 31c606a..0000000
--- a/docs/dyn/storage_v1beta2.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="storage_v1beta2.html">Cloud Storage API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="storage_v1beta2.bucketAccessControls.html">bucketAccessControls()</a></code>
-</p>
-<p class="firstline">Returns the bucketAccessControls Resource.</p>
-
-<p class="toc_element">
-  <code><a href="storage_v1beta2.buckets.html">buckets()</a></code>
-</p>
-<p class="firstline">Returns the buckets Resource.</p>
-
-<p class="toc_element">
-  <code><a href="storage_v1beta2.channels.html">channels()</a></code>
-</p>
-<p class="firstline">Returns the channels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="storage_v1beta2.defaultObjectAccessControls.html">defaultObjectAccessControls()</a></code>
-</p>
-<p class="firstline">Returns the defaultObjectAccessControls Resource.</p>
-
-<p class="toc_element">
-  <code><a href="storage_v1beta2.objectAccessControls.html">objectAccessControls()</a></code>
-</p>
-<p class="firstline">Returns the objectAccessControls Resource.</p>
-
-<p class="toc_element">
-  <code><a href="storage_v1beta2.objects.html">objects()</a></code>
-</p>
-<p class="firstline">Returns the objects Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta2.objectAccessControls.html b/docs/dyn/storage_v1beta2.objectAccessControls.html
deleted file mode 100644
index c756438..0000000
--- a/docs/dyn/storage_v1beta2.objectAccessControls.html
+++ /dev/null
@@ -1,339 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="storage_v1beta2.html">Cloud Storage API</a> . <a href="storage_v1beta2.objectAccessControls.html">objectAccessControls</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(bucket, object, entity, generation=None)</a></code></p>
-<p class="firstline">Permanently deletes the ACL entry for the specified entity on the specified object.</p>
-<p class="toc_element">
-  <code><a href="#get">get(bucket, object, entity, generation=None)</a></code></p>
-<p class="firstline">Returns the ACL entry for the specified entity on the specified object.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(bucket, object, body, generation=None)</a></code></p>
-<p class="firstline">Creates a new ACL entry on the specified object.</p>
-<p class="toc_element">
-  <code><a href="#list">list(bucket, object, generation=None)</a></code></p>
-<p class="firstline">Retrieves ACL entries on the specified object.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(bucket, object, entity, body, generation=None)</a></code></p>
-<p class="firstline">Updates an ACL entry on the specified object. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(bucket, object, entity, body, generation=None)</a></code></p>
-<p class="firstline">Updates an ACL entry on the specified object.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(bucket, object, entity, generation=None)</code>
-  <pre>Permanently deletes the ACL entry for the specified entity on the specified object.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  object: string, Name of the object. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(bucket, object, entity, generation=None)</code>
-  <pre>Returns the ACL entry for the specified entity on the specified object.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  object: string, Name of the object. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-    "domain": "A String", # The domain associated with the entity, if any.
-    "generation": "A String", # The content generation of the object.
-    "object": "A String", # The name of the object.
-    "bucket": "A String", # The name of the bucket.
-    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-    "entity": "A String", # The entity holding the permission, in one of the following forms:
-        # - user-userId
-        # - user-email
-        # - group-groupId
-        # - group-email
-        # - allUsers
-        # - allAuthenticatedUsers
-    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-    "id": "A String", # The ID of the access-control entry.
-    "entityId": "A String", # The ID for the entity, if any.
-    "email": "A String", # The email address associated with the entity, if any.
-    "selfLink": "A String", # The link to this access-control entry.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(bucket, object, body, generation=None)</code>
-  <pre>Creates a new ACL entry on the specified object.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  object: string, Name of the object. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An access-control entry.
-  "domain": "A String", # The domain associated with the entity, if any.
-  "generation": "A String", # The content generation of the object.
-  "object": "A String", # The name of the object.
-  "bucket": "A String", # The name of the bucket.
-  "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-  "entity": "A String", # The entity holding the permission, in one of the following forms:
-      # - user-userId
-      # - user-email
-      # - group-groupId
-      # - group-email
-      # - allUsers
-      # - allAuthenticatedUsers
-  "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-  "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-  "id": "A String", # The ID of the access-control entry.
-  "entityId": "A String", # The ID for the entity, if any.
-  "email": "A String", # The email address associated with the entity, if any.
-  "selfLink": "A String", # The link to this access-control entry.
-}
-
-  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-    "domain": "A String", # The domain associated with the entity, if any.
-    "generation": "A String", # The content generation of the object.
-    "object": "A String", # The name of the object.
-    "bucket": "A String", # The name of the bucket.
-    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-    "entity": "A String", # The entity holding the permission, in one of the following forms:
-        # - user-userId
-        # - user-email
-        # - group-groupId
-        # - group-email
-        # - allUsers
-        # - allAuthenticatedUsers
-    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-    "id": "A String", # The ID of the access-control entry.
-    "entityId": "A String", # The ID for the entity, if any.
-    "email": "A String", # The email address associated with the entity, if any.
-    "selfLink": "A String", # The link to this access-control entry.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(bucket, object, generation=None)</code>
-  <pre>Retrieves ACL entries on the specified object.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  object: string, Name of the object. (required)
-  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
-
-Returns:
-  An object of the form:
-
-    { # An access-control list.
-    "items": [ # The list of items.
-      "",
-    ],
-    "kind": "storage#objectAccessControls", # The kind of item this is. For lists of object access control entries, this is always storage#objectAccessControls.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(bucket, object, entity, body, generation=None)</code>
-  <pre>Updates an ACL entry on the specified object. This method supports patch semantics.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  object: string, Name of the object. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An access-control entry.
-  "domain": "A String", # The domain associated with the entity, if any.
-  "generation": "A String", # The content generation of the object.
-  "object": "A String", # The name of the object.
-  "bucket": "A String", # The name of the bucket.
-  "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-  "entity": "A String", # The entity holding the permission, in one of the following forms:
-      # - user-userId
-      # - user-email
-      # - group-groupId
-      # - group-email
-      # - allUsers
-      # - allAuthenticatedUsers
-  "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-  "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-  "id": "A String", # The ID of the access-control entry.
-  "entityId": "A String", # The ID for the entity, if any.
-  "email": "A String", # The email address associated with the entity, if any.
-  "selfLink": "A String", # The link to this access-control entry.
-}
-
-  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-    "domain": "A String", # The domain associated with the entity, if any.
-    "generation": "A String", # The content generation of the object.
-    "object": "A String", # The name of the object.
-    "bucket": "A String", # The name of the bucket.
-    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-    "entity": "A String", # The entity holding the permission, in one of the following forms:
-        # - user-userId
-        # - user-email
-        # - group-groupId
-        # - group-email
-        # - allUsers
-        # - allAuthenticatedUsers
-    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-    "id": "A String", # The ID of the access-control entry.
-    "entityId": "A String", # The ID for the entity, if any.
-    "email": "A String", # The email address associated with the entity, if any.
-    "selfLink": "A String", # The link to this access-control entry.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(bucket, object, entity, body, generation=None)</code>
-  <pre>Updates an ACL entry on the specified object.
-
-Args:
-  bucket: string, Name of a bucket. (required)
-  object: string, Name of the object. (required)
-  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An access-control entry.
-  "domain": "A String", # The domain associated with the entity, if any.
-  "generation": "A String", # The content generation of the object.
-  "object": "A String", # The name of the object.
-  "bucket": "A String", # The name of the bucket.
-  "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-  "entity": "A String", # The entity holding the permission, in one of the following forms:
-      # - user-userId
-      # - user-email
-      # - group-groupId
-      # - group-email
-      # - allUsers
-      # - allAuthenticatedUsers
-  "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-  "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-  "id": "A String", # The ID of the access-control entry.
-  "entityId": "A String", # The ID for the entity, if any.
-  "email": "A String", # The email address associated with the entity, if any.
-  "selfLink": "A String", # The link to this access-control entry.
-}
-
-  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
-
-Returns:
-  An object of the form:
-
-    { # An access-control entry.
-    "domain": "A String", # The domain associated with the entity, if any.
-    "generation": "A String", # The content generation of the object.
-    "object": "A String", # The name of the object.
-    "bucket": "A String", # The name of the bucket.
-    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-    "entity": "A String", # The entity holding the permission, in one of the following forms:
-        # - user-userId
-        # - user-email
-        # - group-groupId
-        # - group-email
-        # - allUsers
-        # - allAuthenticatedUsers
-    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-    "id": "A String", # The ID of the access-control entry.
-    "entityId": "A String", # The ID for the entity, if any.
-    "email": "A String", # The email address associated with the entity, if any.
-    "selfLink": "A String", # The link to this access-control entry.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta2.objects.html b/docs/dyn/storage_v1beta2.objects.html
deleted file mode 100644
index ead03db..0000000
--- a/docs/dyn/storage_v1beta2.objects.html
+++ /dev/null
@@ -1,1354 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="storage_v1beta2.html">Cloud Storage API</a> . <a href="storage_v1beta2.objects.html">objects</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#compose">compose(destinationBucket, destinationObject, body, ifMetagenerationMatch=None, ifGenerationMatch=None)</a></code></p>
-<p class="firstline">Concatenates a list of existing objects into a new object in the same bucket.</p>
-<p class="toc_element">
-  <code><a href="#compose_media">compose_media(destinationBucket, destinationObject, body, ifMetagenerationMatch=None, ifGenerationMatch=None)</a></code></p>
-<p class="firstline">Concatenates a list of existing objects into a new object in the same bucket.</p>
-<p class="toc_element">
-  <code><a href="#copy">copy(sourceBucket, sourceObject, destinationBucket, destinationObject, body, projection=None, sourceGeneration=None, ifSourceGenerationNotMatch=None, ifSourceMetagenerationNotMatch=None, ifGenerationMatch=None, ifGenerationNotMatch=None, ifMetagenerationNotMatch=None, ifSourceGenerationMatch=None, ifSourceMetagenerationMatch=None, ifMetagenerationMatch=None)</a></code></p>
-<p class="firstline">Copies an object to a destination in the same location. Optionally overrides metadata.</p>
-<p class="toc_element">
-  <code><a href="#copy_media">copy_media(sourceBucket, sourceObject, destinationBucket, destinationObject, body, projection=None, sourceGeneration=None, ifSourceGenerationNotMatch=None, ifSourceMetagenerationNotMatch=None, ifGenerationMatch=None, ifGenerationNotMatch=None, ifMetagenerationNotMatch=None, ifSourceGenerationMatch=None, ifSourceMetagenerationMatch=None, ifMetagenerationMatch=None)</a></code></p>
-<p class="firstline">Copies an object to a destination in the same location. Optionally overrides metadata.</p>
-<p class="toc_element">
-  <code><a href="#delete">delete(bucket, object, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None)</a></code></p>
-<p class="firstline">Deletes data blobs and associated metadata. Deletions are permanent if versioning is not enabled for the bucket, or if the generation parameter is used.</p>
-<p class="toc_element">
-  <code><a href="#get">get(bucket, object, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</a></code></p>
-<p class="firstline">Retrieves objects or their associated metadata.</p>
-<p class="toc_element">
-  <code><a href="#get_media">get_media(bucket, object, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</a></code></p>
-<p class="firstline">Retrieves objects or their associated metadata.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(bucket, body=None, media_body=None, projection=None, ifMetagenerationMatch=None, name=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, ifGenerationNotMatch=None)</a></code></p>
-<p class="firstline">Stores new data blobs and associated metadata.</p>
-<p class="toc_element">
-  <code><a href="#insert_media">insert_media(bucket, body=None, media_body=None, projection=None, ifMetagenerationMatch=None, name=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, ifGenerationNotMatch=None)</a></code></p>
-<p class="firstline">Stores new data blobs and associated metadata.</p>
-<p class="toc_element">
-  <code><a href="#list">list(bucket, projection=None, versions=None, delimiter=None, maxResults=None, pageToken=None, prefix=None)</a></code></p>
-<p class="firstline">Retrieves a list of objects matching the criteria.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(bucket, object, body, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</a></code></p>
-<p class="firstline">Updates a data blob's associated metadata. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(bucket, object, body, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</a></code></p>
-<p class="firstline">Updates a data blob's associated metadata.</p>
-<p class="toc_element">
-  <code><a href="#update_media">update_media(bucket, object, body, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</a></code></p>
-<p class="firstline">Updates a data blob's associated metadata.</p>
-<p class="toc_element">
-  <code><a href="#watchAll">watchAll(bucket, body, projection=None, versions=None, delimiter=None, maxResults=None, pageToken=None, prefix=None)</a></code></p>
-<p class="firstline">Watch for changes on all objects in a bucket.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="compose">compose(destinationBucket, destinationObject, body, ifMetagenerationMatch=None, ifGenerationMatch=None)</code>
-  <pre>Concatenates a list of existing objects into a new object in the same bucket.
-
-Args:
-  destinationBucket: string, Name of the bucket in which to store the new object. (required)
-  destinationObject: string, Name of the new object. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A Compose request.
-    "kind": "storage#composeRequest", # The kind of item this is.
-    "destination": { # An object. # Properties of the resulting object
-        "generation": "A String", # The content generation of this object. Used for object versioning.
-        "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
-        "mediaLink": "A String", # Media download link.
-        "owner": { # The owner of the object. This will always be the uploader of the object.
-          "entityId": "A String", # The ID for the entity.
-          "entity": "A String", # The entity, in the form user-userId.
-        },
-        "cacheControl": "A String", # Cache-Control directive for the object data.
-        "acl": [ # Access controls on the object.
-          { # An access-control entry.
-            "domain": "A String", # The domain associated with the entity, if any.
-            "generation": "A String", # The content generation of the object.
-            "object": "A String", # The name of the object.
-            "bucket": "A String", # The name of the bucket.
-            "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-            "entity": "A String", # The entity holding the permission, in one of the following forms:
-                # - user-userId
-                # - user-email
-                # - group-groupId
-                # - group-email
-                # - allUsers
-                # - allAuthenticatedUsers
-            "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-            "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-            "id": "A String", # The ID of the access-control entry.
-            "entityId": "A String", # The ID for the entity, if any.
-            "email": "A String", # The email address associated with the entity, if any.
-            "selfLink": "A String", # The link to this access-control entry.
-          },
-        ],
-        "id": "A String", # The ID of the object.
-        "size": "A String", # Content-Length of the data in bytes.
-        "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
-        "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
-        "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
-        "etag": "A String", # HTTP 1.1 Entity tag for the object.
-        "metadata": { # User-provided metadata, in key/value pairs.
-          "a_key": "A String", # An individual metadata entry.
-        },
-        "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
-        "contentType": "A String", # Content-Type of the object data.
-        "contentLanguage": "A String", # Content-Language of the object data.
-        "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
-        "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-        "name": "A String", # The name of this object. Required if not specified by URL parameter.
-        "bucket": "A String", # The bucket containing this object.
-        "contentEncoding": "A String", # Content-Encoding of the object data.
-        "contentDisposition": "A String", # Content-Disposition of the object data.
-        "selfLink": "A String", # The link to this object.
-      },
-    "sourceObjects": [ # The list of source objects that will be concatenated into a single object.
-      {
-        "generation": "A String", # The generation of this object to use as the source.
-        "name": "A String", # The source object's name. The source object's bucket is implicitly the destination bucket.
-        "objectPreconditions": {
-          "ifGenerationMatch": "A String", # Only perform the composition if the generation of the source object that would be used matches this value. If this value and a generation are both specified, they must be the same value or the call will fail.
-        },
-      },
-    ],
-  }
-
-  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
-  ifGenerationMatch: string, Makes the operation conditional on whether the object's current generation matches the given value.
-
-Returns:
-  An object of the form:
-
-    { # An object.
-      "generation": "A String", # The content generation of this object. Used for object versioning.
-      "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
-      "mediaLink": "A String", # Media download link.
-      "owner": { # The owner of the object. This will always be the uploader of the object.
-        "entityId": "A String", # The ID for the entity.
-        "entity": "A String", # The entity, in the form user-userId.
-      },
-      "cacheControl": "A String", # Cache-Control directive for the object data.
-      "acl": [ # Access controls on the object.
-        { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "generation": "A String", # The content generation of the object.
-          "object": "A String", # The name of the object.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-          "id": "A String", # The ID of the access-control entry.
-          "entityId": "A String", # The ID for the entity, if any.
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-      ],
-      "id": "A String", # The ID of the object.
-      "size": "A String", # Content-Length of the data in bytes.
-      "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
-      "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
-      "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
-      "etag": "A String", # HTTP 1.1 Entity tag for the object.
-      "metadata": { # User-provided metadata, in key/value pairs.
-        "a_key": "A String", # An individual metadata entry.
-      },
-      "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
-      "contentType": "A String", # Content-Type of the object data.
-      "contentLanguage": "A String", # Content-Language of the object data.
-      "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
-      "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-      "name": "A String", # The name of this object. Required if not specified by URL parameter.
-      "bucket": "A String", # The bucket containing this object.
-      "contentEncoding": "A String", # Content-Encoding of the object data.
-      "contentDisposition": "A String", # Content-Disposition of the object data.
-      "selfLink": "A String", # The link to this object.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="compose_media">compose_media(destinationBucket, destinationObject, body, ifMetagenerationMatch=None, ifGenerationMatch=None)</code>
-  <pre>Concatenates a list of existing objects into a new object in the same bucket.
-
-Args:
-  destinationBucket: string, Name of the bucket in which to store the new object. (required)
-  destinationObject: string, Name of the new object. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A Compose request.
-    "kind": "storage#composeRequest", # The kind of item this is.
-    "destination": { # An object. # Properties of the resulting object
-        "generation": "A String", # The content generation of this object. Used for object versioning.
-        "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
-        "mediaLink": "A String", # Media download link.
-        "owner": { # The owner of the object. This will always be the uploader of the object.
-          "entityId": "A String", # The ID for the entity.
-          "entity": "A String", # The entity, in the form user-userId.
-        },
-        "cacheControl": "A String", # Cache-Control directive for the object data.
-        "acl": [ # Access controls on the object.
-          { # An access-control entry.
-            "domain": "A String", # The domain associated with the entity, if any.
-            "generation": "A String", # The content generation of the object.
-            "object": "A String", # The name of the object.
-            "bucket": "A String", # The name of the bucket.
-            "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-            "entity": "A String", # The entity holding the permission, in one of the following forms:
-                # - user-userId
-                # - user-email
-                # - group-groupId
-                # - group-email
-                # - allUsers
-                # - allAuthenticatedUsers
-            "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-            "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-            "id": "A String", # The ID of the access-control entry.
-            "entityId": "A String", # The ID for the entity, if any.
-            "email": "A String", # The email address associated with the entity, if any.
-            "selfLink": "A String", # The link to this access-control entry.
-          },
-        ],
-        "id": "A String", # The ID of the object.
-        "size": "A String", # Content-Length of the data in bytes.
-        "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
-        "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
-        "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
-        "etag": "A String", # HTTP 1.1 Entity tag for the object.
-        "metadata": { # User-provided metadata, in key/value pairs.
-          "a_key": "A String", # An individual metadata entry.
-        },
-        "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
-        "contentType": "A String", # Content-Type of the object data.
-        "contentLanguage": "A String", # Content-Language of the object data.
-        "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
-        "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-        "name": "A String", # The name of this object. Required if not specified by URL parameter.
-        "bucket": "A String", # The bucket containing this object.
-        "contentEncoding": "A String", # Content-Encoding of the object data.
-        "contentDisposition": "A String", # Content-Disposition of the object data.
-        "selfLink": "A String", # The link to this object.
-      },
-    "sourceObjects": [ # The list of source objects that will be concatenated into a single object.
-      {
-        "generation": "A String", # The generation of this object to use as the source.
-        "name": "A String", # The source object's name. The source object's bucket is implicitly the destination bucket.
-        "objectPreconditions": {
-          "ifGenerationMatch": "A String", # Only perform the composition if the generation of the source object that would be used matches this value. If this value and a generation are both specified, they must be the same value or the call will fail.
-        },
-      },
-    ],
-  }
-
-  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
-  ifGenerationMatch: string, Makes the operation conditional on whether the object's current generation matches the given value.
-
-Returns:
-  The media object as a string.
-
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="copy">copy(sourceBucket, sourceObject, destinationBucket, destinationObject, body, projection=None, sourceGeneration=None, ifSourceGenerationNotMatch=None, ifSourceMetagenerationNotMatch=None, ifGenerationMatch=None, ifGenerationNotMatch=None, ifMetagenerationNotMatch=None, ifSourceGenerationMatch=None, ifSourceMetagenerationMatch=None, ifMetagenerationMatch=None)</code>
-  <pre>Copies an object to a destination in the same location. Optionally overrides metadata.
-
-Args:
-  sourceBucket: string, Name of the bucket in which to find the source object. (required)
-  sourceObject: string, Name of the source object. (required)
-  destinationBucket: string, Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any. (required)
-  destinationObject: string, Name of the new object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An object.
-    "generation": "A String", # The content generation of this object. Used for object versioning.
-    "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
-    "mediaLink": "A String", # Media download link.
-    "owner": { # The owner of the object. This will always be the uploader of the object.
-      "entityId": "A String", # The ID for the entity.
-      "entity": "A String", # The entity, in the form user-userId.
-    },
-    "cacheControl": "A String", # Cache-Control directive for the object data.
-    "acl": [ # Access controls on the object.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "generation": "A String", # The content generation of the object.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "id": "A String", # The ID of the access-control entry.
-        "entityId": "A String", # The ID for the entity, if any.
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "id": "A String", # The ID of the object.
-    "size": "A String", # Content-Length of the data in bytes.
-    "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
-    "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
-    "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
-    "etag": "A String", # HTTP 1.1 Entity tag for the object.
-    "metadata": { # User-provided metadata, in key/value pairs.
-      "a_key": "A String", # An individual metadata entry.
-    },
-    "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
-    "contentType": "A String", # Content-Type of the object data.
-    "contentLanguage": "A String", # Content-Language of the object data.
-    "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
-    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-    "name": "A String", # The name of this object. Required if not specified by URL parameter.
-    "bucket": "A String", # The bucket containing this object.
-    "contentEncoding": "A String", # Content-Encoding of the object data.
-    "contentDisposition": "A String", # Content-Disposition of the object data.
-    "selfLink": "A String", # The link to this object.
-  }
-
-  projection: string, Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full.
-    Allowed values
-      full - Include all properties.
-      noAcl - Omit the acl property.
-  sourceGeneration: string, If present, selects a specific revision of the source object (as opposed to the latest version, the default).
-  ifSourceGenerationNotMatch: string, Makes the operation conditional on whether the source object's generation does not match the given value.
-  ifSourceMetagenerationNotMatch: string, Makes the operation conditional on whether the source object's current metageneration does not match the given value.
-  ifGenerationMatch: string, Makes the operation conditional on whether the destination object's current generation matches the given value.
-  ifGenerationNotMatch: string, Makes the operation conditional on whether the destination object's current generation does not match the given value.
-  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the destination object's current metageneration does not match the given value.
-  ifSourceGenerationMatch: string, Makes the operation conditional on whether the source object's generation matches the given value.
-  ifSourceMetagenerationMatch: string, Makes the operation conditional on whether the source object's current metageneration matches the given value.
-  ifMetagenerationMatch: string, Makes the operation conditional on whether the destination object's current metageneration matches the given value.
-
-Returns:
-  An object of the form:
-
-    { # An object.
-      "generation": "A String", # The content generation of this object. Used for object versioning.
-      "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
-      "mediaLink": "A String", # Media download link.
-      "owner": { # The owner of the object. This will always be the uploader of the object.
-        "entityId": "A String", # The ID for the entity.
-        "entity": "A String", # The entity, in the form user-userId.
-      },
-      "cacheControl": "A String", # Cache-Control directive for the object data.
-      "acl": [ # Access controls on the object.
-        { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "generation": "A String", # The content generation of the object.
-          "object": "A String", # The name of the object.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-          "id": "A String", # The ID of the access-control entry.
-          "entityId": "A String", # The ID for the entity, if any.
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-      ],
-      "id": "A String", # The ID of the object.
-      "size": "A String", # Content-Length of the data in bytes.
-      "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
-      "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
-      "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
-      "etag": "A String", # HTTP 1.1 Entity tag for the object.
-      "metadata": { # User-provided metadata, in key/value pairs.
-        "a_key": "A String", # An individual metadata entry.
-      },
-      "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
-      "contentType": "A String", # Content-Type of the object data.
-      "contentLanguage": "A String", # Content-Language of the object data.
-      "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
-      "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-      "name": "A String", # The name of this object. Required if not specified by URL parameter.
-      "bucket": "A String", # The bucket containing this object.
-      "contentEncoding": "A String", # Content-Encoding of the object data.
-      "contentDisposition": "A String", # Content-Disposition of the object data.
-      "selfLink": "A String", # The link to this object.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="copy_media">copy_media(sourceBucket, sourceObject, destinationBucket, destinationObject, body, projection=None, sourceGeneration=None, ifSourceGenerationNotMatch=None, ifSourceMetagenerationNotMatch=None, ifGenerationMatch=None, ifGenerationNotMatch=None, ifMetagenerationNotMatch=None, ifSourceGenerationMatch=None, ifSourceMetagenerationMatch=None, ifMetagenerationMatch=None)</code>
-  <pre>Copies an object to a destination in the same location. Optionally overrides metadata.
-
-Args:
-  sourceBucket: string, Name of the bucket in which to find the source object. (required)
-  sourceObject: string, Name of the source object. (required)
-  destinationBucket: string, Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any. (required)
-  destinationObject: string, Name of the new object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An object.
-    "generation": "A String", # The content generation of this object. Used for object versioning.
-    "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
-    "mediaLink": "A String", # Media download link.
-    "owner": { # The owner of the object. This will always be the uploader of the object.
-      "entityId": "A String", # The ID for the entity.
-      "entity": "A String", # The entity, in the form user-userId.
-    },
-    "cacheControl": "A String", # Cache-Control directive for the object data.
-    "acl": [ # Access controls on the object.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "generation": "A String", # The content generation of the object.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "id": "A String", # The ID of the access-control entry.
-        "entityId": "A String", # The ID for the entity, if any.
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "id": "A String", # The ID of the object.
-    "size": "A String", # Content-Length of the data in bytes.
-    "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
-    "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
-    "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
-    "etag": "A String", # HTTP 1.1 Entity tag for the object.
-    "metadata": { # User-provided metadata, in key/value pairs.
-      "a_key": "A String", # An individual metadata entry.
-    },
-    "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
-    "contentType": "A String", # Content-Type of the object data.
-    "contentLanguage": "A String", # Content-Language of the object data.
-    "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
-    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-    "name": "A String", # The name of this object. Required if not specified by URL parameter.
-    "bucket": "A String", # The bucket containing this object.
-    "contentEncoding": "A String", # Content-Encoding of the object data.
-    "contentDisposition": "A String", # Content-Disposition of the object data.
-    "selfLink": "A String", # The link to this object.
-  }
-
-  projection: string, Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full.
-    Allowed values
-      full - Include all properties.
-      noAcl - Omit the acl property.
-  sourceGeneration: string, If present, selects a specific revision of the source object (as opposed to the latest version, the default).
-  ifSourceGenerationNotMatch: string, Makes the operation conditional on whether the source object's generation does not match the given value.
-  ifSourceMetagenerationNotMatch: string, Makes the operation conditional on whether the source object's current metageneration does not match the given value.
-  ifGenerationMatch: string, Makes the operation conditional on whether the destination object's current generation matches the given value.
-  ifGenerationNotMatch: string, Makes the operation conditional on whether the destination object's current generation does not match the given value.
-  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the destination object's current metageneration does not match the given value.
-  ifSourceGenerationMatch: string, Makes the operation conditional on whether the source object's generation matches the given value.
-  ifSourceMetagenerationMatch: string, Makes the operation conditional on whether the source object's current metageneration matches the given value.
-  ifMetagenerationMatch: string, Makes the operation conditional on whether the destination object's current metageneration matches the given value.
-
-Returns:
-  The media object as a string.
-
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(bucket, object, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None)</code>
-  <pre>Deletes data blobs and associated metadata. Deletions are permanent if versioning is not enabled for the bucket, or if the generation parameter is used.
-
-Args:
-  bucket: string, Name of the bucket in which the object resides. (required)
-  object: string, Name of the object. (required)
-  ifGenerationNotMatch: string, Makes the operation conditional on whether the object's current generation does not match the given value.
-  generation: string, If present, permanently deletes a specific revision of this object (as opposed to the latest version, the default).
-  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
-  ifGenerationMatch: string, Makes the operation conditional on whether the object's current generation matches the given value.
-  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the object's current metageneration does not match the given value.
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(bucket, object, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</code>
-  <pre>Retrieves objects or their associated metadata.
-
-Args:
-  bucket: string, Name of the bucket in which the object resides. (required)
-  object: string, Name of the object. (required)
-  ifGenerationNotMatch: string, Makes the operation conditional on whether the object's generation does not match the given value.
-  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
-  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
-  ifGenerationMatch: string, Makes the operation conditional on whether the object's generation matches the given value.
-  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the object's current metageneration does not match the given value.
-  projection: string, Set of properties to return. Defaults to noAcl.
-    Allowed values
-      full - Include all properties.
-      noAcl - Omit the acl property.
-
-Returns:
-  An object of the form:
-
-    { # An object.
-      "generation": "A String", # The content generation of this object. Used for object versioning.
-      "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
-      "mediaLink": "A String", # Media download link.
-      "owner": { # The owner of the object. This will always be the uploader of the object.
-        "entityId": "A String", # The ID for the entity.
-        "entity": "A String", # The entity, in the form user-userId.
-      },
-      "cacheControl": "A String", # Cache-Control directive for the object data.
-      "acl": [ # Access controls on the object.
-        { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "generation": "A String", # The content generation of the object.
-          "object": "A String", # The name of the object.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-          "id": "A String", # The ID of the access-control entry.
-          "entityId": "A String", # The ID for the entity, if any.
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-      ],
-      "id": "A String", # The ID of the object.
-      "size": "A String", # Content-Length of the data in bytes.
-      "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
-      "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
-      "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
-      "etag": "A String", # HTTP 1.1 Entity tag for the object.
-      "metadata": { # User-provided metadata, in key/value pairs.
-        "a_key": "A String", # An individual metadata entry.
-      },
-      "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
-      "contentType": "A String", # Content-Type of the object data.
-      "contentLanguage": "A String", # Content-Language of the object data.
-      "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
-      "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-      "name": "A String", # The name of this object. Required if not specified by URL parameter.
-      "bucket": "A String", # The bucket containing this object.
-      "contentEncoding": "A String", # Content-Encoding of the object data.
-      "contentDisposition": "A String", # Content-Disposition of the object data.
-      "selfLink": "A String", # The link to this object.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get_media">get_media(bucket, object, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</code>
-  <pre>Retrieves objects or their associated metadata.
-
-Args:
-  bucket: string, Name of the bucket in which the object resides. (required)
-  object: string, Name of the object. (required)
-  ifGenerationNotMatch: string, Makes the operation conditional on whether the object's generation does not match the given value.
-  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
-  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
-  ifGenerationMatch: string, Makes the operation conditional on whether the object's generation matches the given value.
-  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the object's current metageneration does not match the given value.
-  projection: string, Set of properties to return. Defaults to noAcl.
-    Allowed values
-      full - Include all properties.
-      noAcl - Omit the acl property.
-
-Returns:
-  The media object as a string.
-
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(bucket, body=None, media_body=None, projection=None, ifMetagenerationMatch=None, name=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, ifGenerationNotMatch=None)</code>
-  <pre>Stores new data blobs and associated metadata.
-
-Args:
-  bucket: string, Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # An object.
-    "generation": "A String", # The content generation of this object. Used for object versioning.
-    "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
-    "mediaLink": "A String", # Media download link.
-    "owner": { # The owner of the object. This will always be the uploader of the object.
-      "entityId": "A String", # The ID for the entity.
-      "entity": "A String", # The entity, in the form user-userId.
-    },
-    "cacheControl": "A String", # Cache-Control directive for the object data.
-    "acl": [ # Access controls on the object.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "generation": "A String", # The content generation of the object.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "id": "A String", # The ID of the access-control entry.
-        "entityId": "A String", # The ID for the entity, if any.
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "id": "A String", # The ID of the object.
-    "size": "A String", # Content-Length of the data in bytes.
-    "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
-    "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
-    "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
-    "etag": "A String", # HTTP 1.1 Entity tag for the object.
-    "metadata": { # User-provided metadata, in key/value pairs.
-      "a_key": "A String", # An individual metadata entry.
-    },
-    "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
-    "contentType": "A String", # Content-Type of the object data.
-    "contentLanguage": "A String", # Content-Language of the object data.
-    "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
-    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-    "name": "A String", # The name of this object. Required if not specified by URL parameter.
-    "bucket": "A String", # The bucket containing this object.
-    "contentEncoding": "A String", # Content-Encoding of the object data.
-    "contentDisposition": "A String", # Content-Disposition of the object data.
-    "selfLink": "A String", # The link to this object.
-  }
-
-  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
-  projection: string, Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full.
-    Allowed values
-      full - Include all properties.
-      noAcl - Omit the acl property.
-  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
-  name: string, Name of the object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any.
-  ifGenerationMatch: string, Makes the operation conditional on whether the object's current generation matches the given value.
-  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the object's current metageneration does not match the given value.
-  ifGenerationNotMatch: string, Makes the operation conditional on whether the object's current generation does not match the given value.
-
-Returns:
-  An object of the form:
-
-    { # An object.
-      "generation": "A String", # The content generation of this object. Used for object versioning.
-      "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
-      "mediaLink": "A String", # Media download link.
-      "owner": { # The owner of the object. This will always be the uploader of the object.
-        "entityId": "A String", # The ID for the entity.
-        "entity": "A String", # The entity, in the form user-userId.
-      },
-      "cacheControl": "A String", # Cache-Control directive for the object data.
-      "acl": [ # Access controls on the object.
-        { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "generation": "A String", # The content generation of the object.
-          "object": "A String", # The name of the object.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-          "id": "A String", # The ID of the access-control entry.
-          "entityId": "A String", # The ID for the entity, if any.
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-      ],
-      "id": "A String", # The ID of the object.
-      "size": "A String", # Content-Length of the data in bytes.
-      "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
-      "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
-      "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
-      "etag": "A String", # HTTP 1.1 Entity tag for the object.
-      "metadata": { # User-provided metadata, in key/value pairs.
-        "a_key": "A String", # An individual metadata entry.
-      },
-      "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
-      "contentType": "A String", # Content-Type of the object data.
-      "contentLanguage": "A String", # Content-Language of the object data.
-      "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
-      "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-      "name": "A String", # The name of this object. Required if not specified by URL parameter.
-      "bucket": "A String", # The bucket containing this object.
-      "contentEncoding": "A String", # Content-Encoding of the object data.
-      "contentDisposition": "A String", # Content-Disposition of the object data.
-      "selfLink": "A String", # The link to this object.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert_media">insert_media(bucket, body=None, media_body=None, projection=None, ifMetagenerationMatch=None, name=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, ifGenerationNotMatch=None)</code>
-  <pre>Stores new data blobs and associated metadata.
-
-Args:
-  bucket: string, Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # An object.
-    "generation": "A String", # The content generation of this object. Used for object versioning.
-    "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
-    "mediaLink": "A String", # Media download link.
-    "owner": { # The owner of the object. This will always be the uploader of the object.
-      "entityId": "A String", # The ID for the entity.
-      "entity": "A String", # The entity, in the form user-userId.
-    },
-    "cacheControl": "A String", # Cache-Control directive for the object data.
-    "acl": [ # Access controls on the object.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "generation": "A String", # The content generation of the object.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "id": "A String", # The ID of the access-control entry.
-        "entityId": "A String", # The ID for the entity, if any.
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "id": "A String", # The ID of the object.
-    "size": "A String", # Content-Length of the data in bytes.
-    "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
-    "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
-    "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
-    "etag": "A String", # HTTP 1.1 Entity tag for the object.
-    "metadata": { # User-provided metadata, in key/value pairs.
-      "a_key": "A String", # An individual metadata entry.
-    },
-    "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
-    "contentType": "A String", # Content-Type of the object data.
-    "contentLanguage": "A String", # Content-Language of the object data.
-    "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
-    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-    "name": "A String", # The name of this object. Required if not specified by URL parameter.
-    "bucket": "A String", # The bucket containing this object.
-    "contentEncoding": "A String", # Content-Encoding of the object data.
-    "contentDisposition": "A String", # Content-Disposition of the object data.
-    "selfLink": "A String", # The link to this object.
-  }
-
-  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
-  projection: string, Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full.
-    Allowed values
-      full - Include all properties.
-      noAcl - Omit the acl property.
-  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
-  name: string, Name of the object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any.
-  ifGenerationMatch: string, Makes the operation conditional on whether the object's current generation matches the given value.
-  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the object's current metageneration does not match the given value.
-  ifGenerationNotMatch: string, Makes the operation conditional on whether the object's current generation does not match the given value.
-
-Returns:
-  The media object as a string.
-
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(bucket, projection=None, versions=None, delimiter=None, maxResults=None, pageToken=None, prefix=None)</code>
-  <pre>Retrieves a list of objects matching the criteria.
-
-Args:
-  bucket: string, Name of the bucket in which to look for objects. (required)
-  projection: string, Set of properties to return. Defaults to noAcl.
-    Allowed values
-      full - Include all properties.
-      noAcl - Omit the acl property.
-  versions: boolean, If true, lists all versions of a file as distinct results.
-  delimiter: string, Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted.
-  maxResults: integer, Maximum number of items plus prefixes to return. As duplicate prefixes are omitted, fewer total results may be returned than requested.
-  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
-  prefix: string, Filter results to objects whose names begin with this prefix.
-
-Returns:
-  An object of the form:
-
-    { # A list of objects.
-    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
-    "items": [ # The list of items.
-      { # An object.
-          "generation": "A String", # The content generation of this object. Used for object versioning.
-          "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
-          "mediaLink": "A String", # Media download link.
-          "owner": { # The owner of the object. This will always be the uploader of the object.
-            "entityId": "A String", # The ID for the entity.
-            "entity": "A String", # The entity, in the form user-userId.
-          },
-          "cacheControl": "A String", # Cache-Control directive for the object data.
-          "acl": [ # Access controls on the object.
-            { # An access-control entry.
-              "domain": "A String", # The domain associated with the entity, if any.
-              "generation": "A String", # The content generation of the object.
-              "object": "A String", # The name of the object.
-              "bucket": "A String", # The name of the bucket.
-              "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-              "entity": "A String", # The entity holding the permission, in one of the following forms:
-                  # - user-userId
-                  # - user-email
-                  # - group-groupId
-                  # - group-email
-                  # - allUsers
-                  # - allAuthenticatedUsers
-              "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-              "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-              "id": "A String", # The ID of the access-control entry.
-              "entityId": "A String", # The ID for the entity, if any.
-              "email": "A String", # The email address associated with the entity, if any.
-              "selfLink": "A String", # The link to this access-control entry.
-            },
-          ],
-          "id": "A String", # The ID of the object.
-          "size": "A String", # Content-Length of the data in bytes.
-          "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
-          "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
-          "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
-          "etag": "A String", # HTTP 1.1 Entity tag for the object.
-          "metadata": { # User-provided metadata, in key/value pairs.
-            "a_key": "A String", # An individual metadata entry.
-          },
-          "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
-          "contentType": "A String", # Content-Type of the object data.
-          "contentLanguage": "A String", # Content-Language of the object data.
-          "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
-          "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-          "name": "A String", # The name of this object. Required if not specified by URL parameter.
-          "bucket": "A String", # The bucket containing this object.
-          "contentEncoding": "A String", # Content-Encoding of the object data.
-          "contentDisposition": "A String", # Content-Disposition of the object data.
-          "selfLink": "A String", # The link to this object.
-        },
-    ],
-    "kind": "storage#objects", # The kind of item this is. For lists of objects, this is always storage#objects.
-    "prefixes": [ # The list of prefixes of objects matching-but-not-listed up to and including the requested delimiter.
-      "A String",
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(bucket, object, body, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</code>
-  <pre>Updates a data blob's associated metadata. This method supports patch semantics.
-
-Args:
-  bucket: string, Name of the bucket in which the object resides. (required)
-  object: string, Name of the object. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An object.
-    "generation": "A String", # The content generation of this object. Used for object versioning.
-    "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
-    "mediaLink": "A String", # Media download link.
-    "owner": { # The owner of the object. This will always be the uploader of the object.
-      "entityId": "A String", # The ID for the entity.
-      "entity": "A String", # The entity, in the form user-userId.
-    },
-    "cacheControl": "A String", # Cache-Control directive for the object data.
-    "acl": [ # Access controls on the object.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "generation": "A String", # The content generation of the object.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "id": "A String", # The ID of the access-control entry.
-        "entityId": "A String", # The ID for the entity, if any.
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "id": "A String", # The ID of the object.
-    "size": "A String", # Content-Length of the data in bytes.
-    "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
-    "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
-    "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
-    "etag": "A String", # HTTP 1.1 Entity tag for the object.
-    "metadata": { # User-provided metadata, in key/value pairs.
-      "a_key": "A String", # An individual metadata entry.
-    },
-    "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
-    "contentType": "A String", # Content-Type of the object data.
-    "contentLanguage": "A String", # Content-Language of the object data.
-    "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
-    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-    "name": "A String", # The name of this object. Required if not specified by URL parameter.
-    "bucket": "A String", # The bucket containing this object.
-    "contentEncoding": "A String", # Content-Encoding of the object data.
-    "contentDisposition": "A String", # Content-Disposition of the object data.
-    "selfLink": "A String", # The link to this object.
-  }
-
-  ifGenerationNotMatch: string, Makes the operation conditional on whether the object's current generation does not match the given value.
-  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
-  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
-  ifGenerationMatch: string, Makes the operation conditional on whether the object's current generation matches the given value.
-  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the object's current metageneration does not match the given value.
-  projection: string, Set of properties to return. Defaults to full.
-    Allowed values
-      full - Include all properties.
-      noAcl - Omit the acl property.
-
-Returns:
-  An object of the form:
-
-    { # An object.
-      "generation": "A String", # The content generation of this object. Used for object versioning.
-      "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
-      "mediaLink": "A String", # Media download link.
-      "owner": { # The owner of the object. This will always be the uploader of the object.
-        "entityId": "A String", # The ID for the entity.
-        "entity": "A String", # The entity, in the form user-userId.
-      },
-      "cacheControl": "A String", # Cache-Control directive for the object data.
-      "acl": [ # Access controls on the object.
-        { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "generation": "A String", # The content generation of the object.
-          "object": "A String", # The name of the object.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-          "id": "A String", # The ID of the access-control entry.
-          "entityId": "A String", # The ID for the entity, if any.
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-      ],
-      "id": "A String", # The ID of the object.
-      "size": "A String", # Content-Length of the data in bytes.
-      "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
-      "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
-      "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
-      "etag": "A String", # HTTP 1.1 Entity tag for the object.
-      "metadata": { # User-provided metadata, in key/value pairs.
-        "a_key": "A String", # An individual metadata entry.
-      },
-      "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
-      "contentType": "A String", # Content-Type of the object data.
-      "contentLanguage": "A String", # Content-Language of the object data.
-      "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
-      "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-      "name": "A String", # The name of this object. Required if not specified by URL parameter.
-      "bucket": "A String", # The bucket containing this object.
-      "contentEncoding": "A String", # Content-Encoding of the object data.
-      "contentDisposition": "A String", # Content-Disposition of the object data.
-      "selfLink": "A String", # The link to this object.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(bucket, object, body, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</code>
-  <pre>Updates a data blob's associated metadata.
-
-Args:
-  bucket: string, Name of the bucket in which the object resides. (required)
-  object: string, Name of the object. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An object.
-    "generation": "A String", # The content generation of this object. Used for object versioning.
-    "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
-    "mediaLink": "A String", # Media download link.
-    "owner": { # The owner of the object. This will always be the uploader of the object.
-      "entityId": "A String", # The ID for the entity.
-      "entity": "A String", # The entity, in the form user-userId.
-    },
-    "cacheControl": "A String", # Cache-Control directive for the object data.
-    "acl": [ # Access controls on the object.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "generation": "A String", # The content generation of the object.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "id": "A String", # The ID of the access-control entry.
-        "entityId": "A String", # The ID for the entity, if any.
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "id": "A String", # The ID of the object.
-    "size": "A String", # Content-Length of the data in bytes.
-    "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
-    "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
-    "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
-    "etag": "A String", # HTTP 1.1 Entity tag for the object.
-    "metadata": { # User-provided metadata, in key/value pairs.
-      "a_key": "A String", # An individual metadata entry.
-    },
-    "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
-    "contentType": "A String", # Content-Type of the object data.
-    "contentLanguage": "A String", # Content-Language of the object data.
-    "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
-    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-    "name": "A String", # The name of this object. Required if not specified by URL parameter.
-    "bucket": "A String", # The bucket containing this object.
-    "contentEncoding": "A String", # Content-Encoding of the object data.
-    "contentDisposition": "A String", # Content-Disposition of the object data.
-    "selfLink": "A String", # The link to this object.
-  }
-
-  ifGenerationNotMatch: string, Makes the operation conditional on whether the object's current generation does not match the given value.
-  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
-  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
-  ifGenerationMatch: string, Makes the operation conditional on whether the object's current generation matches the given value.
-  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the object's current metageneration does not match the given value.
-  projection: string, Set of properties to return. Defaults to full.
-    Allowed values
-      full - Include all properties.
-      noAcl - Omit the acl property.
-
-Returns:
-  An object of the form:
-
-    { # An object.
-      "generation": "A String", # The content generation of this object. Used for object versioning.
-      "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
-      "mediaLink": "A String", # Media download link.
-      "owner": { # The owner of the object. This will always be the uploader of the object.
-        "entityId": "A String", # The ID for the entity.
-        "entity": "A String", # The entity, in the form user-userId.
-      },
-      "cacheControl": "A String", # Cache-Control directive for the object data.
-      "acl": [ # Access controls on the object.
-        { # An access-control entry.
-          "domain": "A String", # The domain associated with the entity, if any.
-          "generation": "A String", # The content generation of the object.
-          "object": "A String", # The name of the object.
-          "bucket": "A String", # The name of the bucket.
-          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-          "entity": "A String", # The entity holding the permission, in one of the following forms:
-              # - user-userId
-              # - user-email
-              # - group-groupId
-              # - group-email
-              # - allUsers
-              # - allAuthenticatedUsers
-          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-          "id": "A String", # The ID of the access-control entry.
-          "entityId": "A String", # The ID for the entity, if any.
-          "email": "A String", # The email address associated with the entity, if any.
-          "selfLink": "A String", # The link to this access-control entry.
-        },
-      ],
-      "id": "A String", # The ID of the object.
-      "size": "A String", # Content-Length of the data in bytes.
-      "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
-      "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
-      "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
-      "etag": "A String", # HTTP 1.1 Entity tag for the object.
-      "metadata": { # User-provided metadata, in key/value pairs.
-        "a_key": "A String", # An individual metadata entry.
-      },
-      "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
-      "contentType": "A String", # Content-Type of the object data.
-      "contentLanguage": "A String", # Content-Language of the object data.
-      "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
-      "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-      "name": "A String", # The name of this object. Required if not specified by URL parameter.
-      "bucket": "A String", # The bucket containing this object.
-      "contentEncoding": "A String", # Content-Encoding of the object data.
-      "contentDisposition": "A String", # Content-Disposition of the object data.
-      "selfLink": "A String", # The link to this object.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update_media">update_media(bucket, object, body, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</code>
-  <pre>Updates a data blob's associated metadata.
-
-Args:
-  bucket: string, Name of the bucket in which the object resides. (required)
-  object: string, Name of the object. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An object.
-    "generation": "A String", # The content generation of this object. Used for object versioning.
-    "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
-    "mediaLink": "A String", # Media download link.
-    "owner": { # The owner of the object. This will always be the uploader of the object.
-      "entityId": "A String", # The ID for the entity.
-      "entity": "A String", # The entity, in the form user-userId.
-    },
-    "cacheControl": "A String", # Cache-Control directive for the object data.
-    "acl": [ # Access controls on the object.
-      { # An access-control entry.
-        "domain": "A String", # The domain associated with the entity, if any.
-        "generation": "A String", # The content generation of the object.
-        "object": "A String", # The name of the object.
-        "bucket": "A String", # The name of the bucket.
-        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
-        "entity": "A String", # The entity holding the permission, in one of the following forms:
-            # - user-userId
-            # - user-email
-            # - group-groupId
-            # - group-email
-            # - allUsers
-            # - allAuthenticatedUsers
-        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
-        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
-        "id": "A String", # The ID of the access-control entry.
-        "entityId": "A String", # The ID for the entity, if any.
-        "email": "A String", # The email address associated with the entity, if any.
-        "selfLink": "A String", # The link to this access-control entry.
-      },
-    ],
-    "id": "A String", # The ID of the object.
-    "size": "A String", # Content-Length of the data in bytes.
-    "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
-    "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
-    "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
-    "etag": "A String", # HTTP 1.1 Entity tag for the object.
-    "metadata": { # User-provided metadata, in key/value pairs.
-      "a_key": "A String", # An individual metadata entry.
-    },
-    "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
-    "contentType": "A String", # Content-Type of the object data.
-    "contentLanguage": "A String", # Content-Language of the object data.
-    "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
-    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
-    "name": "A String", # The name of this object. Required if not specified by URL parameter.
-    "bucket": "A String", # The bucket containing this object.
-    "contentEncoding": "A String", # Content-Encoding of the object data.
-    "contentDisposition": "A String", # Content-Disposition of the object data.
-    "selfLink": "A String", # The link to this object.
-  }
-
-  ifGenerationNotMatch: string, Makes the operation conditional on whether the object's current generation does not match the given value.
-  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
-  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
-  ifGenerationMatch: string, Makes the operation conditional on whether the object's current generation matches the given value.
-  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the object's current metageneration does not match the given value.
-  projection: string, Set of properties to return. Defaults to full.
-    Allowed values
-      full - Include all properties.
-      noAcl - Omit the acl property.
-
-Returns:
-  The media object as a string.
-
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="watchAll">watchAll(bucket, body, projection=None, versions=None, delimiter=None, maxResults=None, pageToken=None, prefix=None)</code>
-  <pre>Watch for changes on all objects in a bucket.
-
-Args:
-  bucket: string, Name of the bucket in which to look for objects. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "resourceUri": "A String", # The canonicalized ID of the watched resource.
-    "kind": "api#channel", # A channel watching an API resource
-    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
-    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
-    "params": { # Additional parameters controlling delivery channel behavior
-      "a_key": "A String", # Declares a new parameter by name.
-    },
-    "expiration": "A String", # The expiration instant for this channel if it is defined.
-    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
-    "type": "A String", # The type of delivery mechanism used by this channel
-    "id": "A String", # A UUID for the channel
-  }
-
-  projection: string, Set of properties to return. Defaults to noAcl.
-    Allowed values
-      full - Include all properties.
-      noAcl - Omit the acl property.
-  versions: boolean, If true, lists all versions of a file as distinct results.
-  delimiter: string, Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted.
-  maxResults: integer, Maximum number of items plus prefixes to return. As duplicate prefixes are omitted, fewer total results may be returned than requested.
-  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
-  prefix: string, Filter results to objects whose names begin with this prefix.
-
-Returns:
-  An object of the form:
-
-    {
-      "resourceUri": "A String", # The canonicalized ID of the watched resource.
-      "kind": "api#channel", # A channel watching an API resource
-      "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
-      "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
-      "params": { # Additional parameters controlling delivery channel behavior
-        "a_key": "A String", # Declares a new parameter by name.
-      },
-      "expiration": "A String", # The expiration instant for this channel if it is defined.
-      "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
-      "type": "A String", # The type of delivery mechanism used by this channel
-      "id": "A String", # A UUID for the channel
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/taskqueue_v1beta2.html b/docs/dyn/taskqueue_v1beta2.html
deleted file mode 100644
index 243bcdf..0000000
--- a/docs/dyn/taskqueue_v1beta2.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="taskqueue_v1beta2.html">TaskQueue API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="taskqueue_v1beta2.taskqueues.html">taskqueues()</a></code>
-</p>
-<p class="firstline">Returns the taskqueues Resource.</p>
-
-<p class="toc_element">
-  <code><a href="taskqueue_v1beta2.tasks.html">tasks()</a></code>
-</p>
-<p class="firstline">Returns the tasks Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/taskqueue_v1beta2.taskqueues.html b/docs/dyn/taskqueue_v1beta2.taskqueues.html
deleted file mode 100644
index 3b78252..0000000
--- a/docs/dyn/taskqueue_v1beta2.taskqueues.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="taskqueue_v1beta2.html">TaskQueue API</a> . <a href="taskqueue_v1beta2.taskqueues.html">taskqueues</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(project, taskqueue, getStats=None)</a></code></p>
-<p class="firstline">Get detailed information about a TaskQueue.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(project, taskqueue, getStats=None)</code>
-  <pre>Get detailed information about a TaskQueue.
-
-Args:
-  project: string, The project under which the queue lies. (required)
-  taskqueue: string, The id of the taskqueue to get the properties of. (required)
-  getStats: boolean, Whether to get stats. Optional.
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "taskqueues#taskqueue", # The kind of REST object returned, in this case taskqueue.
-    "stats": { # Statistics for the TaskQueue object in question.
-      "oldestTask": "A String", # The timestamp (in seconds since the epoch) of the oldest unfinished task.
-      "leasedLastMinute": "A String", # Number of tasks leased in the last minute.
-      "totalTasks": 42, # Number of tasks in the queue.
-      "leasedLastHour": "A String", # Number of tasks leased in the last hour.
-    },
-    "id": "A String", # Name of the taskqueue.
-    "maxLeases": 42, # The number of times we should lease out tasks before giving up on them. If unset we lease them out forever until a worker deletes the task.
-    "acl": { # ACLs that are applicable to this TaskQueue object.
-      "consumerEmails": [ # Email addresses of users who can "consume" tasks from the TaskQueue. This means they can Dequeue and Delete tasks from the queue.
-        "A String",
-      ],
-      "producerEmails": [ # Email addresses of users who can "produce" tasks into the TaskQueue. This means they can Insert tasks into the queue.
-        "A String",
-      ],
-      "adminEmails": [ # Email addresses of users who are "admins" of the TaskQueue. This means they can control the queue, eg set ACLs for the queue.
-        "A String",
-      ],
-    },
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/taskqueue_v1beta2.tasks.html b/docs/dyn/taskqueue_v1beta2.tasks.html
deleted file mode 100644
index c9fbb64..0000000
--- a/docs/dyn/taskqueue_v1beta2.tasks.html
+++ /dev/null
@@ -1,309 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="taskqueue_v1beta2.html">TaskQueue API</a> . <a href="taskqueue_v1beta2.tasks.html">tasks</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(project, taskqueue, task)</a></code></p>
-<p class="firstline">Delete a task from a TaskQueue.</p>
-<p class="toc_element">
-  <code><a href="#get">get(project, taskqueue, task)</a></code></p>
-<p class="firstline">Get a particular task from a TaskQueue.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(project, taskqueue, body)</a></code></p>
-<p class="firstline">Insert a new task in a TaskQueue</p>
-<p class="toc_element">
-  <code><a href="#lease">lease(project, taskqueue, numTasks, leaseSecs, groupByTag=None, tag=None)</a></code></p>
-<p class="firstline">Lease 1 or more tasks from a TaskQueue.</p>
-<p class="toc_element">
-  <code><a href="#list">list(project, taskqueue)</a></code></p>
-<p class="firstline">List Tasks in a TaskQueue</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(project, taskqueue, task, newLeaseSeconds, body)</a></code></p>
-<p class="firstline">Update tasks that are leased out of a TaskQueue. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(project, taskqueue, task, newLeaseSeconds, body)</a></code></p>
-<p class="firstline">Update tasks that are leased out of a TaskQueue.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(project, taskqueue, task)</code>
-  <pre>Delete a task from a TaskQueue.
-
-Args:
-  project: string, The project under which the queue lies. (required)
-  taskqueue: string, The taskqueue to delete a task from. (required)
-  task: string, The id of the task to delete. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(project, taskqueue, task)</code>
-  <pre>Get a particular task from a TaskQueue.
-
-Args:
-  project: string, The project under which the queue lies. (required)
-  taskqueue: string, The taskqueue in which the task belongs. (required)
-  task: string, The task to get properties of. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
-      "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
-      "id": "A String", # Name of the task.
-      "retry_count": 42, # The number of leases applied to this task.
-      "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
-      "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
-      "queueName": "A String", # Name of the queue that the task is in.
-      "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(project, taskqueue, body)</code>
-  <pre>Insert a new task in a TaskQueue
-
-Args:
-  project: string, The project under which the queue lies (required)
-  taskqueue: string, The taskqueue to insert the task into (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
-    "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
-    "id": "A String", # Name of the task.
-    "retry_count": 42, # The number of leases applied to this task.
-    "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
-    "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
-    "queueName": "A String", # Name of the queue that the task is in.
-    "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
-      "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
-      "id": "A String", # Name of the task.
-      "retry_count": 42, # The number of leases applied to this task.
-      "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
-      "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
-      "queueName": "A String", # Name of the queue that the task is in.
-      "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="lease">lease(project, taskqueue, numTasks, leaseSecs, groupByTag=None, tag=None)</code>
-  <pre>Lease 1 or more tasks from a TaskQueue.
-
-Args:
-  project: string, The project under which the queue lies. (required)
-  taskqueue: string, The taskqueue to lease a task from. (required)
-  numTasks: integer, The number of tasks to lease. (required)
-  leaseSecs: integer, The lease in seconds. (required)
-  groupByTag: boolean, When true, all returned tasks will have the same tag
-  tag: string, The tag allowed for tasks in the response. Must only be specified if group_by_tag is true. If group_by_tag is true and tag is not specified the tag will be that of the oldest task by eta, i.e. the first available tag
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # The actual list of tasks returned as a result of the lease operation.
-      {
-          "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
-          "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
-          "id": "A String", # Name of the task.
-          "retry_count": 42, # The number of leases applied to this task.
-          "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
-          "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
-          "queueName": "A String", # Name of the queue that the task is in.
-          "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
-        },
-    ],
-    "kind": "taskqueue#tasks", # The kind of object returned, a list of tasks.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(project, taskqueue)</code>
-  <pre>List Tasks in a TaskQueue
-
-Args:
-  project: string, The project under which the queue lies. (required)
-  taskqueue: string, The id of the taskqueue to list tasks from. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # The actual list of tasks currently active in the TaskQueue.
-      {
-          "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
-          "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
-          "id": "A String", # Name of the task.
-          "retry_count": 42, # The number of leases applied to this task.
-          "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
-          "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
-          "queueName": "A String", # Name of the queue that the task is in.
-          "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
-        },
-    ],
-    "kind": "taskqueues#tasks", # The kind of object returned, a list of tasks.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(project, taskqueue, task, newLeaseSeconds, body)</code>
-  <pre>Update tasks that are leased out of a TaskQueue. This method supports patch semantics.
-
-Args:
-  project: string, The project under which the queue lies. (required)
-  taskqueue: string, A parameter (required)
-  task: string, A parameter (required)
-  newLeaseSeconds: integer, The new lease in seconds. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
-    "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
-    "id": "A String", # Name of the task.
-    "retry_count": 42, # The number of leases applied to this task.
-    "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
-    "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
-    "queueName": "A String", # Name of the queue that the task is in.
-    "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
-      "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
-      "id": "A String", # Name of the task.
-      "retry_count": 42, # The number of leases applied to this task.
-      "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
-      "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
-      "queueName": "A String", # Name of the queue that the task is in.
-      "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(project, taskqueue, task, newLeaseSeconds, body)</code>
-  <pre>Update tasks that are leased out of a TaskQueue.
-
-Args:
-  project: string, The project under which the queue lies. (required)
-  taskqueue: string, A parameter (required)
-  task: string, A parameter (required)
-  newLeaseSeconds: integer, The new lease in seconds. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
-    "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
-    "id": "A String", # Name of the task.
-    "retry_count": 42, # The number of leases applied to this task.
-    "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
-    "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
-    "queueName": "A String", # Name of the queue that the task is in.
-    "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
-      "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
-      "id": "A String", # Name of the task.
-      "retry_count": 42, # The number of leases applied to this task.
-      "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
-      "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
-      "queueName": "A String", # Name of the queue that the task is in.
-      "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/tasks_v1.html b/docs/dyn/tasks_v1.html
deleted file mode 100644
index 5acf5d4..0000000
--- a/docs/dyn/tasks_v1.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="tasks_v1.html">Tasks API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="tasks_v1.tasklists.html">tasklists()</a></code>
-</p>
-<p class="firstline">Returns the tasklists Resource.</p>
-
-<p class="toc_element">
-  <code><a href="tasks_v1.tasks.html">tasks()</a></code>
-</p>
-<p class="firstline">Returns the tasks Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/tasks_v1.tasklists.html b/docs/dyn/tasks_v1.tasklists.html
deleted file mode 100644
index 3e70ee3..0000000
--- a/docs/dyn/tasks_v1.tasklists.html
+++ /dev/null
@@ -1,265 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="tasks_v1.html">Tasks API</a> . <a href="tasks_v1.tasklists.html">tasklists</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(tasklist)</a></code></p>
-<p class="firstline">Deletes the authenticated user's specified task list.</p>
-<p class="toc_element">
-  <code><a href="#get">get(tasklist)</a></code></p>
-<p class="firstline">Returns the authenticated user's specified task list.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(body)</a></code></p>
-<p class="firstline">Creates a new task list and adds it to the authenticated user's task lists.</p>
-<p class="toc_element">
-  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Returns all the authenticated user's task lists.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(tasklist, body)</a></code></p>
-<p class="firstline">Updates the authenticated user's specified task list. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(tasklist, body)</a></code></p>
-<p class="firstline">Updates the authenticated user's specified task list.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(tasklist)</code>
-  <pre>Deletes the authenticated user's specified task list.
-
-Args:
-  tasklist: string, Task list identifier. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(tasklist)</code>
-  <pre>Returns the authenticated user's specified task list.
-
-Args:
-  tasklist: string, Task list identifier. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "tasks#taskList", # Type of the resource. This is always "tasks#taskList".
-      "title": "A String", # Title of the task list.
-      "updated": "A String", # Last modification time of the task list (as a RFC 3339 timestamp).
-      "etag": "A String", # ETag of the resource.
-      "id": "A String", # Task list identifier.
-      "selfLink": "A String", # URL pointing to this task list. Used to retrieve, update, or delete this task list.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(body)</code>
-  <pre>Creates a new task list and adds it to the authenticated user's task lists.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "tasks#taskList", # Type of the resource. This is always "tasks#taskList".
-    "title": "A String", # Title of the task list.
-    "updated": "A String", # Last modification time of the task list (as a RFC 3339 timestamp).
-    "etag": "A String", # ETag of the resource.
-    "id": "A String", # Task list identifier.
-    "selfLink": "A String", # URL pointing to this task list. Used to retrieve, update, or delete this task list.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "tasks#taskList", # Type of the resource. This is always "tasks#taskList".
-      "title": "A String", # Title of the task list.
-      "updated": "A String", # Last modification time of the task list (as a RFC 3339 timestamp).
-      "etag": "A String", # ETag of the resource.
-      "id": "A String", # Task list identifier.
-      "selfLink": "A String", # URL pointing to this task list. Used to retrieve, update, or delete this task list.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
-  <pre>Returns all the authenticated user's task lists.
-
-Args:
-  pageToken: string, Token specifying the result page to return. Optional.
-  maxResults: string, Maximum number of task lists returned on one page. Optional. The default is 100.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Token that can be used to request the next page of this result.
-    "items": [ # Collection of task lists.
-      {
-          "kind": "tasks#taskList", # Type of the resource. This is always "tasks#taskList".
-          "title": "A String", # Title of the task list.
-          "updated": "A String", # Last modification time of the task list (as a RFC 3339 timestamp).
-          "etag": "A String", # ETag of the resource.
-          "id": "A String", # Task list identifier.
-          "selfLink": "A String", # URL pointing to this task list. Used to retrieve, update, or delete this task list.
-        },
-    ],
-    "kind": "tasks#taskLists", # Type of the resource. This is always "tasks#taskLists".
-    "etag": "A String", # ETag of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(tasklist, body)</code>
-  <pre>Updates the authenticated user's specified task list. This method supports patch semantics.
-
-Args:
-  tasklist: string, Task list identifier. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "tasks#taskList", # Type of the resource. This is always "tasks#taskList".
-    "title": "A String", # Title of the task list.
-    "updated": "A String", # Last modification time of the task list (as a RFC 3339 timestamp).
-    "etag": "A String", # ETag of the resource.
-    "id": "A String", # Task list identifier.
-    "selfLink": "A String", # URL pointing to this task list. Used to retrieve, update, or delete this task list.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "tasks#taskList", # Type of the resource. This is always "tasks#taskList".
-      "title": "A String", # Title of the task list.
-      "updated": "A String", # Last modification time of the task list (as a RFC 3339 timestamp).
-      "etag": "A String", # ETag of the resource.
-      "id": "A String", # Task list identifier.
-      "selfLink": "A String", # URL pointing to this task list. Used to retrieve, update, or delete this task list.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(tasklist, body)</code>
-  <pre>Updates the authenticated user's specified task list.
-
-Args:
-  tasklist: string, Task list identifier. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "kind": "tasks#taskList", # Type of the resource. This is always "tasks#taskList".
-    "title": "A String", # Title of the task list.
-    "updated": "A String", # Last modification time of the task list (as a RFC 3339 timestamp).
-    "etag": "A String", # ETag of the resource.
-    "id": "A String", # Task list identifier.
-    "selfLink": "A String", # URL pointing to this task list. Used to retrieve, update, or delete this task list.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "kind": "tasks#taskList", # Type of the resource. This is always "tasks#taskList".
-      "title": "A String", # Title of the task list.
-      "updated": "A String", # Last modification time of the task list (as a RFC 3339 timestamp).
-      "etag": "A String", # ETag of the resource.
-      "id": "A String", # Task list identifier.
-      "selfLink": "A String", # URL pointing to this task list. Used to retrieve, update, or delete this task list.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/tasks_v1.tasks.html b/docs/dyn/tasks_v1.tasks.html
deleted file mode 100644
index d580833..0000000
--- a/docs/dyn/tasks_v1.tasks.html
+++ /dev/null
@@ -1,454 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="tasks_v1.html">Tasks API</a> . <a href="tasks_v1.tasks.html">tasks</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#clear">clear(tasklist)</a></code></p>
-<p class="firstline">Clears all completed tasks from the specified task list. The affected tasks will be marked as 'hidden' and no longer be returned by default when retrieving all tasks for a task list.</p>
-<p class="toc_element">
-  <code><a href="#delete">delete(tasklist, task)</a></code></p>
-<p class="firstline">Deletes the specified task from the task list.</p>
-<p class="toc_element">
-  <code><a href="#get">get(tasklist, task)</a></code></p>
-<p class="firstline">Returns the specified task.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(tasklist, body, parent=None, previous=None)</a></code></p>
-<p class="firstline">Creates a new task on the specified task list.</p>
-<p class="toc_element">
-  <code><a href="#list">list(tasklist, showCompleted=None, dueMin=None, dueMax=None, pageToken=None, updatedMin=None, showDeleted=None, completedMax=None, maxResults=None, completedMin=None, showHidden=None)</a></code></p>
-<p class="firstline">Returns all tasks in the specified task list.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#move">move(tasklist, task, parent=None, previous=None)</a></code></p>
-<p class="firstline">Moves the specified task to another position in the task list. This can include putting it as a child task under a new parent and/or move it to a different position among its sibling tasks.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(tasklist, task, body)</a></code></p>
-<p class="firstline">Updates the specified task. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(tasklist, task, body)</a></code></p>
-<p class="firstline">Updates the specified task.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="clear">clear(tasklist)</code>
-  <pre>Clears all completed tasks from the specified task list. The affected tasks will be marked as 'hidden' and no longer be returned by default when retrieving all tasks for a task list.
-
-Args:
-  tasklist: string, Task list identifier. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(tasklist, task)</code>
-  <pre>Deletes the specified task from the task list.
-
-Args:
-  tasklist: string, Task list identifier. (required)
-  task: string, Task identifier. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(tasklist, task)</code>
-  <pre>Returns the specified task.
-
-Args:
-  tasklist: string, Task list identifier. (required)
-  task: string, Task identifier. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "status": "A String", # Status of the task. This is either "needsAction" or "completed".
-      "kind": "tasks#task", # Type of the resource. This is always "tasks#task".
-      "updated": "A String", # Last modification time of the task (as a RFC 3339 timestamp).
-      "parent": "A String", # Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level.
-      "links": [ # Collection of links. This collection is read-only.
-        {
-          "type": "A String", # Type of the link, e.g. "email".
-          "link": "A String", # The URL.
-          "description": "A String", # The description. In HTML speak: Everything between <a> and </a>.
-        },
-      ],
-      "title": "A String", # Title of the task.
-      "deleted": True or False, # Flag indicating whether the task has been deleted. The default if False.
-      "completed": "A String", # Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
-      "due": "A String", # Due date of the task (as a RFC 3339 timestamp). Optional.
-      "etag": "A String", # ETag of the resource.
-      "notes": "A String", # Notes describing the task. Optional.
-      "position": "A String", # String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position.
-      "hidden": True or False, # Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.
-      "id": "A String", # Task identifier.
-      "selfLink": "A String", # URL pointing to this task. Used to retrieve, update, or delete this task.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(tasklist, body, parent=None, previous=None)</code>
-  <pre>Creates a new task on the specified task list.
-
-Args:
-  tasklist: string, Task list identifier. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "status": "A String", # Status of the task. This is either "needsAction" or "completed".
-    "kind": "tasks#task", # Type of the resource. This is always "tasks#task".
-    "updated": "A String", # Last modification time of the task (as a RFC 3339 timestamp).
-    "parent": "A String", # Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level.
-    "links": [ # Collection of links. This collection is read-only.
-      {
-        "type": "A String", # Type of the link, e.g. "email".
-        "link": "A String", # The URL.
-        "description": "A String", # The description. In HTML speak: Everything between <a> and </a>.
-      },
-    ],
-    "title": "A String", # Title of the task.
-    "deleted": True or False, # Flag indicating whether the task has been deleted. The default if False.
-    "completed": "A String", # Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
-    "due": "A String", # Due date of the task (as a RFC 3339 timestamp). Optional.
-    "etag": "A String", # ETag of the resource.
-    "notes": "A String", # Notes describing the task. Optional.
-    "position": "A String", # String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position.
-    "hidden": True or False, # Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.
-    "id": "A String", # Task identifier.
-    "selfLink": "A String", # URL pointing to this task. Used to retrieve, update, or delete this task.
-  }
-
-  parent: string, Parent task identifier. If the task is created at the top level, this parameter is omitted. Optional.
-  previous: string, Previous sibling task identifier. If the task is created at the first position among its siblings, this parameter is omitted. Optional.
-
-Returns:
-  An object of the form:
-
-    {
-      "status": "A String", # Status of the task. This is either "needsAction" or "completed".
-      "kind": "tasks#task", # Type of the resource. This is always "tasks#task".
-      "updated": "A String", # Last modification time of the task (as a RFC 3339 timestamp).
-      "parent": "A String", # Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level.
-      "links": [ # Collection of links. This collection is read-only.
-        {
-          "type": "A String", # Type of the link, e.g. "email".
-          "link": "A String", # The URL.
-          "description": "A String", # The description. In HTML speak: Everything between <a> and </a>.
-        },
-      ],
-      "title": "A String", # Title of the task.
-      "deleted": True or False, # Flag indicating whether the task has been deleted. The default if False.
-      "completed": "A String", # Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
-      "due": "A String", # Due date of the task (as a RFC 3339 timestamp). Optional.
-      "etag": "A String", # ETag of the resource.
-      "notes": "A String", # Notes describing the task. Optional.
-      "position": "A String", # String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position.
-      "hidden": True or False, # Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.
-      "id": "A String", # Task identifier.
-      "selfLink": "A String", # URL pointing to this task. Used to retrieve, update, or delete this task.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(tasklist, showCompleted=None, dueMin=None, dueMax=None, pageToken=None, updatedMin=None, showDeleted=None, completedMax=None, maxResults=None, completedMin=None, showHidden=None)</code>
-  <pre>Returns all tasks in the specified task list.
-
-Args:
-  tasklist: string, Task list identifier. (required)
-  showCompleted: boolean, Flag indicating whether completed tasks are returned in the result. Optional. The default is True.
-  dueMin: string, Lower bound for a task's due date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by due date.
-  dueMax: string, Upper bound for a task's due date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by due date.
-  pageToken: string, Token specifying the result page to return. Optional.
-  updatedMin: string, Lower bound for a task's last modification time (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by last modification time.
-  showDeleted: boolean, Flag indicating whether deleted tasks are returned in the result. Optional. The default is False.
-  completedMax: string, Upper bound for a task's completion date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by completion date.
-  maxResults: string, Maximum number of task lists returned on one page. Optional. The default is 100.
-  completedMin: string, Lower bound for a task's completion date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by completion date.
-  showHidden: boolean, Flag indicating whether hidden tasks are returned in the result. Optional. The default is False.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # Token used to access the next page of this result.
-    "items": [ # Collection of tasks.
-      {
-          "status": "A String", # Status of the task. This is either "needsAction" or "completed".
-          "kind": "tasks#task", # Type of the resource. This is always "tasks#task".
-          "updated": "A String", # Last modification time of the task (as a RFC 3339 timestamp).
-          "parent": "A String", # Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level.
-          "links": [ # Collection of links. This collection is read-only.
-            {
-              "type": "A String", # Type of the link, e.g. "email".
-              "link": "A String", # The URL.
-              "description": "A String", # The description. In HTML speak: Everything between <a> and </a>.
-            },
-          ],
-          "title": "A String", # Title of the task.
-          "deleted": True or False, # Flag indicating whether the task has been deleted. The default if False.
-          "completed": "A String", # Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
-          "due": "A String", # Due date of the task (as a RFC 3339 timestamp). Optional.
-          "etag": "A String", # ETag of the resource.
-          "notes": "A String", # Notes describing the task. Optional.
-          "position": "A String", # String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position.
-          "hidden": True or False, # Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.
-          "id": "A String", # Task identifier.
-          "selfLink": "A String", # URL pointing to this task. Used to retrieve, update, or delete this task.
-        },
-    ],
-    "kind": "tasks#tasks", # Type of the resource. This is always "tasks#tasks".
-    "etag": "A String", # ETag of the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="move">move(tasklist, task, parent=None, previous=None)</code>
-  <pre>Moves the specified task to another position in the task list. This can include putting it as a child task under a new parent and/or move it to a different position among its sibling tasks.
-
-Args:
-  tasklist: string, Task list identifier. (required)
-  task: string, Task identifier. (required)
-  parent: string, New parent task identifier. If the task is moved to the top level, this parameter is omitted. Optional.
-  previous: string, New previous sibling task identifier. If the task is moved to the first position among its siblings, this parameter is omitted. Optional.
-
-Returns:
-  An object of the form:
-
-    {
-      "status": "A String", # Status of the task. This is either "needsAction" or "completed".
-      "kind": "tasks#task", # Type of the resource. This is always "tasks#task".
-      "updated": "A String", # Last modification time of the task (as a RFC 3339 timestamp).
-      "parent": "A String", # Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level.
-      "links": [ # Collection of links. This collection is read-only.
-        {
-          "type": "A String", # Type of the link, e.g. "email".
-          "link": "A String", # The URL.
-          "description": "A String", # The description. In HTML speak: Everything between <a> and </a>.
-        },
-      ],
-      "title": "A String", # Title of the task.
-      "deleted": True or False, # Flag indicating whether the task has been deleted. The default if False.
-      "completed": "A String", # Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
-      "due": "A String", # Due date of the task (as a RFC 3339 timestamp). Optional.
-      "etag": "A String", # ETag of the resource.
-      "notes": "A String", # Notes describing the task. Optional.
-      "position": "A String", # String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position.
-      "hidden": True or False, # Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.
-      "id": "A String", # Task identifier.
-      "selfLink": "A String", # URL pointing to this task. Used to retrieve, update, or delete this task.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(tasklist, task, body)</code>
-  <pre>Updates the specified task. This method supports patch semantics.
-
-Args:
-  tasklist: string, Task list identifier. (required)
-  task: string, Task identifier. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "status": "A String", # Status of the task. This is either "needsAction" or "completed".
-    "kind": "tasks#task", # Type of the resource. This is always "tasks#task".
-    "updated": "A String", # Last modification time of the task (as a RFC 3339 timestamp).
-    "parent": "A String", # Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level.
-    "links": [ # Collection of links. This collection is read-only.
-      {
-        "type": "A String", # Type of the link, e.g. "email".
-        "link": "A String", # The URL.
-        "description": "A String", # The description. In HTML speak: Everything between <a> and </a>.
-      },
-    ],
-    "title": "A String", # Title of the task.
-    "deleted": True or False, # Flag indicating whether the task has been deleted. The default if False.
-    "completed": "A String", # Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
-    "due": "A String", # Due date of the task (as a RFC 3339 timestamp). Optional.
-    "etag": "A String", # ETag of the resource.
-    "notes": "A String", # Notes describing the task. Optional.
-    "position": "A String", # String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position.
-    "hidden": True or False, # Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.
-    "id": "A String", # Task identifier.
-    "selfLink": "A String", # URL pointing to this task. Used to retrieve, update, or delete this task.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "status": "A String", # Status of the task. This is either "needsAction" or "completed".
-      "kind": "tasks#task", # Type of the resource. This is always "tasks#task".
-      "updated": "A String", # Last modification time of the task (as a RFC 3339 timestamp).
-      "parent": "A String", # Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level.
-      "links": [ # Collection of links. This collection is read-only.
-        {
-          "type": "A String", # Type of the link, e.g. "email".
-          "link": "A String", # The URL.
-          "description": "A String", # The description. In HTML speak: Everything between <a> and </a>.
-        },
-      ],
-      "title": "A String", # Title of the task.
-      "deleted": True or False, # Flag indicating whether the task has been deleted. The default if False.
-      "completed": "A String", # Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
-      "due": "A String", # Due date of the task (as a RFC 3339 timestamp). Optional.
-      "etag": "A String", # ETag of the resource.
-      "notes": "A String", # Notes describing the task. Optional.
-      "position": "A String", # String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position.
-      "hidden": True or False, # Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.
-      "id": "A String", # Task identifier.
-      "selfLink": "A String", # URL pointing to this task. Used to retrieve, update, or delete this task.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(tasklist, task, body)</code>
-  <pre>Updates the specified task.
-
-Args:
-  tasklist: string, Task list identifier. (required)
-  task: string, Task identifier. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "status": "A String", # Status of the task. This is either "needsAction" or "completed".
-    "kind": "tasks#task", # Type of the resource. This is always "tasks#task".
-    "updated": "A String", # Last modification time of the task (as a RFC 3339 timestamp).
-    "parent": "A String", # Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level.
-    "links": [ # Collection of links. This collection is read-only.
-      {
-        "type": "A String", # Type of the link, e.g. "email".
-        "link": "A String", # The URL.
-        "description": "A String", # The description. In HTML speak: Everything between <a> and </a>.
-      },
-    ],
-    "title": "A String", # Title of the task.
-    "deleted": True or False, # Flag indicating whether the task has been deleted. The default if False.
-    "completed": "A String", # Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
-    "due": "A String", # Due date of the task (as a RFC 3339 timestamp). Optional.
-    "etag": "A String", # ETag of the resource.
-    "notes": "A String", # Notes describing the task. Optional.
-    "position": "A String", # String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position.
-    "hidden": True or False, # Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.
-    "id": "A String", # Task identifier.
-    "selfLink": "A String", # URL pointing to this task. Used to retrieve, update, or delete this task.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "status": "A String", # Status of the task. This is either "needsAction" or "completed".
-      "kind": "tasks#task", # Type of the resource. This is always "tasks#task".
-      "updated": "A String", # Last modification time of the task (as a RFC 3339 timestamp).
-      "parent": "A String", # Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level.
-      "links": [ # Collection of links. This collection is read-only.
-        {
-          "type": "A String", # Type of the link, e.g. "email".
-          "link": "A String", # The URL.
-          "description": "A String", # The description. In HTML speak: Everything between <a> and </a>.
-        },
-      ],
-      "title": "A String", # Title of the task.
-      "deleted": True or False, # Flag indicating whether the task has been deleted. The default if False.
-      "completed": "A String", # Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
-      "due": "A String", # Due date of the task (as a RFC 3339 timestamp). Optional.
-      "etag": "A String", # ETag of the resource.
-      "notes": "A String", # Notes describing the task. Optional.
-      "position": "A String", # String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position.
-      "hidden": True or False, # Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.
-      "id": "A String", # Task identifier.
-      "selfLink": "A String", # URL pointing to this task. Used to retrieve, update, or delete this task.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/translate_v2.detections.html b/docs/dyn/translate_v2.detections.html
deleted file mode 100644
index 7c20f82..0000000
--- a/docs/dyn/translate_v2.detections.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="translate_v2.html">Translate API</a> . <a href="translate_v2.detections.html">detections</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(q)</a></code></p>
-<p class="firstline">Detect the language of text.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(q)</code>
-  <pre>Detect the language of text.
-
-Args:
-  q: string, The text to detect (required) (repeated)
-
-Returns:
-  An object of the form:
-
-    {
-    "detections": [ # A detections contains detection results of several text
-      [ # An array of languages which we detect for the given text The most likely language list first.
-        {
-          "isReliable": True or False, # A boolean to indicate is the language detection result reliable.
-          "confidence": 3.14, # The confidence of the detection resul of this language.
-          "language": "A String", # The language we detect
-        },
-      ],
-    ],
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/translate_v2.html b/docs/dyn/translate_v2.html
deleted file mode 100644
index fbb90f7..0000000
--- a/docs/dyn/translate_v2.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="translate_v2.html">Translate API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="translate_v2.detections.html">detections()</a></code>
-</p>
-<p class="firstline">Returns the detections Resource.</p>
-
-<p class="toc_element">
-  <code><a href="translate_v2.languages.html">languages()</a></code>
-</p>
-<p class="firstline">Returns the languages Resource.</p>
-
-<p class="toc_element">
-  <code><a href="translate_v2.translations.html">translations()</a></code>
-</p>
-<p class="firstline">Returns the translations Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/translate_v2.languages.html b/docs/dyn/translate_v2.languages.html
deleted file mode 100644
index 9bb4afd..0000000
--- a/docs/dyn/translate_v2.languages.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="translate_v2.html">Translate API</a> . <a href="translate_v2.languages.html">languages</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(target=None)</a></code></p>
-<p class="firstline">List the source/target languages supported by the API</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(target=None)</code>
-  <pre>List the source/target languages supported by the API
-
-Args:
-  target: string, the language and collation in which the localized results should be returned
-
-Returns:
-  An object of the form:
-
-    {
-    "languages": [ # List of source/target languages supported by the translation API. If target parameter is unspecified, the list is sorted by the ASCII code point order of the language code. If target parameter is specified, the list is sorted by the collation order of the language name in the target language.
-      {
-        "name": "A String", # The localized name of the language if target parameter is given.
-        "language": "A String", # The language code.
-      },
-    ],
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/translate_v2.translations.html b/docs/dyn/translate_v2.translations.html
deleted file mode 100644
index 1783dc6..0000000
--- a/docs/dyn/translate_v2.translations.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="translate_v2.html">Translate API</a> . <a href="translate_v2.translations.html">translations</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(q, target, format=None, cid=None, source=None)</a></code></p>
-<p class="firstline">Returns text translations from one language to another.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(q, target, format=None, cid=None, source=None)</code>
-  <pre>Returns text translations from one language to another.
-
-Args:
-  q: string, The text to translate (required) (repeated)
-  target: string, The target language into which the text should be translated (required)
-  format: string, The format of the text
-    Allowed values
-      html - Specifies the input is in HTML
-      text - Specifies the input is in plain textual format
-  cid: string, The customization id for translate (repeated)
-  source: string, The source language of the text
-
-Returns:
-  An object of the form:
-
-    {
-    "translations": [ # Translations contains list of translation results of given text
-      {
-        "detectedSourceLanguage": "A String", # Detected source language if source parameter is unspecified.
-        "translatedText": "A String", # The translation.
-      },
-    ],
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/urlshortener_v1.html b/docs/dyn/urlshortener_v1.html
deleted file mode 100644
index 1ef8ccd..0000000
--- a/docs/dyn/urlshortener_v1.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="urlshortener_v1.html">URL Shortener API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="urlshortener_v1.url.html">url()</a></code>
-</p>
-<p class="firstline">Returns the url Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/urlshortener_v1.url.html b/docs/dyn/urlshortener_v1.url.html
deleted file mode 100644
index bb004fc..0000000
--- a/docs/dyn/urlshortener_v1.url.html
+++ /dev/null
@@ -1,739 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="urlshortener_v1.html">URL Shortener API</a> . <a href="urlshortener_v1.url.html">url</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#get">get(shortUrl, projection=None)</a></code></p>
-<p class="firstline">Expands a short URL or gets creation time and analytics.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(body)</a></code></p>
-<p class="firstline">Creates a new short URL.</p>
-<p class="toc_element">
-  <code><a href="#list">list(start_token=None, projection=None)</a></code></p>
-<p class="firstline">Retrieves a list of URLs shortened by a user.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="get">get(shortUrl, projection=None)</code>
-  <pre>Expands a short URL or gets creation time and analytics.
-
-Args:
-  shortUrl: string, The short URL, including the protocol. (required)
-  projection: string, Additional information to return.
-    Allowed values
-      ANALYTICS_CLICKS - Returns only click counts.
-      ANALYTICS_TOP_STRINGS - Returns only top string counts.
-      FULL - Returns the creation timestamp and all available analytics.
-
-Returns:
-  An object of the form:
-
-    {
-      "status": "A String", # Status of the target URL. Possible values: "OK", "MALWARE", "PHISHING", or "REMOVED". A URL might be marked "REMOVED" if it was flagged as spam, for example.
-      "kind": "urlshortener#url", # The fixed string "urlshortener#url".
-      "created": "A String", # Time the short URL was created; ISO 8601 representation using the yyyy-MM-dd'T'HH:mm:ss.SSSZZ format, e.g. "2010-10-14T19:01:24.944+00:00".
-      "analytics": { # A summary of the click analytics for the short and long URL. Might not be present if not requested or currently unavailable.
-        "week": { # Click analytics over the last week.
-          "shortUrlClicks": "A String", # Number of clicks on this short URL.
-          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-        },
-        "allTime": { # Click analytics over all time.
-          "shortUrlClicks": "A String", # Number of clicks on this short URL.
-          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-        },
-        "twoHours": { # Click analytics over the last two hours.
-          "shortUrlClicks": "A String", # Number of clicks on this short URL.
-          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-        },
-        "day": { # Click analytics over the last day.
-          "shortUrlClicks": "A String", # Number of clicks on this short URL.
-          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-        },
-        "month": { # Click analytics over the last month.
-          "shortUrlClicks": "A String", # Number of clicks on this short URL.
-          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-        },
-      },
-      "longUrl": "A String", # Long URL, e.g. "http://www.google.com/". Might not be present if the status is "REMOVED".
-      "id": "A String", # Short URL, e.g. "http://goo.gl/l6MS".
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(body)</code>
-  <pre>Creates a new short URL.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "status": "A String", # Status of the target URL. Possible values: "OK", "MALWARE", "PHISHING", or "REMOVED". A URL might be marked "REMOVED" if it was flagged as spam, for example.
-    "kind": "urlshortener#url", # The fixed string "urlshortener#url".
-    "created": "A String", # Time the short URL was created; ISO 8601 representation using the yyyy-MM-dd'T'HH:mm:ss.SSSZZ format, e.g. "2010-10-14T19:01:24.944+00:00".
-    "analytics": { # A summary of the click analytics for the short and long URL. Might not be present if not requested or currently unavailable.
-      "week": { # Click analytics over the last week.
-        "shortUrlClicks": "A String", # Number of clicks on this short URL.
-        "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-      },
-      "allTime": { # Click analytics over all time.
-        "shortUrlClicks": "A String", # Number of clicks on this short URL.
-        "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-      },
-      "twoHours": { # Click analytics over the last two hours.
-        "shortUrlClicks": "A String", # Number of clicks on this short URL.
-        "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-      },
-      "day": { # Click analytics over the last day.
-        "shortUrlClicks": "A String", # Number of clicks on this short URL.
-        "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-      },
-      "month": { # Click analytics over the last month.
-        "shortUrlClicks": "A String", # Number of clicks on this short URL.
-        "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-          {
-            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-          },
-        ],
-        "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-      },
-    },
-    "longUrl": "A String", # Long URL, e.g. "http://www.google.com/". Might not be present if the status is "REMOVED".
-    "id": "A String", # Short URL, e.g. "http://goo.gl/l6MS".
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "status": "A String", # Status of the target URL. Possible values: "OK", "MALWARE", "PHISHING", or "REMOVED". A URL might be marked "REMOVED" if it was flagged as spam, for example.
-      "kind": "urlshortener#url", # The fixed string "urlshortener#url".
-      "created": "A String", # Time the short URL was created; ISO 8601 representation using the yyyy-MM-dd'T'HH:mm:ss.SSSZZ format, e.g. "2010-10-14T19:01:24.944+00:00".
-      "analytics": { # A summary of the click analytics for the short and long URL. Might not be present if not requested or currently unavailable.
-        "week": { # Click analytics over the last week.
-          "shortUrlClicks": "A String", # Number of clicks on this short URL.
-          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-        },
-        "allTime": { # Click analytics over all time.
-          "shortUrlClicks": "A String", # Number of clicks on this short URL.
-          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-        },
-        "twoHours": { # Click analytics over the last two hours.
-          "shortUrlClicks": "A String", # Number of clicks on this short URL.
-          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-        },
-        "day": { # Click analytics over the last day.
-          "shortUrlClicks": "A String", # Number of clicks on this short URL.
-          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-        },
-        "month": { # Click analytics over the last month.
-          "shortUrlClicks": "A String", # Number of clicks on this short URL.
-          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-            {
-              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-            },
-          ],
-          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-        },
-      },
-      "longUrl": "A String", # Long URL, e.g. "http://www.google.com/". Might not be present if the status is "REMOVED".
-      "id": "A String", # Short URL, e.g. "http://goo.gl/l6MS".
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(start_token=None, projection=None)</code>
-  <pre>Retrieves a list of URLs shortened by a user.
-
-Args:
-  start_token: string, Token for requesting successive pages of results.
-  projection: string, Additional information to return.
-    Allowed values
-      ANALYTICS_CLICKS - Returns short URL click counts.
-      FULL - Returns short URL click counts.
-
-Returns:
-  An object of the form:
-
-    {
-    "nextPageToken": "A String", # A token to provide to get the next page of results.
-    "items": [ # A list of URL resources.
-      {
-          "status": "A String", # Status of the target URL. Possible values: "OK", "MALWARE", "PHISHING", or "REMOVED". A URL might be marked "REMOVED" if it was flagged as spam, for example.
-          "kind": "urlshortener#url", # The fixed string "urlshortener#url".
-          "created": "A String", # Time the short URL was created; ISO 8601 representation using the yyyy-MM-dd'T'HH:mm:ss.SSSZZ format, e.g. "2010-10-14T19:01:24.944+00:00".
-          "analytics": { # A summary of the click analytics for the short and long URL. Might not be present if not requested or currently unavailable.
-            "week": { # Click analytics over the last week.
-              "shortUrlClicks": "A String", # Number of clicks on this short URL.
-              "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-            },
-            "allTime": { # Click analytics over all time.
-              "shortUrlClicks": "A String", # Number of clicks on this short URL.
-              "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-            },
-            "twoHours": { # Click analytics over the last two hours.
-              "shortUrlClicks": "A String", # Number of clicks on this short URL.
-              "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-            },
-            "day": { # Click analytics over the last day.
-              "shortUrlClicks": "A String", # Number of clicks on this short URL.
-              "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-            },
-            "month": { # Click analytics over the last month.
-              "shortUrlClicks": "A String", # Number of clicks on this short URL.
-              "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
-                {
-                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
-                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
-                },
-              ],
-              "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
-            },
-          },
-          "longUrl": "A String", # Long URL, e.g. "http://www.google.com/". Might not be present if the status is "REMOVED".
-          "id": "A String", # Short URL, e.g. "http://goo.gl/l6MS".
-        },
-    ],
-    "kind": "urlshortener#urlHistory", # The fixed string "urlshortener#urlHistory".
-    "itemsPerPage": 42, # Number of items returned with each full "page" of results. Note that the last page could have fewer items than the "itemsPerPage" value.
-    "totalItems": 42, # Total number of short URLs associated with this user (may be approximate).
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/v1dev_v1dev.channels.html b/docs/dyn/v1dev_v1dev.channels.html
deleted file mode 100644
index 70cd2c8..0000000
--- a/docs/dyn/v1dev_v1dev.channels.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="v1dev_v1dev.html">Wax API</a> . <a href="v1dev_v1dev.channels.html">channels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#stop">stop(body)</a></code></p>
-<p class="firstline">A description of how to use this function</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="stop">stop(body)</code>
-  <pre>A description of how to use this function
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "resourceUri": "A String", # The canonicalized ID of the watched resource.
-    "kind": "api#channel", # A channel watching an API resource
-    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
-    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
-    "params": { # Additional parameters controlling delivery channel behavior
-      "a_key": "A String", # Declares a new parameter by name.
-    },
-    "expiration": "A String", # The expiration instant for this channel if it is defined.
-    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
-    "type": "A String", # The type of delivery mechanism used by this channel
-    "id": "A String", # A UUID for the channel
-  }
-
-</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/v1dev_v1dev.html b/docs/dyn/v1dev_v1dev.html
deleted file mode 100644
index f692b42..0000000
--- a/docs/dyn/v1dev_v1dev.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="v1dev_v1dev.html">Wax API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="v1dev_v1dev.channels.html">channels()</a></code>
-</p>
-<p class="firstline">Returns the channels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="v1dev_v1dev.items.html">items()</a></code>
-</p>
-<p class="firstline">Returns the items Resource.</p>
-
-<p class="toc_element">
-  <code><a href="v1dev_v1dev.sessions.html">sessions()</a></code>
-</p>
-<p class="firstline">Returns the sessions Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/v1dev_v1dev.items.html b/docs/dyn/v1dev_v1dev.items.html
deleted file mode 100644
index f6c6908..0000000
--- a/docs/dyn/v1dev_v1dev.items.html
+++ /dev/null
@@ -1,333 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="v1dev_v1dev.html">Wax API</a> . <a href="v1dev_v1dev.items.html">items</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(sessionId, itemId)</a></code></p>
-<p class="firstline">Deletes an item.</p>
-<p class="toc_element">
-  <code><a href="#get">get(sessionId, itemId)</a></code></p>
-<p class="firstline">Gets one item by ID.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(sessionId, body)</a></code></p>
-<p class="firstline">Inserts a new item into this session.</p>
-<p class="toc_element">
-  <code><a href="#list">list(sessionId)</a></code></p>
-<p class="firstline">Retrieves a list of items in a session.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(sessionId, itemId, body)</a></code></p>
-<p class="firstline">Updates an existing item. This method supports patch semantics.</p>
-<p class="toc_element">
-  <code><a href="#update">update(sessionId, itemId, body)</a></code></p>
-<p class="firstline">Updates an existing item.</p>
-<p class="toc_element">
-  <code><a href="#watch">watch(sessionId, body)</a></code></p>
-<p class="firstline">Subscribe to changes to any item in a session.</p>
-<p class="toc_element">
-  <code><a href="#watchToOneItem">watchToOneItem(sessionId, itemId, body)</a></code></p>
-<p class="firstline">Subscribe to changes to one item in a session.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(sessionId, itemId)</code>
-  <pre>Deletes an item.
-
-Args:
-  sessionId: string, The session ID. (required)
-  itemId: string, The item ID. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(sessionId, itemId)</code>
-  <pre>Gets one item by ID.
-
-Args:
-  sessionId: string, The session ID. (required)
-  itemId: string, The item ID. (required)
-
-Returns:
-  An object of the form:
-
-    {
-      "blobOfData": "A String", # A blob of data stored in the item.
-      "sizeInBytes": 42, # The size (in bytes) of the blob of data.
-      "kind": "wax#waxDataItem", # The kind of object this is.
-      "id": "A String", # The item ID.
-      "name": "A String", # The name of the item.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(sessionId, body)</code>
-  <pre>Inserts a new item into this session.
-
-Args:
-  sessionId: string, The session ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "blobOfData": "A String", # A blob of data stored in the item.
-    "sizeInBytes": 42, # The size (in bytes) of the blob of data.
-    "kind": "wax#waxDataItem", # The kind of object this is.
-    "id": "A String", # The item ID.
-    "name": "A String", # The name of the item.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "blobOfData": "A String", # A blob of data stored in the item.
-      "sizeInBytes": 42, # The size (in bytes) of the blob of data.
-      "kind": "wax#waxDataItem", # The kind of object this is.
-      "id": "A String", # The item ID.
-      "name": "A String", # The name of the item.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(sessionId)</code>
-  <pre>Retrieves a list of items in a session.
-
-Args:
-  sessionId: string, The session ID. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # The list of Wax items.
-      {
-          "blobOfData": "A String", # A blob of data stored in the item.
-          "sizeInBytes": 42, # The size (in bytes) of the blob of data.
-          "kind": "wax#waxDataItem", # The kind of object this is.
-          "id": "A String", # The item ID.
-          "name": "A String", # The name of the item.
-        },
-    ],
-    "kind": "wax#waxList", # The kind of object this is.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(sessionId, itemId, body)</code>
-  <pre>Updates an existing item. This method supports patch semantics.
-
-Args:
-  sessionId: string, The session ID. (required)
-  itemId: string, The item ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "blobOfData": "A String", # A blob of data stored in the item.
-    "sizeInBytes": 42, # The size (in bytes) of the blob of data.
-    "kind": "wax#waxDataItem", # The kind of object this is.
-    "id": "A String", # The item ID.
-    "name": "A String", # The name of the item.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "blobOfData": "A String", # A blob of data stored in the item.
-      "sizeInBytes": 42, # The size (in bytes) of the blob of data.
-      "kind": "wax#waxDataItem", # The kind of object this is.
-      "id": "A String", # The item ID.
-      "name": "A String", # The name of the item.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(sessionId, itemId, body)</code>
-  <pre>Updates an existing item.
-
-Args:
-  sessionId: string, The session ID. (required)
-  itemId: string, The item ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "blobOfData": "A String", # A blob of data stored in the item.
-    "sizeInBytes": 42, # The size (in bytes) of the blob of data.
-    "kind": "wax#waxDataItem", # The kind of object this is.
-    "id": "A String", # The item ID.
-    "name": "A String", # The name of the item.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "blobOfData": "A String", # A blob of data stored in the item.
-      "sizeInBytes": 42, # The size (in bytes) of the blob of data.
-      "kind": "wax#waxDataItem", # The kind of object this is.
-      "id": "A String", # The item ID.
-      "name": "A String", # The name of the item.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="watch">watch(sessionId, body)</code>
-  <pre>Subscribe to changes to any item in a session.
-
-Args:
-  sessionId: string, The session ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "resourceUri": "A String", # The canonicalized ID of the watched resource.
-    "kind": "api#channel", # A channel watching an API resource
-    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
-    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
-    "params": { # Additional parameters controlling delivery channel behavior
-      "a_key": "A String", # Declares a new parameter by name.
-    },
-    "expiration": "A String", # The expiration instant for this channel if it is defined.
-    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
-    "type": "A String", # The type of delivery mechanism used by this channel
-    "id": "A String", # A UUID for the channel
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "resourceUri": "A String", # The canonicalized ID of the watched resource.
-      "kind": "api#channel", # A channel watching an API resource
-      "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
-      "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
-      "params": { # Additional parameters controlling delivery channel behavior
-        "a_key": "A String", # Declares a new parameter by name.
-      },
-      "expiration": "A String", # The expiration instant for this channel if it is defined.
-      "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
-      "type": "A String", # The type of delivery mechanism used by this channel
-      "id": "A String", # A UUID for the channel
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="watchToOneItem">watchToOneItem(sessionId, itemId, body)</code>
-  <pre>Subscribe to changes to one item in a session.
-
-Args:
-  sessionId: string, The session ID. (required)
-  itemId: string, The item ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "resourceUri": "A String", # The canonicalized ID of the watched resource.
-    "kind": "api#channel", # A channel watching an API resource
-    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
-    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
-    "params": { # Additional parameters controlling delivery channel behavior
-      "a_key": "A String", # Declares a new parameter by name.
-    },
-    "expiration": "A String", # The expiration instant for this channel if it is defined.
-    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
-    "type": "A String", # The type of delivery mechanism used by this channel
-    "id": "A String", # A UUID for the channel
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-      "resourceUri": "A String", # The canonicalized ID of the watched resource.
-      "kind": "api#channel", # A channel watching an API resource
-      "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
-      "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
-      "params": { # Additional parameters controlling delivery channel behavior
-        "a_key": "A String", # Declares a new parameter by name.
-      },
-      "expiration": "A String", # The expiration instant for this channel if it is defined.
-      "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
-      "type": "A String", # The type of delivery mechanism used by this channel
-      "id": "A String", # A UUID for the channel
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/v1dev_v1dev.sessions.html b/docs/dyn/v1dev_v1dev.sessions.html
deleted file mode 100644
index f3c8574..0000000
--- a/docs/dyn/v1dev_v1dev.sessions.html
+++ /dev/null
@@ -1,160 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="v1dev_v1dev.html">Wax API</a> . <a href="v1dev_v1dev.sessions.html">sessions</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#create">create(body)</a></code></p>
-<p class="firstline">Creates a new session. New sessions are initialized with two pre-defined items. Just like wax.sessions.newsession, but matches other implementations of Wax in Endpoints.</p>
-<p class="toc_element">
-  <code><a href="#newSession">newSession(body, sessionName=None)</a></code></p>
-<p class="firstline">Creates a new session. New sessions are initialized with two pre-defined items.</p>
-<p class="toc_element">
-  <code><a href="#removeSession">removeSession(body, sessionId=None)</a></code></p>
-<p class="firstline">Removes a session. Clients that create sessions with long or infinite durations should call this method to clean up after themselves.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="create">create(body)</code>
-  <pre>Creates a new session. New sessions are initialized with two pre-defined items. Just like wax.sessions.newsession, but matches other implementations of Wax in Endpoints.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "sessionName": "A String", # Usually a short, human-readable name that describes a session. This name will appear as part of the session ID, which is generated by the API when the session is created.
-    "durationInMillis": "A String", # Session duration in milliseconds.
-  }
-
-
-Returns:
-  An object of the form:
-
-    {
-    "newSessionId": "A String", # The session ID.
-    "kind": "wax#waxNewSession", # The kind of object this is.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="newSession">newSession(body, sessionName=None)</code>
-  <pre>Creates a new session. New sessions are initialized with two pre-defined items.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "newSessionParams": { # Parameters used when requesting a new session.
-      "kind": "wax#waxNewSessionParams", # The kind of object this is.
-      "durationInMillis": "A String", # Session duration in milliseconds.
-    },
-    "sessionName": "A String", # Usually a short, human-readable name that describes a session. This name will appear as part of the session ID, which is generated by the API when the session is created.
-  }
-
-  sessionName: string, Human-readable name that describes a session. This name will be part of the session ID.
-
-Returns:
-  An object of the form:
-
-    {
-    "newSessionId": "A String", # The session ID.
-    "kind": "wax#waxNewSession", # The kind of object this is.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="removeSession">removeSession(body, sessionId=None)</code>
-  <pre>Removes a session. Clients that create sessions with long or infinite durations should call this method to clean up after themselves.
-
-Args:
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "sessionId": "A String", # The ID corresponding to the session to be removed.
-  }
-
-  sessionId: string, The session ID.
-
-Returns:
-  An object of the form:
-
-    {
-    "kind": "wax#waxRemoveSession", # The kind of object this is.
-    "removedSessionId": "A String", # The ID corresponding to the session that was removed.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/webfonts_v1.html b/docs/dyn/webfonts_v1.html
deleted file mode 100644
index 2ae835b..0000000
--- a/docs/dyn/webfonts_v1.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="webfonts_v1.html">Google Fonts Developer API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="webfonts_v1.webfonts.html">webfonts()</a></code>
-</p>
-<p class="firstline">Returns the webfonts Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/webfonts_v1.webfonts.html b/docs/dyn/webfonts_v1.webfonts.html
deleted file mode 100644
index a4abc9e..0000000
--- a/docs/dyn/webfonts_v1.webfonts.html
+++ /dev/null
@@ -1,119 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="webfonts_v1.html">Google Fonts Developer API</a> . <a href="webfonts_v1.webfonts.html">webfonts</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(sort=None)</a></code></p>
-<p class="firstline">Retrieves the list of fonts currently served by the Google Fonts Developer API</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(sort=None)</code>
-  <pre>Retrieves the list of fonts currently served by the Google Fonts Developer API
-
-Args:
-  sort: string, Enables sorting of the list
-    Allowed values
-      alpha - Sort alphabetically
-      date - Sort by date added
-      popularity - Sort by popularity
-      style - Sort by number of styles
-      trending - Sort by trending
-
-Returns:
-  An object of the form:
-
-    {
-    "items": [ # The list of fonts currently served by the Google Fonts API.
-      {
-        "files": { # The font files (with all supported scripts) for each one of the available variants, as a key : value map.
-          "a_key": "A String", # The font file URL (value) for an specific variant (key).
-        },
-        "kind": "webfonts#webfont", # This kind represents a webfont object in the webfonts service.
-        "family": "A String", # The name of the font.
-        "subsets": [ # The scripts supported by the font.
-          "A String",
-        ],
-        "lastModified": "A String", # The date (format "yyyy-MM-dd") the font was modified for the last time.
-        "version": "A String", # The font version.
-        "variants": [ # The available variants for the font.
-          "A String",
-        ],
-      },
-    ],
-    "kind": "webfonts#webfontList", # This kind represents a list of webfont objects in the webfonts service.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtubeAnalytics_v1.html b/docs/dyn/youtubeAnalytics_v1.html
deleted file mode 100644
index 14efd64..0000000
--- a/docs/dyn/youtubeAnalytics_v1.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="youtubeAnalytics_v1.html">YouTube Analytics API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="youtubeAnalytics_v1.reports.html">reports()</a></code>
-</p>
-<p class="firstline">Returns the reports Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtubeAnalytics_v1.reports.html b/docs/dyn/youtubeAnalytics_v1.reports.html
deleted file mode 100644
index d389b5b..0000000
--- a/docs/dyn/youtubeAnalytics_v1.reports.html
+++ /dev/null
@@ -1,118 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="youtubeAnalytics_v1.html">YouTube Analytics API</a> . <a href="youtubeAnalytics_v1.reports.html">reports</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#query">query(ids=None, start_date, end_date, metrics, sort=None, dimensions=None, filters=None, max_results=None, start_index=None)</a></code></p>
-<p class="firstline">Retrieve your YouTube Analytics reports.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="query">query(ids=None, start_date, end_date, metrics, sort=None, dimensions=None, filters=None, max_results=None, start_index=None)</code>
-  <pre>Retrieve your YouTube Analytics reports.
-
-Args:
-  ids: string, Identifies the YouTube channel or content owner for which you are retrieving YouTube Analytics data.
-- To request data for a YouTube user, set the ids parameter value to channel==CHANNEL_ID, where CHANNEL_ID specifies the unique YouTube channel ID.
-- To request data for a YouTube CMS content owner, set the ids parameter value to contentOwner==OWNER_NAME, where OWNER_NAME is the CMS name of the content owner. (required)
-  start_date: string, The start date for fetching YouTube Analytics data. The value should be in YYYY-MM-DD format. (required)
-  end_date: string, The end date for fetching YouTube Analytics data. The value should be in YYYY-MM-DD format. (required)
-  metrics: string, A comma-separated list of YouTube Analytics metrics, such as views or likes,dislikes. See the Available Reports document for a list of the reports that you can retrieve and the metrics available in each report, and see the Metrics document for definitions of those metrics. (required)
-  sort: string, A comma-separated list of dimensions or metrics that determine the sort order for YouTube Analytics data. By default the sort order is ascending. The '-' prefix causes descending sort order.
-  dimensions: string, A comma-separated list of YouTube Analytics dimensions, such as views or ageGroup,gender. See the Available Reports document for a list of the reports that you can retrieve and the dimensions used for those reports. Also see the Dimensions document for definitions of those dimensions.
-  filters: string, A list of filters that should be applied when retrieving YouTube Analytics data. The Available Reports document identifies the dimensions that can be used to filter each report, and the Dimensions document defines those dimensions. If a request uses multiple filters, join them together with a semicolon (;), and the returned result table will satisfy both filters. For example, a filters parameter value of video==dMH0bHeiRNg;country==IT restricts the result set to include data for the given video in Italy.
-  max_results: integer, The maximum number of rows to include in the response.
-  start_index: integer, An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter (one-based, inclusive).
-
-Returns:
-  An object of the form:
-
-    { # Contains a single result table. The table is returned as an array of rows that contain the values for the cells of the table. Depending on the metric or dimension, the cell can contain a string (video ID, country code) or a number (number of views or number of likes).
-    "kind": "youtubeAnalytics#resultTable", # This value specifies the type of data included in the API response. For the query method, the kind property value will be youtubeAnalytics#resultTable.
-    "rows": [ # The list contains all rows of the result table. Each item in the list is an array that contains comma-delimited data corresponding to a single row of data. The order of the comma-delimited data fields will match the order of the columns listed in the columnHeaders field. If no data is available for the given query, the rows element will be omitted from the response. The response for a query with the day dimension will not contain rows for the most recent days.
-      [
-        "",
-      ],
-    ],
-    "columnHeaders": [ # This value specifies information about the data returned in the rows fields. Each item in the columnHeaders list identifies a field returned in the rows value, which contains a list of comma-delimited data. The columnHeaders list will begin with the dimensions specified in the API request, which will be followed by the metrics specified in the API request. The order of both dimensions and metrics will match the ordering in the API request. For example, if the API request contains the parameters dimensions=ageGroup,gender&metrics=viewerPercentage, the API response will return columns in this order: ageGroup,gender,viewerPercentage.
-      {
-        "dataType": "A String", # The type of the data in the column (STRING, INTEGER, FLOAT, etc.).
-        "columnType": "A String", # The type of the column (DIMENSION or METRIC).
-        "name": "A String", # The name of the dimension or metric.
-      },
-    ],
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.activities.html b/docs/dyn/youtube_v3.activities.html
deleted file mode 100644
index d2744cb..0000000
--- a/docs/dyn/youtube_v3.activities.html
+++ /dev/null
@@ -1,575 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.activities.html">activities</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#insert">insert(part=None, body)</a></code></p>
-<p class="firstline">Posts a bulletin for a specific channel. (The user submitting the request must be authorized to act on the channel's behalf.)</p>
-<p class="toc_element">
-  <code><a href="#list">list(part=None, pageToken=None, publishedBefore=None, channelId=None, mine=None, maxResults=None, regionCode=None, home=None, publishedAfter=None)</a></code></p>
-<p class="firstline">Returns a list of channel activity events that match the request criteria. For example, you can retrieve events associated with a particular channel, events associated with the user's subscriptions and Google+ friends, or the YouTube home page feed, which is customized for each user.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="insert">insert(part=None, body)</code>
-  <pre>Posts a bulletin for a specific channel. (The user submitting the request must be authorized to act on the channel's behalf.)
-
-Args:
-  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
-
-The part names that you can include in the parameter value are snippet and contentDetails. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # An activity resource contains information about an action that a particular channel, or user, has taken on YouTube.The actions reported in activity feeds include rating a video, sharing a video, marking a video as a favorite, commenting on a video, uploading a video, and so forth. Each activity resource identifies the type of action, the channel associated with the action, and the resource(s) associated with the action, such as the video that was rated or uploaded.
-    "snippet": { # Basic details about an activity, including title, description, thumbnails, activity type and group. # The snippet object contains basic details about the activity, including the activity's type and group ID.
-      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the resource that is primarily associated with the activity. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-      },
-      "title": "A String", # The title of the resource primarily associated with the activity.
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel associated with the activity.
-      "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "channelTitle": "A String", # Channel title for the channel responsible for this activity
-      "type": "A String", # The type of activity that the resource describes.
-      "groupId": "A String", # The group ID associated with the activity. A group ID identifies user events that are associated with the same user and resource. For example, if a user rates a video and marks the same video as a favorite, the entries for those events would have the same group ID in the user's activity feed. In your user interface, you can avoid repetition by grouping events with the same groupId value.
-      "description": "A String", # The description of the resource primarily associated with the activity.
-    },
-    "contentDetails": { # Details about the content of an activity: the video that was shared, the channel that was subscribed to, etc. # The contentDetails object contains information about the content associated with the activity. For example, if the snippet.type value is videoRated, then the contentDetails object's content identifies the rated video.
-      "comment": { # Information about a resource that received a comment. # The comment object contains information about a resource that received a comment. This property is only present if the snippet.type is comment.
-        "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource associated with the comment.
-          "kind": "A String", # The type of the API resource.
-          "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-          "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-          "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-        },
-      },
-      "playlistItem": { # Information about a new playlist item. # The playlistItem object contains information about a new playlist item. This property is only present if the snippet.type is playlistItem.
-        "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information about the resource that was added to the playlist.
-          "kind": "A String", # The type of the API resource.
-          "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-          "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-          "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-        },
-        "playlistId": "A String", # The value that YouTube uses to uniquely identify the playlist.
-        "playlistItemId": "A String", # ID of the item within the playlist.
-      },
-      "like": { # Information about a resource that received a positive (like) rating. # The like object contains information about a resource that received a positive (like) rating. This property is only present if the snippet.type is like.
-        "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the rated resource.
-          "kind": "A String", # The type of the API resource.
-          "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-          "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-          "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-        },
-      },
-      "promotedItem": { # Details about a resource which is being promoted. # The promotedItem object contains details about a resource which is being promoted. This property is only present if the snippet.type is promotedItem.
-        "ctaType": "A String", # The type of call-to-action, a message to the user indicating action that can be taken.
-        "adTag": "A String", # The URL the client should fetch to request a promoted item.
-        "destinationUrl": "A String", # The URL the client should direct the user to, if the user chooses to visit the advertiser's website.
-        "creativeViewUrl": "A String", # The URL the client should ping to indicate that the user was shown this promoted item.
-        "videoId": "A String", # The ID that YouTube uses to uniquely identify the promoted video.
-        "descriptionText": "A String", # The text description to accompany the promoted item.
-        "clickTrackingUrl": "A String", # The URL the client should ping to indicate that the user clicked through on this promoted item.
-      },
-      "social": { # Details about a social network post. # The social object contains details about a social network post. This property is only present if the snippet.type is social.
-        "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object encapsulates information that identifies the resource associated with a social network post.
-          "kind": "A String", # The type of the API resource.
-          "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-          "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-          "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-        },
-        "imageUrl": "A String", # An image of the post's author.
-        "type": "A String", # The name of the social network.
-        "referenceUrl": "A String", # The URL of the social network post.
-        "author": "A String", # The author of the social network post.
-      },
-      "favorite": { # Information about a video that was marked as a favorite video. # The favorite object contains information about a video that was marked as a favorite video. This property is only present if the snippet.type is favorite.
-        "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource that was marked as a favorite.
-          "kind": "A String", # The type of the API resource.
-          "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-          "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-          "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-        },
-      },
-      "upload": { # Information about the uploaded video. # The upload object contains information about the uploaded video. This property is only present if the snippet.type is upload.
-        "videoId": "A String", # The ID that YouTube uses to uniquely identify the uploaded video.
-      },
-      "recommendation": { # Information that identifies the recommended resource. # The recommendation object contains information about a recommended resource. This property is only present if the snippet.type is recommendation.
-        "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the recommended resource.
-          "kind": "A String", # The type of the API resource.
-          "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-          "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-          "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-        },
-        "reason": "A String", # The reason that the resource is recommended to the user.
-        "seedResourceId": { # A resource id is a generic reference that points to another YouTube resource. # The seedResourceId object contains information about the resource that caused the recommendation.
-          "kind": "A String", # The type of the API resource.
-          "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-          "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-          "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-        },
-      },
-      "subscription": { # Information about a channel that a user subscribed to. # The subscription object contains information about a channel that a user subscribed to. This property is only present if the snippet.type is subscription.
-        "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource that the user subscribed to.
-          "kind": "A String", # The type of the API resource.
-          "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-          "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-          "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-        },
-      },
-      "bulletin": { # Details about a channel bulletin post. # The bulletin object contains details about a channel bulletin post. This object is only present if the snippet.type is bulletin.
-        "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource associated with a bulletin post.
-          "kind": "A String", # The type of the API resource.
-          "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-          "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-          "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-        },
-      },
-      "channelItem": { # Details about a resource which was added to a channel. # The channelItem object contains details about a resource which was added to a channel. This property is only present if the snippet.type is channelItem.
-        "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource that was added to the channel.
-          "kind": "A String", # The type of the API resource.
-          "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-          "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-          "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-        },
-      },
-    },
-    "kind": "youtube#activity", # The kind, fixed to "youtube#activity".
-    "etag": "A String", # Etag of this resource.
-    "id": "A String", # The ID that YouTube uses to uniquely identify the activity.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # An activity resource contains information about an action that a particular channel, or user, has taken on YouTube.The actions reported in activity feeds include rating a video, sharing a video, marking a video as a favorite, commenting on a video, uploading a video, and so forth. Each activity resource identifies the type of action, the channel associated with the action, and the resource(s) associated with the action, such as the video that was rated or uploaded.
-      "snippet": { # Basic details about an activity, including title, description, thumbnails, activity type and group. # The snippet object contains basic details about the activity, including the activity's type and group ID.
-        "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the resource that is primarily associated with the activity. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-          "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-        },
-        "title": "A String", # The title of the resource primarily associated with the activity.
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel associated with the activity.
-        "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "channelTitle": "A String", # Channel title for the channel responsible for this activity
-        "type": "A String", # The type of activity that the resource describes.
-        "groupId": "A String", # The group ID associated with the activity. A group ID identifies user events that are associated with the same user and resource. For example, if a user rates a video and marks the same video as a favorite, the entries for those events would have the same group ID in the user's activity feed. In your user interface, you can avoid repetition by grouping events with the same groupId value.
-        "description": "A String", # The description of the resource primarily associated with the activity.
-      },
-      "contentDetails": { # Details about the content of an activity: the video that was shared, the channel that was subscribed to, etc. # The contentDetails object contains information about the content associated with the activity. For example, if the snippet.type value is videoRated, then the contentDetails object's content identifies the rated video.
-        "comment": { # Information about a resource that received a comment. # The comment object contains information about a resource that received a comment. This property is only present if the snippet.type is comment.
-          "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource associated with the comment.
-            "kind": "A String", # The type of the API resource.
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-            "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-            "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-          },
-        },
-        "playlistItem": { # Information about a new playlist item. # The playlistItem object contains information about a new playlist item. This property is only present if the snippet.type is playlistItem.
-          "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information about the resource that was added to the playlist.
-            "kind": "A String", # The type of the API resource.
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-            "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-            "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-          },
-          "playlistId": "A String", # The value that YouTube uses to uniquely identify the playlist.
-          "playlistItemId": "A String", # ID of the item within the playlist.
-        },
-        "like": { # Information about a resource that received a positive (like) rating. # The like object contains information about a resource that received a positive (like) rating. This property is only present if the snippet.type is like.
-          "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the rated resource.
-            "kind": "A String", # The type of the API resource.
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-            "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-            "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-          },
-        },
-        "promotedItem": { # Details about a resource which is being promoted. # The promotedItem object contains details about a resource which is being promoted. This property is only present if the snippet.type is promotedItem.
-          "ctaType": "A String", # The type of call-to-action, a message to the user indicating action that can be taken.
-          "adTag": "A String", # The URL the client should fetch to request a promoted item.
-          "destinationUrl": "A String", # The URL the client should direct the user to, if the user chooses to visit the advertiser's website.
-          "creativeViewUrl": "A String", # The URL the client should ping to indicate that the user was shown this promoted item.
-          "videoId": "A String", # The ID that YouTube uses to uniquely identify the promoted video.
-          "descriptionText": "A String", # The text description to accompany the promoted item.
-          "clickTrackingUrl": "A String", # The URL the client should ping to indicate that the user clicked through on this promoted item.
-        },
-        "social": { # Details about a social network post. # The social object contains details about a social network post. This property is only present if the snippet.type is social.
-          "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object encapsulates information that identifies the resource associated with a social network post.
-            "kind": "A String", # The type of the API resource.
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-            "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-            "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-          },
-          "imageUrl": "A String", # An image of the post's author.
-          "type": "A String", # The name of the social network.
-          "referenceUrl": "A String", # The URL of the social network post.
-          "author": "A String", # The author of the social network post.
-        },
-        "favorite": { # Information about a video that was marked as a favorite video. # The favorite object contains information about a video that was marked as a favorite video. This property is only present if the snippet.type is favorite.
-          "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource that was marked as a favorite.
-            "kind": "A String", # The type of the API resource.
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-            "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-            "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-          },
-        },
-        "upload": { # Information about the uploaded video. # The upload object contains information about the uploaded video. This property is only present if the snippet.type is upload.
-          "videoId": "A String", # The ID that YouTube uses to uniquely identify the uploaded video.
-        },
-        "recommendation": { # Information that identifies the recommended resource. # The recommendation object contains information about a recommended resource. This property is only present if the snippet.type is recommendation.
-          "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the recommended resource.
-            "kind": "A String", # The type of the API resource.
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-            "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-            "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-          },
-          "reason": "A String", # The reason that the resource is recommended to the user.
-          "seedResourceId": { # A resource id is a generic reference that points to another YouTube resource. # The seedResourceId object contains information about the resource that caused the recommendation.
-            "kind": "A String", # The type of the API resource.
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-            "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-            "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-          },
-        },
-        "subscription": { # Information about a channel that a user subscribed to. # The subscription object contains information about a channel that a user subscribed to. This property is only present if the snippet.type is subscription.
-          "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource that the user subscribed to.
-            "kind": "A String", # The type of the API resource.
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-            "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-            "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-          },
-        },
-        "bulletin": { # Details about a channel bulletin post. # The bulletin object contains details about a channel bulletin post. This object is only present if the snippet.type is bulletin.
-          "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource associated with a bulletin post.
-            "kind": "A String", # The type of the API resource.
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-            "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-            "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-          },
-        },
-        "channelItem": { # Details about a resource which was added to a channel. # The channelItem object contains details about a resource which was added to a channel. This property is only present if the snippet.type is channelItem.
-          "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource that was added to the channel.
-            "kind": "A String", # The type of the API resource.
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-            "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-            "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-          },
-        },
-      },
-      "kind": "youtube#activity", # The kind, fixed to "youtube#activity".
-      "etag": "A String", # Etag of this resource.
-      "id": "A String", # The ID that YouTube uses to uniquely identify the activity.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(part=None, pageToken=None, publishedBefore=None, channelId=None, mine=None, maxResults=None, regionCode=None, home=None, publishedAfter=None)</code>
-  <pre>Returns a list of channel activity events that match the request criteria. For example, you can retrieve events associated with a particular channel, events associated with the user's subscriptions and Google+ friends, or the YouTube home page feed, which is customized for each user.
-
-Args:
-  part: string, The part parameter specifies a comma-separated list of one or more activity resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, and contentDetails.
-
-If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a activity resource, the snippet property contains other properties that identify the type of activity, a display title for the activity, and so forth. If you set part=snippet, the API response will also contain all of those nested properties. (required)
-  pageToken: string, USE_DESCRIPTION --- channels:list:pageToken
-  publishedBefore: string, The publishedBefore parameter specifies the date and time before which an activity must have occurred for that activity to be included in the API response. If the parameter value specifies a day, but not a time, then any activities that occurred that day will be excluded from the result set. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-  channelId: string, The channelId parameter specifies a unique YouTube channel ID. The API will then return a list of that channel's activities.
-  mine: boolean, Set this parameter's value to true to retrieve a feed of the authenticated user's activities.
-  maxResults: integer, USE_DESCRIPTION --- channels:list:maxResults
-  regionCode: string, The regionCode parameter instructs the API to return results for the specified country. The parameter value is an ISO 3166-1 alpha-2 country code.
-  home: boolean, Set this parameter's value to true to retrieve the activity feed that displays on the YouTube home page for the currently authenticated user.
-  publishedAfter: string, The publishedAfter parameter specifies the earliest date and time that an activity could have occurred for that activity to be included in the API response. If the parameter value specifies a day, but not a time, then any activities that occurred that day will be included in the result set. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-
-Returns:
-  An object of the form:
-
-    { # A paginated list of activities returned as a response to youtube.activities.list calls.
-    "eventId": "A String", # Serialized EventId of the request which produced this response.
-    "nextPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
-    "kind": "youtube#activityListResponse", # The type of the API response. For this operation, the value will be youtube#activityListResponse.
-    "visitorId": "A String", # The visitorId identifies the visitor.
-    "items": [ # A list of activities, or events, that match the request criteria.
-      { # An activity resource contains information about an action that a particular channel, or user, has taken on YouTube.The actions reported in activity feeds include rating a video, sharing a video, marking a video as a favorite, commenting on a video, uploading a video, and so forth. Each activity resource identifies the type of action, the channel associated with the action, and the resource(s) associated with the action, such as the video that was rated or uploaded.
-          "snippet": { # Basic details about an activity, including title, description, thumbnails, activity type and group. # The snippet object contains basic details about the activity, including the activity's type and group ID.
-            "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the resource that is primarily associated with the activity. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-              "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-            },
-            "title": "A String", # The title of the resource primarily associated with the activity.
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel associated with the activity.
-            "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-            "channelTitle": "A String", # Channel title for the channel responsible for this activity
-            "type": "A String", # The type of activity that the resource describes.
-            "groupId": "A String", # The group ID associated with the activity. A group ID identifies user events that are associated with the same user and resource. For example, if a user rates a video and marks the same video as a favorite, the entries for those events would have the same group ID in the user's activity feed. In your user interface, you can avoid repetition by grouping events with the same groupId value.
-            "description": "A String", # The description of the resource primarily associated with the activity.
-          },
-          "contentDetails": { # Details about the content of an activity: the video that was shared, the channel that was subscribed to, etc. # The contentDetails object contains information about the content associated with the activity. For example, if the snippet.type value is videoRated, then the contentDetails object's content identifies the rated video.
-            "comment": { # Information about a resource that received a comment. # The comment object contains information about a resource that received a comment. This property is only present if the snippet.type is comment.
-              "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource associated with the comment.
-                "kind": "A String", # The type of the API resource.
-                "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-                "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-                "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-              },
-            },
-            "playlistItem": { # Information about a new playlist item. # The playlistItem object contains information about a new playlist item. This property is only present if the snippet.type is playlistItem.
-              "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information about the resource that was added to the playlist.
-                "kind": "A String", # The type of the API resource.
-                "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-                "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-                "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-              },
-              "playlistId": "A String", # The value that YouTube uses to uniquely identify the playlist.
-              "playlistItemId": "A String", # ID of the item within the playlist.
-            },
-            "like": { # Information about a resource that received a positive (like) rating. # The like object contains information about a resource that received a positive (like) rating. This property is only present if the snippet.type is like.
-              "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the rated resource.
-                "kind": "A String", # The type of the API resource.
-                "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-                "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-                "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-              },
-            },
-            "promotedItem": { # Details about a resource which is being promoted. # The promotedItem object contains details about a resource which is being promoted. This property is only present if the snippet.type is promotedItem.
-              "ctaType": "A String", # The type of call-to-action, a message to the user indicating action that can be taken.
-              "adTag": "A String", # The URL the client should fetch to request a promoted item.
-              "destinationUrl": "A String", # The URL the client should direct the user to, if the user chooses to visit the advertiser's website.
-              "creativeViewUrl": "A String", # The URL the client should ping to indicate that the user was shown this promoted item.
-              "videoId": "A String", # The ID that YouTube uses to uniquely identify the promoted video.
-              "descriptionText": "A String", # The text description to accompany the promoted item.
-              "clickTrackingUrl": "A String", # The URL the client should ping to indicate that the user clicked through on this promoted item.
-            },
-            "social": { # Details about a social network post. # The social object contains details about a social network post. This property is only present if the snippet.type is social.
-              "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object encapsulates information that identifies the resource associated with a social network post.
-                "kind": "A String", # The type of the API resource.
-                "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-                "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-                "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-              },
-              "imageUrl": "A String", # An image of the post's author.
-              "type": "A String", # The name of the social network.
-              "referenceUrl": "A String", # The URL of the social network post.
-              "author": "A String", # The author of the social network post.
-            },
-            "favorite": { # Information about a video that was marked as a favorite video. # The favorite object contains information about a video that was marked as a favorite video. This property is only present if the snippet.type is favorite.
-              "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource that was marked as a favorite.
-                "kind": "A String", # The type of the API resource.
-                "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-                "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-                "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-              },
-            },
-            "upload": { # Information about the uploaded video. # The upload object contains information about the uploaded video. This property is only present if the snippet.type is upload.
-              "videoId": "A String", # The ID that YouTube uses to uniquely identify the uploaded video.
-            },
-            "recommendation": { # Information that identifies the recommended resource. # The recommendation object contains information about a recommended resource. This property is only present if the snippet.type is recommendation.
-              "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the recommended resource.
-                "kind": "A String", # The type of the API resource.
-                "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-                "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-                "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-              },
-              "reason": "A String", # The reason that the resource is recommended to the user.
-              "seedResourceId": { # A resource id is a generic reference that points to another YouTube resource. # The seedResourceId object contains information about the resource that caused the recommendation.
-                "kind": "A String", # The type of the API resource.
-                "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-                "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-                "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-              },
-            },
-            "subscription": { # Information about a channel that a user subscribed to. # The subscription object contains information about a channel that a user subscribed to. This property is only present if the snippet.type is subscription.
-              "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource that the user subscribed to.
-                "kind": "A String", # The type of the API resource.
-                "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-                "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-                "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-              },
-            },
-            "bulletin": { # Details about a channel bulletin post. # The bulletin object contains details about a channel bulletin post. This object is only present if the snippet.type is bulletin.
-              "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource associated with a bulletin post.
-                "kind": "A String", # The type of the API resource.
-                "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-                "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-                "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-              },
-            },
-            "channelItem": { # Details about a resource which was added to a channel. # The channelItem object contains details about a resource which was added to a channel. This property is only present if the snippet.type is channelItem.
-              "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource that was added to the channel.
-                "kind": "A String", # The type of the API resource.
-                "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-                "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-                "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-              },
-            },
-          },
-          "kind": "youtube#activity", # The kind, fixed to "youtube#activity".
-          "etag": "A String", # Etag of this resource.
-          "id": "A String", # The ID that YouTube uses to uniquely identify the activity.
-        },
-    ],
-    "etag": "A String", # The ETag of the response.
-    "prevPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
-    "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page. # The pageInfo object encapsulates paging information for the result set.
-      "totalResults": 42, # The total number of results in the result set.
-      "resultsPerPage": 42, # The number of results included in the API response.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.channelBanners.html b/docs/dyn/youtube_v3.channelBanners.html
deleted file mode 100644
index b567a25..0000000
--- a/docs/dyn/youtube_v3.channelBanners.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.channelBanners.html">channelBanners</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#insert">insert(body=None, media_body=None, onBehalfOfContentOwner=None)</a></code></p>
-<p class="firstline">Uploads a channel banner to YouTube.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="insert">insert(body=None, media_body=None, onBehalfOfContentOwner=None)</code>
-  <pre>Uploads a channel banner to YouTube.
-
-Args:
-  body: object, The request body.
-    The object takes the form of:
-
-{ # A channel banner returned as the response to a channel_banner.insert call.
-    "url": "A String", # The URL of this banner image.
-    "kind": "youtube#channelBannerResource", # The kind, fixed to "youtube#channelBannerResource".
-    "etag": "A String", # Etag of this resource.
-  }
-
-  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
-  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
-
-Returns:
-  An object of the form:
-
-    { # A channel banner returned as the response to a channel_banner.insert call.
-      "url": "A String", # The URL of this banner image.
-      "kind": "youtube#channelBannerResource", # The kind, fixed to "youtube#channelBannerResource".
-      "etag": "A String", # Etag of this resource.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.channels.html b/docs/dyn/youtube_v3.channels.html
deleted file mode 100644
index 56de365..0000000
--- a/docs/dyn/youtube_v3.channels.html
+++ /dev/null
@@ -1,717 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.channels.html">channels</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(part=None, managedByMe=None, onBehalfOfContentOwner=None, forUsername=None, pageToken=None, categoryId=None, maxResults=None, mine=None, mySubscribers=None, id=None)</a></code></p>
-<p class="firstline">Returns a collection of zero or more channel resources that match the request criteria.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#update">update(part=None, body, onBehalfOfContentOwner=None)</a></code></p>
-<p class="firstline">Updates a channel's metadata.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(part=None, managedByMe=None, onBehalfOfContentOwner=None, forUsername=None, pageToken=None, categoryId=None, maxResults=None, mine=None, mySubscribers=None, id=None)</code>
-  <pre>Returns a collection of zero or more channel resources that match the request criteria.
-
-Args:
-  part: string, The part parameter specifies a comma-separated list of one or more channel resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, statistics, topicDetails, and invideoPromotion.
-
-If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a channel resource, the contentDetails property contains other properties, such as the uploads properties. As such, if you set part=contentDetails, the API response will also contain all of those nested properties. (required)
-  managedByMe: boolean, Set this parameter's value to true to instruct the API to only return channels managed by the content owner that the onBehalfOfContentOwner parameter specifies. The user must be authenticated as a CMS account linked to the specified content owner and onBehalfOfContentOwner must be provided.
-  onBehalfOfContentOwner: string, The onBehalfOfContentOwner parameter indicates that the authenticated user is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with needs to be linked to the specified YouTube content owner.
-  forUsername: string, The forUsername parameter specifies a YouTube username, thereby requesting the channel associated with that username.
-  pageToken: string, The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
-  categoryId: string, The categoryId parameter specifies a YouTube guide category, thereby requesting YouTube channels associated with that category.
-  maxResults: integer, The maxResults parameter specifies the maximum number of items that should be returned in the result set.
-  mine: boolean, Set this parameter's value to true to instruct the API to only return channels owned by the authenticated user.
-  mySubscribers: boolean, Set this parameter's value to true to retrieve a list of channels that subscribed to the authenticated user's channel.
-  id: string, The id parameter specifies a comma-separated list of the YouTube channel ID(s) for the resource(s) that are being retrieved. In a channel resource, the id property specifies the channel's YouTube channel ID.
-
-Returns:
-  An object of the form:
-
-    { # A paginated list of channels returned as the response to a youtube.channels.list call.
-    "eventId": "A String", # Serialized EventId of the request which produced this response.
-    "nextPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
-    "kind": "youtube#channelListResponse", # The type of the API response. For this operation, the value will be youtube#channelListResponse.
-    "visitorId": "A String", # The visitorId identifies the visitor.
-    "items": [ # A list of channels that match the request criteria.
-      { # A channel resource contains information about a YouTube channel.
-        "status": { # JSON template for the status part of a channel. # The status object encapsulates information about the privacy status of the channel.
-          "privacyStatus": "A String", # Privacy status of the channel.
-          "isLinked": True or False, # If true, then the user is linked to either a YouTube username or G+ account. Otherwise, the user doesn't have a public YouTube identity.
-        },
-        "invideoPromotion": { # Describes an invideo promotion campaign consisting of multiple promoted items. A campaign belongs to a single channel_id. # The invideoPromotion object encapsulates information about promotion campaign associated with the channel.
-          "defaultTiming": { # Describes a temporal position of a visual widget inside a video. # The default temporal position within the video where the promoted item will be displayed. Can be overriden by more specific timing in the item.
-            "offsetMs": "A String", # Defines the time at which the promotion will appear. Depending on the value of type the value of the offsetMs field will represent a time offset from the start or from the end of the video, expressed in milliseconds.
-            "type": "A String", # Describes a timing type. If the value is offsetFromStart, then the offsetMs field represents an offset from the start of the video. If the value is offsetFromEnd, then the offsetMs field represents an offset from the end of the video.
-            "durationMs": "A String", # Defines the duration in milliseconds for which the promotion should be displayed. If missing, the client should use the default.
-          },
-          "items": [ # List of promoted items in decreasing priority.
-            { # Describes a single promoted item.
-              "timing": { # Describes a temporal position of a visual widget inside a video. # The temporal position within the video where the promoted item will be displayed. If present, it overrides the default timing.
-                "offsetMs": "A String", # Defines the time at which the promotion will appear. Depending on the value of type the value of the offsetMs field will represent a time offset from the start or from the end of the video, expressed in milliseconds.
-                "type": "A String", # Describes a timing type. If the value is offsetFromStart, then the offsetMs field represents an offset from the start of the video. If the value is offsetFromEnd, then the offsetMs field represents an offset from the end of the video.
-                "durationMs": "A String", # Defines the duration in milliseconds for which the promotion should be displayed. If missing, the client should use the default.
-              },
-              "customMessage": "A String", # A custom message to display for this promotion. This field is currently ignored unless the promoted item is a website.
-              "id": { # Describes a single promoted item id. It is a union of various possible types. # Identifies the promoted item.
-                "websiteUrl": "A String", # If the promoted item represents a website, this field represents the url pointing to the website. This field will be present only if type has the value website.
-                "type": "A String", # Describes the type of the promoted item.
-                "videoId": "A String", # If the promoted item represents a video, this field represents the unique YouTube ID identifying it. This field will be present only if type has the value video.
-              },
-            },
-          ],
-          "position": { # Describes the spatial position of a visual widget inside a video. It is a union of various position types, out of which only will be set one. # The spatial position within the video where the promoted item will be displayed.
-            "cornerPosition": "A String", # Describes in which corner of the video the visual widget will appear.
-            "type": "A String", # Defines the position type.
-          },
-        },
-        "kind": "youtube#channel", # The kind, fixed to "youtube#channel".
-        "statistics": { # Statistics about a channel: number of subscribers, number of videos in the channel, etc. # The statistics object encapsulates statistics for the channel.
-          "commentCount": "A String", # The number of comments for the channel.
-          "subscriberCount": "A String", # The number of subscribers that the channel has.
-          "videoCount": "A String", # The number of videos uploaded to the channel.
-          "viewCount": "A String", # The number of times the channel has been viewed.
-        },
-        "topicDetails": { # Freebase topic information related to the channel. # The topicDetails object encapsulates information about Freebase topics associated with the channel.
-          "topicIds": [ # A list of Freebase topic IDs associated with the channel. You can retrieve information about each topic using the Freebase Topic API.
-            "A String",
-          ],
-        },
-        "contentDetails": { # Details about the content of a channel. # The contentDetails object encapsulates information about the channel's content.
-          "relatedPlaylists": {
-            "watchLater": "A String", # The ID of the playlist that contains the channel"s watch later playlist. Use the playlistItems.insert and  playlistItems.delete to add or remove items from that list.
-            "watchHistory": "A String", # The ID of the playlist that contains the channel"s watch history. Use the  playlistItems.insert and  playlistItems.delete to add or remove items from that list.
-            "likes": "A String", # The ID of the playlist that contains the channel"s liked videos. Use the   playlistItems.insert and  playlistItems.delete to add or remove items from that list.
-            "favorites": "A String", # The ID of the playlist that contains the channel"s favorite videos. Use the  playlistItems.insert and  playlistItems.delete to add or remove items from that list.
-            "uploads": "A String", # The ID of the playlist that contains the channel"s uploaded videos. Use the  videos.insert method to upload new videos and the videos.delete method to delete previously uploaded videos.
-          },
-          "googlePlusUserId": "A String", # The googlePlusUserId object identifies the Google+ profile ID associated with this channel.
-        },
-        "brandingSettings": { # Branding properties of a YouTube channel. # The brandingSettings object encapsulates information about the branding of the channel.
-          "image": { # Branding properties for images associated with the channel. # Branding properties for branding images.
-            "largeBrandedBannerImageUrl": { # Represent a property available in different languages. # The URL for the 854px by 70px image that appears below the video player in the expanded video view of the video watch page.
-              "default": "A String", # Default value for the localized property.
-              "localized": [ # The localized values.
-                { # A localized string.
-                  "value": "A String", # Value of the property.
-                  "language": "A String", # Language associated to this value.
-                },
-              ],
-            },
-            "bannerImageUrl": "A String", # Banner image. Desktop size (1060x175).
-            "backgroundImageUrl": { # Represent a property available in different languages. # The URL for the background image shown on the video watch page. The image should be 1200px by 615px, with a maximum file size of 128k.
-              "default": "A String", # Default value for the localized property.
-              "localized": [ # The localized values.
-                { # A localized string.
-                  "value": "A String", # Value of the property.
-                  "language": "A String", # Language associated to this value.
-                },
-              ],
-            },
-            "largeBrandedBannerImageImapScript": { # Represent a property available in different languages. # The image map script for the large banner image.
-              "default": "A String", # Default value for the localized property.
-              "localized": [ # The localized values.
-                { # A localized string.
-                  "value": "A String", # Value of the property.
-                  "language": "A String", # Language associated to this value.
-                },
-              ],
-            },
-            "bannerMobileImageUrl": "A String", # Banner image. Mobile size (640x175).
-            "smallBrandedBannerImageImapScript": { # Represent a property available in different languages. # The image map script for the small banner image.
-              "default": "A String", # Default value for the localized property.
-              "localized": [ # The localized values.
-                { # A localized string.
-                  "value": "A String", # Value of the property.
-                  "language": "A String", # Language associated to this value.
-                },
-              ],
-            },
-            "smallBrandedBannerImageUrl": { # Represent a property available in different languages. # The URL for the 640px by 70px banner image that appears below the video player in the default view of the video watch page.
-              "default": "A String", # Default value for the localized property.
-              "localized": [ # The localized values.
-                { # A localized string.
-                  "value": "A String", # Value of the property.
-                  "language": "A String", # Language associated to this value.
-                },
-              ],
-            },
-            "bannerTabletHdImageUrl": "A String", # Banner image. Tablet size high resolution (2276x377).
-            "bannerTabletLowImageUrl": "A String", # Banner image. Tablet size low resolution (1138x188).
-            "trackingImageUrl": "A String", # The URL for a 1px by 1px tracking pixel that can be used to collect statistics for views of the channel or video pages.
-            "bannerMobileMediumHdImageUrl": "A String", # Banner image. Mobile size medium/high resolution (960x263).
-            "bannerMobileHdImageUrl": "A String", # Banner image. Mobile size high resolution (1280x360).
-            "bannerExternalUrl": "A String", # This is used only in update requests; if it's set, we use this URL to generate all of the above banner URLs.
-            "bannerTabletImageUrl": "A String", # Banner image. Tablet size (1707x283).
-            "bannerMobileExtraHdImageUrl": "A String", # Banner image. Mobile size high resolution (1440x395).
-            "bannerMobileLowImageUrl": "A String", # Banner image. Mobile size low resolution (320x88).
-            "watchIconImageUrl": "A String", # The URL for the image that appears above the top-left corner of the video player. This is a 25-pixel-high image with a flexible width that cannot exceed 170 pixels.
-            "bannerTvImageUrl": "A String", # Banner image. TV size (2120x1192).
-            "bannerTabletExtraHdImageUrl": "A String", # Banner image. Tablet size extra high resolution (2560x424).
-          },
-          "watch": { # Branding properties for the watch. # Branding properties for the watch page.
-            "textColor": "A String", # The background color for the video watch page's branded area.
-            "featuredPlaylistId": "A String", # An ID that uniquely identifies a playlist that displays next to the video player.
-            "backgroundColor": "A String", # The text color for the video watch page's branded area.
-          },
-          "channel": { # Branding properties for the channel view. # Branding properties for the channel view.
-            "description": "A String", # Specifies the channel description.
-            "title": "A String", # Specifies the channel title.
-            "moderateComments": True or False, # Whether user-submitted comments left on the channel page need to be approved by the channel owner to be publicly visible.
-            "showBrowseView": True or False, # Whether the tab to browse the videos should be displayed.
-            "featuredChannelsTitle": "A String", # Title for the featured channels tab.
-            "unsubscribedTrailer": "A String", # The trailer of the channel, for users that are not subscribers.
-            "keywords": "A String", # Lists keywords associated with the channel, comma-separated.
-            "profileColor": "A String", # A prominent color that can be rendered on this channel page.
-            "defaultTab": "A String", # Which content tab users should see when viewing the channel.
-            "featuredChannelsUrls": [ # The list of featured channels.
-              "A String",
-            ],
-            "trackingAnalyticsAccountId": "A String", # The ID for a Google Analytics account to track and measure traffic to the channels.
-            "showRelatedChannels": True or False, # Whether related channels should be proposed.
-          },
-          "hints": [ # Additional experimental branding properties.
-            { # A pair Property / Value.
-              "property": "A String", # A property.
-              "value": "A String", # The property's value.
-            },
-          ],
-        },
-        "conversionPings": { # The conversionPings object encapsulates information about conversion pings that need to be respected by the channel. # The conversionPings object encapsulates information about conversion pings that need to be respected by the channel.
-          "pings": [ # Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
-            { # Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
-              "conversionUrl": "A String", # The url (without the schema) that the player shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D cview%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping.
-              "context": "A String", # Defines the context of the ping.
-            },
-          ],
-        },
-        "snippet": { # Basic details about a channel, including title, description and thumbnails. # The snippet object contains basic details about the channel, such as its title, description, and thumbnail images.
-          "title": "A String", # The channel's title.
-          "description": "A String", # The description of the channel.
-          "publishedAt": "A String", # The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-          "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the channel. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-            "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-              "url": "A String", # The thumbnail image's URL.
-              "width": 42, # (Optional) Width of the thumbnail image.
-              "height": 42, # (Optional) Height of the thumbnail image.
-            },
-            "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-              "url": "A String", # The thumbnail image's URL.
-              "width": 42, # (Optional) Width of the thumbnail image.
-              "height": 42, # (Optional) Height of the thumbnail image.
-            },
-            "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-              "url": "A String", # The thumbnail image's URL.
-              "width": 42, # (Optional) Width of the thumbnail image.
-              "height": 42, # (Optional) Height of the thumbnail image.
-            },
-            "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-              "url": "A String", # The thumbnail image's URL.
-              "width": 42, # (Optional) Width of the thumbnail image.
-              "height": 42, # (Optional) Height of the thumbnail image.
-            },
-            "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-              "url": "A String", # The thumbnail image's URL.
-              "width": 42, # (Optional) Width of the thumbnail image.
-              "height": 42, # (Optional) Height of the thumbnail image.
-            },
-          },
-        },
-        "etag": "A String", # Etag of this resource.
-        "id": "A String", # The ID that YouTube uses to uniquely identify the channel.
-      },
-    ],
-    "etag": "A String", # The ETag for the response.
-    "prevPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
-    "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page. # The pageInfo object encapsulates paging information for the result set.
-      "totalResults": 42, # The total number of results in the result set.
-      "resultsPerPage": 42, # The number of results included in the API response.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(part=None, body, onBehalfOfContentOwner=None)</code>
-  <pre>Updates a channel's metadata.
-
-Args:
-  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
-
-The part names that you can include in the parameter value are id and invideoPromotion.
-
-Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A channel resource contains information about a YouTube channel.
-  "status": { # JSON template for the status part of a channel. # The status object encapsulates information about the privacy status of the channel.
-    "privacyStatus": "A String", # Privacy status of the channel.
-    "isLinked": True or False, # If true, then the user is linked to either a YouTube username or G+ account. Otherwise, the user doesn't have a public YouTube identity.
-  },
-  "invideoPromotion": { # Describes an invideo promotion campaign consisting of multiple promoted items. A campaign belongs to a single channel_id. # The invideoPromotion object encapsulates information about promotion campaign associated with the channel.
-    "defaultTiming": { # Describes a temporal position of a visual widget inside a video. # The default temporal position within the video where the promoted item will be displayed. Can be overriden by more specific timing in the item.
-      "offsetMs": "A String", # Defines the time at which the promotion will appear. Depending on the value of type the value of the offsetMs field will represent a time offset from the start or from the end of the video, expressed in milliseconds.
-      "type": "A String", # Describes a timing type. If the value is offsetFromStart, then the offsetMs field represents an offset from the start of the video. If the value is offsetFromEnd, then the offsetMs field represents an offset from the end of the video.
-      "durationMs": "A String", # Defines the duration in milliseconds for which the promotion should be displayed. If missing, the client should use the default.
-    },
-    "items": [ # List of promoted items in decreasing priority.
-      { # Describes a single promoted item.
-        "timing": { # Describes a temporal position of a visual widget inside a video. # The temporal position within the video where the promoted item will be displayed. If present, it overrides the default timing.
-          "offsetMs": "A String", # Defines the time at which the promotion will appear. Depending on the value of type the value of the offsetMs field will represent a time offset from the start or from the end of the video, expressed in milliseconds.
-          "type": "A String", # Describes a timing type. If the value is offsetFromStart, then the offsetMs field represents an offset from the start of the video. If the value is offsetFromEnd, then the offsetMs field represents an offset from the end of the video.
-          "durationMs": "A String", # Defines the duration in milliseconds for which the promotion should be displayed. If missing, the client should use the default.
-        },
-        "customMessage": "A String", # A custom message to display for this promotion. This field is currently ignored unless the promoted item is a website.
-        "id": { # Describes a single promoted item id. It is a union of various possible types. # Identifies the promoted item.
-          "websiteUrl": "A String", # If the promoted item represents a website, this field represents the url pointing to the website. This field will be present only if type has the value website.
-          "type": "A String", # Describes the type of the promoted item.
-          "videoId": "A String", # If the promoted item represents a video, this field represents the unique YouTube ID identifying it. This field will be present only if type has the value video.
-        },
-      },
-    ],
-    "position": { # Describes the spatial position of a visual widget inside a video. It is a union of various position types, out of which only will be set one. # The spatial position within the video where the promoted item will be displayed.
-      "cornerPosition": "A String", # Describes in which corner of the video the visual widget will appear.
-      "type": "A String", # Defines the position type.
-    },
-  },
-  "kind": "youtube#channel", # The kind, fixed to "youtube#channel".
-  "statistics": { # Statistics about a channel: number of subscribers, number of videos in the channel, etc. # The statistics object encapsulates statistics for the channel.
-    "commentCount": "A String", # The number of comments for the channel.
-    "subscriberCount": "A String", # The number of subscribers that the channel has.
-    "videoCount": "A String", # The number of videos uploaded to the channel.
-    "viewCount": "A String", # The number of times the channel has been viewed.
-  },
-  "topicDetails": { # Freebase topic information related to the channel. # The topicDetails object encapsulates information about Freebase topics associated with the channel.
-    "topicIds": [ # A list of Freebase topic IDs associated with the channel. You can retrieve information about each topic using the Freebase Topic API.
-      "A String",
-    ],
-  },
-  "contentDetails": { # Details about the content of a channel. # The contentDetails object encapsulates information about the channel's content.
-    "relatedPlaylists": {
-      "watchLater": "A String", # The ID of the playlist that contains the channel"s watch later playlist. Use the playlistItems.insert and  playlistItems.delete to add or remove items from that list.
-      "watchHistory": "A String", # The ID of the playlist that contains the channel"s watch history. Use the  playlistItems.insert and  playlistItems.delete to add or remove items from that list.
-      "likes": "A String", # The ID of the playlist that contains the channel"s liked videos. Use the   playlistItems.insert and  playlistItems.delete to add or remove items from that list.
-      "favorites": "A String", # The ID of the playlist that contains the channel"s favorite videos. Use the  playlistItems.insert and  playlistItems.delete to add or remove items from that list.
-      "uploads": "A String", # The ID of the playlist that contains the channel"s uploaded videos. Use the  videos.insert method to upload new videos and the videos.delete method to delete previously uploaded videos.
-    },
-    "googlePlusUserId": "A String", # The googlePlusUserId object identifies the Google+ profile ID associated with this channel.
-  },
-  "brandingSettings": { # Branding properties of a YouTube channel. # The brandingSettings object encapsulates information about the branding of the channel.
-    "image": { # Branding properties for images associated with the channel. # Branding properties for branding images.
-      "largeBrandedBannerImageUrl": { # Represent a property available in different languages. # The URL for the 854px by 70px image that appears below the video player in the expanded video view of the video watch page.
-        "default": "A String", # Default value for the localized property.
-        "localized": [ # The localized values.
-          { # A localized string.
-            "value": "A String", # Value of the property.
-            "language": "A String", # Language associated to this value.
-          },
-        ],
-      },
-      "bannerImageUrl": "A String", # Banner image. Desktop size (1060x175).
-      "backgroundImageUrl": { # Represent a property available in different languages. # The URL for the background image shown on the video watch page. The image should be 1200px by 615px, with a maximum file size of 128k.
-        "default": "A String", # Default value for the localized property.
-        "localized": [ # The localized values.
-          { # A localized string.
-            "value": "A String", # Value of the property.
-            "language": "A String", # Language associated to this value.
-          },
-        ],
-      },
-      "largeBrandedBannerImageImapScript": { # Represent a property available in different languages. # The image map script for the large banner image.
-        "default": "A String", # Default value for the localized property.
-        "localized": [ # The localized values.
-          { # A localized string.
-            "value": "A String", # Value of the property.
-            "language": "A String", # Language associated to this value.
-          },
-        ],
-      },
-      "bannerMobileImageUrl": "A String", # Banner image. Mobile size (640x175).
-      "smallBrandedBannerImageImapScript": { # Represent a property available in different languages. # The image map script for the small banner image.
-        "default": "A String", # Default value for the localized property.
-        "localized": [ # The localized values.
-          { # A localized string.
-            "value": "A String", # Value of the property.
-            "language": "A String", # Language associated to this value.
-          },
-        ],
-      },
-      "smallBrandedBannerImageUrl": { # Represent a property available in different languages. # The URL for the 640px by 70px banner image that appears below the video player in the default view of the video watch page.
-        "default": "A String", # Default value for the localized property.
-        "localized": [ # The localized values.
-          { # A localized string.
-            "value": "A String", # Value of the property.
-            "language": "A String", # Language associated to this value.
-          },
-        ],
-      },
-      "bannerTabletHdImageUrl": "A String", # Banner image. Tablet size high resolution (2276x377).
-      "bannerTabletLowImageUrl": "A String", # Banner image. Tablet size low resolution (1138x188).
-      "trackingImageUrl": "A String", # The URL for a 1px by 1px tracking pixel that can be used to collect statistics for views of the channel or video pages.
-      "bannerMobileMediumHdImageUrl": "A String", # Banner image. Mobile size medium/high resolution (960x263).
-      "bannerMobileHdImageUrl": "A String", # Banner image. Mobile size high resolution (1280x360).
-      "bannerExternalUrl": "A String", # This is used only in update requests; if it's set, we use this URL to generate all of the above banner URLs.
-      "bannerTabletImageUrl": "A String", # Banner image. Tablet size (1707x283).
-      "bannerMobileExtraHdImageUrl": "A String", # Banner image. Mobile size high resolution (1440x395).
-      "bannerMobileLowImageUrl": "A String", # Banner image. Mobile size low resolution (320x88).
-      "watchIconImageUrl": "A String", # The URL for the image that appears above the top-left corner of the video player. This is a 25-pixel-high image with a flexible width that cannot exceed 170 pixels.
-      "bannerTvImageUrl": "A String", # Banner image. TV size (2120x1192).
-      "bannerTabletExtraHdImageUrl": "A String", # Banner image. Tablet size extra high resolution (2560x424).
-    },
-    "watch": { # Branding properties for the watch. # Branding properties for the watch page.
-      "textColor": "A String", # The background color for the video watch page's branded area.
-      "featuredPlaylistId": "A String", # An ID that uniquely identifies a playlist that displays next to the video player.
-      "backgroundColor": "A String", # The text color for the video watch page's branded area.
-    },
-    "channel": { # Branding properties for the channel view. # Branding properties for the channel view.
-      "description": "A String", # Specifies the channel description.
-      "title": "A String", # Specifies the channel title.
-      "moderateComments": True or False, # Whether user-submitted comments left on the channel page need to be approved by the channel owner to be publicly visible.
-      "showBrowseView": True or False, # Whether the tab to browse the videos should be displayed.
-      "featuredChannelsTitle": "A String", # Title for the featured channels tab.
-      "unsubscribedTrailer": "A String", # The trailer of the channel, for users that are not subscribers.
-      "keywords": "A String", # Lists keywords associated with the channel, comma-separated.
-      "profileColor": "A String", # A prominent color that can be rendered on this channel page.
-      "defaultTab": "A String", # Which content tab users should see when viewing the channel.
-      "featuredChannelsUrls": [ # The list of featured channels.
-        "A String",
-      ],
-      "trackingAnalyticsAccountId": "A String", # The ID for a Google Analytics account to track and measure traffic to the channels.
-      "showRelatedChannels": True or False, # Whether related channels should be proposed.
-    },
-    "hints": [ # Additional experimental branding properties.
-      { # A pair Property / Value.
-        "property": "A String", # A property.
-        "value": "A String", # The property's value.
-      },
-    ],
-  },
-  "conversionPings": { # The conversionPings object encapsulates information about conversion pings that need to be respected by the channel. # The conversionPings object encapsulates information about conversion pings that need to be respected by the channel.
-    "pings": [ # Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
-      { # Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
-        "conversionUrl": "A String", # The url (without the schema) that the player shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D cview%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping.
-        "context": "A String", # Defines the context of the ping.
-      },
-    ],
-  },
-  "snippet": { # Basic details about a channel, including title, description and thumbnails. # The snippet object contains basic details about the channel, such as its title, description, and thumbnail images.
-    "title": "A String", # The channel's title.
-    "description": "A String", # The description of the channel.
-    "publishedAt": "A String", # The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-    "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the channel. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-      "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-        "url": "A String", # The thumbnail image's URL.
-        "width": 42, # (Optional) Width of the thumbnail image.
-        "height": 42, # (Optional) Height of the thumbnail image.
-      },
-      "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-        "url": "A String", # The thumbnail image's URL.
-        "width": 42, # (Optional) Width of the thumbnail image.
-        "height": 42, # (Optional) Height of the thumbnail image.
-      },
-      "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-        "url": "A String", # The thumbnail image's URL.
-        "width": 42, # (Optional) Width of the thumbnail image.
-        "height": 42, # (Optional) Height of the thumbnail image.
-      },
-      "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-        "url": "A String", # The thumbnail image's URL.
-        "width": 42, # (Optional) Width of the thumbnail image.
-        "height": 42, # (Optional) Height of the thumbnail image.
-      },
-      "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-        "url": "A String", # The thumbnail image's URL.
-        "width": 42, # (Optional) Width of the thumbnail image.
-        "height": 42, # (Optional) Height of the thumbnail image.
-      },
-    },
-  },
-  "etag": "A String", # Etag of this resource.
-  "id": "A String", # The ID that YouTube uses to uniquely identify the channel.
-}
-
-  onBehalfOfContentOwner: string, The onBehalfOfContentOwner parameter indicates that the authenticated user is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with needs to be linked to the specified YouTube content owner.
-
-Returns:
-  An object of the form:
-
-    { # A channel resource contains information about a YouTube channel.
-    "status": { # JSON template for the status part of a channel. # The status object encapsulates information about the privacy status of the channel.
-      "privacyStatus": "A String", # Privacy status of the channel.
-      "isLinked": True or False, # If true, then the user is linked to either a YouTube username or G+ account. Otherwise, the user doesn't have a public YouTube identity.
-    },
-    "invideoPromotion": { # Describes an invideo promotion campaign consisting of multiple promoted items. A campaign belongs to a single channel_id. # The invideoPromotion object encapsulates information about promotion campaign associated with the channel.
-      "defaultTiming": { # Describes a temporal position of a visual widget inside a video. # The default temporal position within the video where the promoted item will be displayed. Can be overriden by more specific timing in the item.
-        "offsetMs": "A String", # Defines the time at which the promotion will appear. Depending on the value of type the value of the offsetMs field will represent a time offset from the start or from the end of the video, expressed in milliseconds.
-        "type": "A String", # Describes a timing type. If the value is offsetFromStart, then the offsetMs field represents an offset from the start of the video. If the value is offsetFromEnd, then the offsetMs field represents an offset from the end of the video.
-        "durationMs": "A String", # Defines the duration in milliseconds for which the promotion should be displayed. If missing, the client should use the default.
-      },
-      "items": [ # List of promoted items in decreasing priority.
-        { # Describes a single promoted item.
-          "timing": { # Describes a temporal position of a visual widget inside a video. # The temporal position within the video where the promoted item will be displayed. If present, it overrides the default timing.
-            "offsetMs": "A String", # Defines the time at which the promotion will appear. Depending on the value of type the value of the offsetMs field will represent a time offset from the start or from the end of the video, expressed in milliseconds.
-            "type": "A String", # Describes a timing type. If the value is offsetFromStart, then the offsetMs field represents an offset from the start of the video. If the value is offsetFromEnd, then the offsetMs field represents an offset from the end of the video.
-            "durationMs": "A String", # Defines the duration in milliseconds for which the promotion should be displayed. If missing, the client should use the default.
-          },
-          "customMessage": "A String", # A custom message to display for this promotion. This field is currently ignored unless the promoted item is a website.
-          "id": { # Describes a single promoted item id. It is a union of various possible types. # Identifies the promoted item.
-            "websiteUrl": "A String", # If the promoted item represents a website, this field represents the url pointing to the website. This field will be present only if type has the value website.
-            "type": "A String", # Describes the type of the promoted item.
-            "videoId": "A String", # If the promoted item represents a video, this field represents the unique YouTube ID identifying it. This field will be present only if type has the value video.
-          },
-        },
-      ],
-      "position": { # Describes the spatial position of a visual widget inside a video. It is a union of various position types, out of which only will be set one. # The spatial position within the video where the promoted item will be displayed.
-        "cornerPosition": "A String", # Describes in which corner of the video the visual widget will appear.
-        "type": "A String", # Defines the position type.
-      },
-    },
-    "kind": "youtube#channel", # The kind, fixed to "youtube#channel".
-    "statistics": { # Statistics about a channel: number of subscribers, number of videos in the channel, etc. # The statistics object encapsulates statistics for the channel.
-      "commentCount": "A String", # The number of comments for the channel.
-      "subscriberCount": "A String", # The number of subscribers that the channel has.
-      "videoCount": "A String", # The number of videos uploaded to the channel.
-      "viewCount": "A String", # The number of times the channel has been viewed.
-    },
-    "topicDetails": { # Freebase topic information related to the channel. # The topicDetails object encapsulates information about Freebase topics associated with the channel.
-      "topicIds": [ # A list of Freebase topic IDs associated with the channel. You can retrieve information about each topic using the Freebase Topic API.
-        "A String",
-      ],
-    },
-    "contentDetails": { # Details about the content of a channel. # The contentDetails object encapsulates information about the channel's content.
-      "relatedPlaylists": {
-        "watchLater": "A String", # The ID of the playlist that contains the channel"s watch later playlist. Use the playlistItems.insert and  playlistItems.delete to add or remove items from that list.
-        "watchHistory": "A String", # The ID of the playlist that contains the channel"s watch history. Use the  playlistItems.insert and  playlistItems.delete to add or remove items from that list.
-        "likes": "A String", # The ID of the playlist that contains the channel"s liked videos. Use the   playlistItems.insert and  playlistItems.delete to add or remove items from that list.
-        "favorites": "A String", # The ID of the playlist that contains the channel"s favorite videos. Use the  playlistItems.insert and  playlistItems.delete to add or remove items from that list.
-        "uploads": "A String", # The ID of the playlist that contains the channel"s uploaded videos. Use the  videos.insert method to upload new videos and the videos.delete method to delete previously uploaded videos.
-      },
-      "googlePlusUserId": "A String", # The googlePlusUserId object identifies the Google+ profile ID associated with this channel.
-    },
-    "brandingSettings": { # Branding properties of a YouTube channel. # The brandingSettings object encapsulates information about the branding of the channel.
-      "image": { # Branding properties for images associated with the channel. # Branding properties for branding images.
-        "largeBrandedBannerImageUrl": { # Represent a property available in different languages. # The URL for the 854px by 70px image that appears below the video player in the expanded video view of the video watch page.
-          "default": "A String", # Default value for the localized property.
-          "localized": [ # The localized values.
-            { # A localized string.
-              "value": "A String", # Value of the property.
-              "language": "A String", # Language associated to this value.
-            },
-          ],
-        },
-        "bannerImageUrl": "A String", # Banner image. Desktop size (1060x175).
-        "backgroundImageUrl": { # Represent a property available in different languages. # The URL for the background image shown on the video watch page. The image should be 1200px by 615px, with a maximum file size of 128k.
-          "default": "A String", # Default value for the localized property.
-          "localized": [ # The localized values.
-            { # A localized string.
-              "value": "A String", # Value of the property.
-              "language": "A String", # Language associated to this value.
-            },
-          ],
-        },
-        "largeBrandedBannerImageImapScript": { # Represent a property available in different languages. # The image map script for the large banner image.
-          "default": "A String", # Default value for the localized property.
-          "localized": [ # The localized values.
-            { # A localized string.
-              "value": "A String", # Value of the property.
-              "language": "A String", # Language associated to this value.
-            },
-          ],
-        },
-        "bannerMobileImageUrl": "A String", # Banner image. Mobile size (640x175).
-        "smallBrandedBannerImageImapScript": { # Represent a property available in different languages. # The image map script for the small banner image.
-          "default": "A String", # Default value for the localized property.
-          "localized": [ # The localized values.
-            { # A localized string.
-              "value": "A String", # Value of the property.
-              "language": "A String", # Language associated to this value.
-            },
-          ],
-        },
-        "smallBrandedBannerImageUrl": { # Represent a property available in different languages. # The URL for the 640px by 70px banner image that appears below the video player in the default view of the video watch page.
-          "default": "A String", # Default value for the localized property.
-          "localized": [ # The localized values.
-            { # A localized string.
-              "value": "A String", # Value of the property.
-              "language": "A String", # Language associated to this value.
-            },
-          ],
-        },
-        "bannerTabletHdImageUrl": "A String", # Banner image. Tablet size high resolution (2276x377).
-        "bannerTabletLowImageUrl": "A String", # Banner image. Tablet size low resolution (1138x188).
-        "trackingImageUrl": "A String", # The URL for a 1px by 1px tracking pixel that can be used to collect statistics for views of the channel or video pages.
-        "bannerMobileMediumHdImageUrl": "A String", # Banner image. Mobile size medium/high resolution (960x263).
-        "bannerMobileHdImageUrl": "A String", # Banner image. Mobile size high resolution (1280x360).
-        "bannerExternalUrl": "A String", # This is used only in update requests; if it's set, we use this URL to generate all of the above banner URLs.
-        "bannerTabletImageUrl": "A String", # Banner image. Tablet size (1707x283).
-        "bannerMobileExtraHdImageUrl": "A String", # Banner image. Mobile size high resolution (1440x395).
-        "bannerMobileLowImageUrl": "A String", # Banner image. Mobile size low resolution (320x88).
-        "watchIconImageUrl": "A String", # The URL for the image that appears above the top-left corner of the video player. This is a 25-pixel-high image with a flexible width that cannot exceed 170 pixels.
-        "bannerTvImageUrl": "A String", # Banner image. TV size (2120x1192).
-        "bannerTabletExtraHdImageUrl": "A String", # Banner image. Tablet size extra high resolution (2560x424).
-      },
-      "watch": { # Branding properties for the watch. # Branding properties for the watch page.
-        "textColor": "A String", # The background color for the video watch page's branded area.
-        "featuredPlaylistId": "A String", # An ID that uniquely identifies a playlist that displays next to the video player.
-        "backgroundColor": "A String", # The text color for the video watch page's branded area.
-      },
-      "channel": { # Branding properties for the channel view. # Branding properties for the channel view.
-        "description": "A String", # Specifies the channel description.
-        "title": "A String", # Specifies the channel title.
-        "moderateComments": True or False, # Whether user-submitted comments left on the channel page need to be approved by the channel owner to be publicly visible.
-        "showBrowseView": True or False, # Whether the tab to browse the videos should be displayed.
-        "featuredChannelsTitle": "A String", # Title for the featured channels tab.
-        "unsubscribedTrailer": "A String", # The trailer of the channel, for users that are not subscribers.
-        "keywords": "A String", # Lists keywords associated with the channel, comma-separated.
-        "profileColor": "A String", # A prominent color that can be rendered on this channel page.
-        "defaultTab": "A String", # Which content tab users should see when viewing the channel.
-        "featuredChannelsUrls": [ # The list of featured channels.
-          "A String",
-        ],
-        "trackingAnalyticsAccountId": "A String", # The ID for a Google Analytics account to track and measure traffic to the channels.
-        "showRelatedChannels": True or False, # Whether related channels should be proposed.
-      },
-      "hints": [ # Additional experimental branding properties.
-        { # A pair Property / Value.
-          "property": "A String", # A property.
-          "value": "A String", # The property's value.
-        },
-      ],
-    },
-    "conversionPings": { # The conversionPings object encapsulates information about conversion pings that need to be respected by the channel. # The conversionPings object encapsulates information about conversion pings that need to be respected by the channel.
-      "pings": [ # Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
-        { # Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
-          "conversionUrl": "A String", # The url (without the schema) that the player shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D cview%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping.
-          "context": "A String", # Defines the context of the ping.
-        },
-      ],
-    },
-    "snippet": { # Basic details about a channel, including title, description and thumbnails. # The snippet object contains basic details about the channel, such as its title, description, and thumbnail images.
-      "title": "A String", # The channel's title.
-      "description": "A String", # The description of the channel.
-      "publishedAt": "A String", # The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the channel. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-      },
-    },
-    "etag": "A String", # Etag of this resource.
-    "id": "A String", # The ID that YouTube uses to uniquely identify the channel.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.guideCategories.html b/docs/dyn/youtube_v3.guideCategories.html
deleted file mode 100644
index 38cd259..0000000
--- a/docs/dyn/youtube_v3.guideCategories.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.guideCategories.html">guideCategories</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(part=None, regionCode=None, hl=None, id=None)</a></code></p>
-<p class="firstline">Returns a list of categories that can be associated with YouTube channels.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(part=None, regionCode=None, hl=None, id=None)</code>
-  <pre>Returns a list of categories that can be associated with YouTube channels.
-
-Args:
-  part: string, The part parameter specifies a comma-separated list of one or more guideCategory resource properties that the API response will include. The part names that you can include in the parameter value are id and snippet.
-
-If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a guideCategory resource, the snippet property contains other properties, such as the category's title. If you set part=snippet, the API response will also contain all of those nested properties. (required)
-  regionCode: string, The regionCode parameter instructs the API to return the list of guide categories available in the specified country. The parameter value is an ISO 3166-1 alpha-2 country code.
-  hl: string, The hl parameter specifies the language that will be used for text values in the API response.
-  id: string, The id parameter specifies a comma-separated list of the YouTube channel category ID(s) for the resource(s) that are being retrieved. In a guideCategory resource, the id property specifies the YouTube channel category ID.
-
-Returns:
-  An object of the form:
-
-    { # A paginated list of guide categories returned as the response to a youtube.guideCategories.list call.
-    "eventId": "A String", # Serialized EventId of the request which produced this response.
-    "items": [ # A list of categories that can be associated with YouTube channels. In this map, the category ID is the map key, and its value is the corresponding guideCategory resource.
-      { # A guideCategory resource identifies a category that YouTube algorithmically assigns based on a channel's content or other indicators, such as the channel's popularity. The list is similar to video categories, with the difference being that a video's uploader can assign a video category but only YouTube can assign a channel category.
-        "snippet": { # Basic details about a guide category. # The snippet object contains basic details about the category, such as its title.
-          "channelId": "UCBR8-60-B28hp2BmDPdntcQ",
-          "title": "A String", # Description of the guide category.
-        },
-        "kind": "youtube#guideCategory", # The kind, fixed to "youtube#guideCategory".
-        "etag": "A String", # Etag of this resource.
-        "id": "A String", # The ID that YouTube uses to uniquely identify the guide category.
-      },
-    ],
-    "kind": "youtube#guideCategoryListResponse", # The type of the API response. For this operation, the value will be youtube#guideCategoryListResponse.
-    "etag": "A String", # The ETag of the response.
-    "visitorId": "A String", # The visitorId identifies the visitor.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.html b/docs/dyn/youtube_v3.html
deleted file mode 100644
index ee5a74d..0000000
--- a/docs/dyn/youtube_v3.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="youtube_v3.html">YouTube Data API</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="youtube_v3.activities.html">activities()</a></code>
-</p>
-<p class="firstline">Returns the activities Resource.</p>
-
-<p class="toc_element">
-  <code><a href="youtube_v3.channelBanners.html">channelBanners()</a></code>
-</p>
-<p class="firstline">Returns the channelBanners Resource.</p>
-
-<p class="toc_element">
-  <code><a href="youtube_v3.channels.html">channels()</a></code>
-</p>
-<p class="firstline">Returns the channels Resource.</p>
-
-<p class="toc_element">
-  <code><a href="youtube_v3.guideCategories.html">guideCategories()</a></code>
-</p>
-<p class="firstline">Returns the guideCategories Resource.</p>
-
-<p class="toc_element">
-  <code><a href="youtube_v3.liveBroadcasts.html">liveBroadcasts()</a></code>
-</p>
-<p class="firstline">Returns the liveBroadcasts Resource.</p>
-
-<p class="toc_element">
-  <code><a href="youtube_v3.liveStreams.html">liveStreams()</a></code>
-</p>
-<p class="firstline">Returns the liveStreams Resource.</p>
-
-<p class="toc_element">
-  <code><a href="youtube_v3.playlistItems.html">playlistItems()</a></code>
-</p>
-<p class="firstline">Returns the playlistItems Resource.</p>
-
-<p class="toc_element">
-  <code><a href="youtube_v3.playlists.html">playlists()</a></code>
-</p>
-<p class="firstline">Returns the playlists Resource.</p>
-
-<p class="toc_element">
-  <code><a href="youtube_v3.search.html">search()</a></code>
-</p>
-<p class="firstline">Returns the search Resource.</p>
-
-<p class="toc_element">
-  <code><a href="youtube_v3.subscriptions.html">subscriptions()</a></code>
-</p>
-<p class="firstline">Returns the subscriptions Resource.</p>
-
-<p class="toc_element">
-  <code><a href="youtube_v3.thumbnails.html">thumbnails()</a></code>
-</p>
-<p class="firstline">Returns the thumbnails Resource.</p>
-
-<p class="toc_element">
-  <code><a href="youtube_v3.videoCategories.html">videoCategories()</a></code>
-</p>
-<p class="firstline">Returns the videoCategories Resource.</p>
-
-<p class="toc_element">
-  <code><a href="youtube_v3.videos.html">videos()</a></code>
-</p>
-<p class="firstline">Returns the videos Resource.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.liveBroadcasts.html b/docs/dyn/youtube_v3.liveBroadcasts.html
deleted file mode 100644
index 143e8a0..0000000
--- a/docs/dyn/youtube_v3.liveBroadcasts.html
+++ /dev/null
@@ -1,836 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.liveBroadcasts.html">liveBroadcasts</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#bind">bind(id, part, onBehalfOfContentOwner=None, streamId=None)</a></code></p>
-<p class="firstline">Binds a YouTube broadcast to a stream or removes an existing binding between a broadcast and a stream. A broadcast can only be bound to one video stream.</p>
-<p class="toc_element">
-  <code><a href="#control">control(id, part, onBehalfOfContentOwner=None, displaySlate=None, offsetTimeMs=None)</a></code></p>
-<p class="firstline">Control the slate of the broadacast.</p>
-<p class="toc_element">
-  <code><a href="#delete">delete(id, onBehalfOfContentOwner=None)</a></code></p>
-<p class="firstline">Deletes a broadcast.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(part=None, body, onBehalfOfContentOwner=None)</a></code></p>
-<p class="firstline">Creates a broadcast.</p>
-<p class="toc_element">
-  <code><a href="#list">list(part, broadcastStatus=None, pageToken=None, mine=None, maxResults=None, id=None)</a></code></p>
-<p class="firstline">Returns a list of YouTube broadcasts that match the API request parameters.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#transition">transition(broadcastStatus, id, part, onBehalfOfContentOwner=None)</a></code></p>
-<p class="firstline">Changes the status of a YouTube live broadcast and initiates any processes associated with the new status. For example, when you transition a broadcast's status to testing, YouTube starts to transmit video to that broadcast's monitor stream.</p>
-<p class="toc_element">
-  <code><a href="#update">update(part=None, body, onBehalfOfContentOwner=None)</a></code></p>
-<p class="firstline">Updates a broadcast. For example, you could modify the broadcast settings defined in the liveBroadcast resource's contentDetails object.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="bind">bind(id, part, onBehalfOfContentOwner=None, streamId=None)</code>
-  <pre>Binds a YouTube broadcast to a stream or removes an existing binding between a broadcast and a stream. A broadcast can only be bound to one video stream.
-
-Args:
-  id: string, The id parameter specifies the unique ID of the broadcast that is being bound to a video stream. (required)
-  part: string, The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status. (required)
-  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
-  streamId: string, The streamId parameter specifies the unique ID of the video stream that is being bound to a broadcast. If this parameter is omitted, the API will remove any existing binding between the broadcast and a video stream.
-
-Returns:
-  An object of the form:
-
-    { # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
-    "status": { # The status object contains information about the event's status.
-      "recordingStatus": "A String", # The broadcast's recording status.
-      "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
-      "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
-    },
-    "kind": "youtube#liveBroadcast", # The kind, fixed to "youtube#liveBroadcast".
-    "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
-      "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
-      "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
-      "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
-      "enableClosedCaptions": True or False, # This setting indicates whether closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API.
-      "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
-      "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
-          #
-          #
-          #
-          # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
-      "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
-          #
-          #
-          #
-          # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
-      "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
-        "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
-        "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
-        "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
-            #
-            # You need to set this value to true if you intend to have a broadcast delay for your event.
-            #
-            # Note: This property cannot be updated once the broadcast is in the testing or live state.
-      },
-    },
-    "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
-      "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
-      "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
-      "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-      },
-    },
-    "etag": "A String", # Etag of this resource.
-    "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="control">control(id, part, onBehalfOfContentOwner=None, displaySlate=None, offsetTimeMs=None)</code>
-  <pre>Control the slate of the broadacast.
-
-Args:
-  id: string, The id parameter specifies the YouTube live broadcast ID for the resource that is being deleted. (required)
-  part: string, The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status. (required)
-  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
-  displaySlate: boolean, The displaySlate parameter specifies whether to enable or disable the slate.
-  offsetTimeMs: string, The offsetTimeMs parameter specifies a point in time in the video when the specified action (e.g. display a slate) is executed. The property value identifies a positive time offset, in milliseconds, from the beginning of the monitor stream. Though measured in milliseconds, the value is actually an approximation, and YouTube will act as closely as possible to that time. If not specified, it indicates that the action should be performed as soon as possible. If your broadcast stream is not delayed, then it should not be specified. However, if your broadcast stream is delayed, then the parameter can specify the time when the operation should be executed. See the Getting started guide for more details. Note: The offset is measured from the time that the testing phase began.
-
-Returns:
-  An object of the form:
-
-    { # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
-    "status": { # The status object contains information about the event's status.
-      "recordingStatus": "A String", # The broadcast's recording status.
-      "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
-      "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
-    },
-    "kind": "youtube#liveBroadcast", # The kind, fixed to "youtube#liveBroadcast".
-    "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
-      "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
-      "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
-      "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
-      "enableClosedCaptions": True or False, # This setting indicates whether closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API.
-      "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
-      "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
-          #
-          #
-          #
-          # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
-      "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
-          #
-          #
-          #
-          # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
-      "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
-        "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
-        "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
-        "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
-            #
-            # You need to set this value to true if you intend to have a broadcast delay for your event.
-            #
-            # Note: This property cannot be updated once the broadcast is in the testing or live state.
-      },
-    },
-    "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
-      "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
-      "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
-      "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-      },
-    },
-    "etag": "A String", # Etag of this resource.
-    "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(id, onBehalfOfContentOwner=None)</code>
-  <pre>Deletes a broadcast.
-
-Args:
-  id: string, The id parameter specifies the YouTube live broadcast ID for the resource that is being deleted. (required)
-  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(part=None, body, onBehalfOfContentOwner=None)</code>
-  <pre>Creates a broadcast.
-
-Args:
-  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
-
-The part properties that you can include in the parameter value are id, snippet, contentDetails, and status. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
-  "status": { # The status object contains information about the event's status.
-    "recordingStatus": "A String", # The broadcast's recording status.
-    "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
-    "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
-  },
-  "kind": "youtube#liveBroadcast", # The kind, fixed to "youtube#liveBroadcast".
-  "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
-    "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
-    "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
-    "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
-    "enableClosedCaptions": True or False, # This setting indicates whether closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API.
-    "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
-    "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
-        #
-        #
-        #
-        # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
-    "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
-        #
-        #
-        #
-        # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
-    "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
-      "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
-      "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
-      "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
-          #
-          # You need to set this value to true if you intend to have a broadcast delay for your event.
-          #
-          # Note: This property cannot be updated once the broadcast is in the testing or live state.
-    },
-  },
-  "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
-    "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-    "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
-    "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
-    "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
-    "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-    "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-    "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-    "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-    "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-      "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-        "url": "A String", # The thumbnail image's URL.
-        "width": 42, # (Optional) Width of the thumbnail image.
-        "height": 42, # (Optional) Height of the thumbnail image.
-      },
-      "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-        "url": "A String", # The thumbnail image's URL.
-        "width": 42, # (Optional) Width of the thumbnail image.
-        "height": 42, # (Optional) Height of the thumbnail image.
-      },
-      "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-        "url": "A String", # The thumbnail image's URL.
-        "width": 42, # (Optional) Width of the thumbnail image.
-        "height": 42, # (Optional) Height of the thumbnail image.
-      },
-      "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-        "url": "A String", # The thumbnail image's URL.
-        "width": 42, # (Optional) Width of the thumbnail image.
-        "height": 42, # (Optional) Height of the thumbnail image.
-      },
-      "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-        "url": "A String", # The thumbnail image's URL.
-        "width": 42, # (Optional) Width of the thumbnail image.
-        "height": 42, # (Optional) Height of the thumbnail image.
-      },
-    },
-  },
-  "etag": "A String", # Etag of this resource.
-  "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
-}
-
-  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
-
-Returns:
-  An object of the form:
-
-    { # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
-    "status": { # The status object contains information about the event's status.
-      "recordingStatus": "A String", # The broadcast's recording status.
-      "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
-      "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
-    },
-    "kind": "youtube#liveBroadcast", # The kind, fixed to "youtube#liveBroadcast".
-    "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
-      "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
-      "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
-      "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
-      "enableClosedCaptions": True or False, # This setting indicates whether closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API.
-      "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
-      "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
-          #
-          #
-          #
-          # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
-      "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
-          #
-          #
-          #
-          # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
-      "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
-        "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
-        "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
-        "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
-            #
-            # You need to set this value to true if you intend to have a broadcast delay for your event.
-            #
-            # Note: This property cannot be updated once the broadcast is in the testing or live state.
-      },
-    },
-    "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
-      "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
-      "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
-      "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-      },
-    },
-    "etag": "A String", # Etag of this resource.
-    "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(part, broadcastStatus=None, pageToken=None, mine=None, maxResults=None, id=None)</code>
-  <pre>Returns a list of YouTube broadcasts that match the API request parameters.
-
-Args:
-  part: string, The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status. (required)
-  broadcastStatus: string, The broadcastStatus parameter filters the API response to only include broadcasts with the specified status.
-    Allowed values
-      active - Return current live broadcasts.
-      all - Return all broadcasts.
-      completed - Return broadcasts that have already ended.
-      upcoming - Return broadcasts that have not yet started.
-  pageToken: string, The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
-  mine: boolean, The mine parameter can be used to instruct the API to only return broadcasts owned by the authenticated user. Set the parameter value to true to only retrieve your own broadcasts.
-  maxResults: integer, The maxResults parameter specifies the maximum number of items that should be returned in the result set. Acceptable values are 0 to 50, inclusive. The default value is 5.
-  id: string, The id parameter specifies a comma-separated list of YouTube broadcast IDs that identify the broadcasts being retrieved. In a liveBroadcast resource, the id property specifies the broadcast's ID.
-
-Returns:
-  An object of the form:
-
-    { # JSON template for list of broadcasts.
-    "eventId": "A String", # Serialized EventId of the request which produced this response.
-    "nextPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
-    "kind": "youtube#liveBroadcastList", # The type of the API response. For this operation, the value will be youtube#liveBroadcastList.
-    "visitorId": "A String", # The visitorId identifies the visitor.
-    "items": [ # A list of broadcasts that match the request criteria.
-      { # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
-        "status": { # The status object contains information about the event's status.
-          "recordingStatus": "A String", # The broadcast's recording status.
-          "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
-          "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
-        },
-        "kind": "youtube#liveBroadcast", # The kind, fixed to "youtube#liveBroadcast".
-        "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
-          "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
-          "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
-          "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
-          "enableClosedCaptions": True or False, # This setting indicates whether closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API.
-          "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
-          "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
-              #
-              #
-              #
-              # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
-          "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
-              #
-              #
-              #
-              # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
-          "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
-            "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
-            "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
-            "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
-                #
-                # You need to set this value to true if you intend to have a broadcast delay for your event.
-                #
-                # Note: This property cannot be updated once the broadcast is in the testing or live state.
-          },
-        },
-        "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
-          "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-          "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
-          "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
-          "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
-          "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-          "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-          "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-          "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-          "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-            "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-              "url": "A String", # The thumbnail image's URL.
-              "width": 42, # (Optional) Width of the thumbnail image.
-              "height": 42, # (Optional) Height of the thumbnail image.
-            },
-            "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-              "url": "A String", # The thumbnail image's URL.
-              "width": 42, # (Optional) Width of the thumbnail image.
-              "height": 42, # (Optional) Height of the thumbnail image.
-            },
-            "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-              "url": "A String", # The thumbnail image's URL.
-              "width": 42, # (Optional) Width of the thumbnail image.
-              "height": 42, # (Optional) Height of the thumbnail image.
-            },
-            "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-              "url": "A String", # The thumbnail image's URL.
-              "width": 42, # (Optional) Width of the thumbnail image.
-              "height": 42, # (Optional) Height of the thumbnail image.
-            },
-            "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-              "url": "A String", # The thumbnail image's URL.
-              "width": 42, # (Optional) Width of the thumbnail image.
-              "height": 42, # (Optional) Height of the thumbnail image.
-            },
-          },
-        },
-        "etag": "A String", # Etag of this resource.
-        "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
-      },
-    ],
-    "etag": "A String", # The ETag of the response.
-    "prevPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
-    "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page. # The pageInfo object encapsulates paging information for the result set.
-      "totalResults": 42, # The total number of results in the result set.
-      "resultsPerPage": 42, # The number of results included in the API response.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="transition">transition(broadcastStatus, id, part, onBehalfOfContentOwner=None)</code>
-  <pre>Changes the status of a YouTube live broadcast and initiates any processes associated with the new status. For example, when you transition a broadcast's status to testing, YouTube starts to transmit video to that broadcast's monitor stream.
-
-Args:
-  broadcastStatus: string, The broadcastStatus parameter identifies the state to which the broadcast is changing. (required)
-    Allowed values
-      complete - The broadcast is over. YouTube stops transmitting video.
-      live - The broadcast is visible to its audience. YouTube transmits video to the broadcast's monitor stream and its broadcast stream.
-      testing - Start testing the broadcast. YouTube transmits video to the broadcast's monitor stream. Note that you can only transition a broadcast to the testing state if its contentDetails.monitorStream.enableMonitorStream property is set to true.
-  id: string, The id parameter specifies the unique ID of the broadcast that is transitioning to another status. (required)
-  part: string, The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status. (required)
-  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
-
-Returns:
-  An object of the form:
-
-    { # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
-    "status": { # The status object contains information about the event's status.
-      "recordingStatus": "A String", # The broadcast's recording status.
-      "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
-      "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
-    },
-    "kind": "youtube#liveBroadcast", # The kind, fixed to "youtube#liveBroadcast".
-    "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
-      "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
-      "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
-      "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
-      "enableClosedCaptions": True or False, # This setting indicates whether closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API.
-      "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
-      "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
-          #
-          #
-          #
-          # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
-      "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
-          #
-          #
-          #
-          # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
-      "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
-        "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
-        "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
-        "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
-            #
-            # You need to set this value to true if you intend to have a broadcast delay for your event.
-            #
-            # Note: This property cannot be updated once the broadcast is in the testing or live state.
-      },
-    },
-    "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
-      "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
-      "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
-      "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-      },
-    },
-    "etag": "A String", # Etag of this resource.
-    "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(part=None, body, onBehalfOfContentOwner=None)</code>
-  <pre>Updates a broadcast. For example, you could modify the broadcast settings defined in the liveBroadcast resource's contentDetails object.
-
-Args:
-  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
-
-The part properties that you can include in the parameter value are id, snippet, contentDetails, and status.
-
-Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a broadcast's privacy status is defined in the status part. As such, if your request is updating a private or unlisted broadcast, and the request's part parameter value includes the status part, the broadcast's privacy setting will be updated to whatever value the request body specifies. If the request body does not specify a value, the existing privacy setting will be removed and the broadcast will revert to the default privacy setting. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
-  "status": { # The status object contains information about the event's status.
-    "recordingStatus": "A String", # The broadcast's recording status.
-    "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
-    "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
-  },
-  "kind": "youtube#liveBroadcast", # The kind, fixed to "youtube#liveBroadcast".
-  "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
-    "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
-    "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
-    "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
-    "enableClosedCaptions": True or False, # This setting indicates whether closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API.
-    "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
-    "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
-        #
-        #
-        #
-        # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
-    "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
-        #
-        #
-        #
-        # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
-    "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
-      "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
-      "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
-      "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
-          #
-          # You need to set this value to true if you intend to have a broadcast delay for your event.
-          #
-          # Note: This property cannot be updated once the broadcast is in the testing or live state.
-    },
-  },
-  "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
-    "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-    "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
-    "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
-    "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
-    "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-    "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-    "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-    "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-    "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-      "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-        "url": "A String", # The thumbnail image's URL.
-        "width": 42, # (Optional) Width of the thumbnail image.
-        "height": 42, # (Optional) Height of the thumbnail image.
-      },
-      "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-        "url": "A String", # The thumbnail image's URL.
-        "width": 42, # (Optional) Width of the thumbnail image.
-        "height": 42, # (Optional) Height of the thumbnail image.
-      },
-      "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-        "url": "A String", # The thumbnail image's URL.
-        "width": 42, # (Optional) Width of the thumbnail image.
-        "height": 42, # (Optional) Height of the thumbnail image.
-      },
-      "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-        "url": "A String", # The thumbnail image's URL.
-        "width": 42, # (Optional) Width of the thumbnail image.
-        "height": 42, # (Optional) Height of the thumbnail image.
-      },
-      "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-        "url": "A String", # The thumbnail image's URL.
-        "width": 42, # (Optional) Width of the thumbnail image.
-        "height": 42, # (Optional) Height of the thumbnail image.
-      },
-    },
-  },
-  "etag": "A String", # Etag of this resource.
-  "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
-}
-
-  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
-
-Returns:
-  An object of the form:
-
-    { # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
-    "status": { # The status object contains information about the event's status.
-      "recordingStatus": "A String", # The broadcast's recording status.
-      "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
-      "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
-    },
-    "kind": "youtube#liveBroadcast", # The kind, fixed to "youtube#liveBroadcast".
-    "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
-      "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
-      "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
-      "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
-      "enableClosedCaptions": True or False, # This setting indicates whether closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API.
-      "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
-      "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
-          #
-          #
-          #
-          # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
-      "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
-          #
-          #
-          #
-          # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
-      "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
-        "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
-        "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
-        "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
-            #
-            # You need to set this value to true if you intend to have a broadcast delay for your event.
-            #
-            # Note: This property cannot be updated once the broadcast is in the testing or live state.
-      },
-    },
-    "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
-      "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
-      "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
-      "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-      },
-    },
-    "etag": "A String", # Etag of this resource.
-    "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.liveStreams.html b/docs/dyn/youtube_v3.liveStreams.html
deleted file mode 100644
index 245f0fa..0000000
--- a/docs/dyn/youtube_v3.liveStreams.html
+++ /dev/null
@@ -1,334 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.liveStreams.html">liveStreams</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(id)</a></code></p>
-<p class="firstline">Deletes a video stream.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(part=None, body)</a></code></p>
-<p class="firstline">Creates a video stream. The stream enables you to send your video to YouTube, which can then broadcast the video to your audience.</p>
-<p class="toc_element">
-  <code><a href="#list">list(part, pageToken=None, mine=None, maxResults=None, id=None)</a></code></p>
-<p class="firstline">Returns a list of video streams that match the API request parameters.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#update">update(part=None, body)</a></code></p>
-<p class="firstline">Updates a video stream. If the properties that you want to change cannot be updated, then you need to create a new stream with the proper settings.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(id)</code>
-  <pre>Deletes a video stream.
-
-Args:
-  id: string, The id parameter specifies the YouTube live stream ID for the resource that is being deleted. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(part=None, body)</code>
-  <pre>Creates a video stream. The stream enables you to send your video to YouTube, which can then broadcast the video to your audience.
-
-Args:
-  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
-
-The part properties that you can include in the parameter value are id, snippet, cdn, and status. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A live stream describes a live ingestion point.
-    "status": { # Brief description of the live stream status. # The status object contains information about live stream's status.
-      "streamStatus": "A String",
-    },
-    "kind": "youtube#liveStream", # The kind, fixed to "youtube#liveStream".
-    "contentDetails": { # Detailed settings of a stream. # The content_details object contains information about the stream, including the closed captions ingestion URL.
-      "closedCaptionsIngestionUrl": "A String", # The ingestion URL where the closed captions of this stream are sent.
-    },
-    "cdn": { # Brief description of the live stream cdn settings. # The cdn object defines the live stream's content delivery network (CDN) settings. These settings provide details about the manner in which you stream your content to YouTube.
-      "ingestionType": "A String", # The method or protocol used to transmit the video stream.
-      "ingestionInfo": { # Describes information necessary for ingesting an RTMP or an HTTP stream. # The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube.
-        "backupIngestionAddress": "A String", # The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL.
-        "streamName": "A String", # The HTTP or RTMP stream name that YouTube assigns to the video stream.
-        "ingestionAddress": "A String", # The primary ingestion URL that you should use to stream video to YouTube. You must stream video to this URL.
-            #
-            # Depending on which application or tool you use to encode your video stream, you may need to enter the stream URL and stream name separately or you may need to concatenate them in the following format:
-            #
-            # STREAM_URL/STREAM_NAME
-      },
-      "format": "A String", # The format of the video stream that you are sending to Youtube.
-    },
-    "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description.
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is transmitting the stream.
-      "description": "A String", # The stream's description. The value cannot be longer than 10000 characters.
-      "publishedAt": "A String", # The date and time that the stream was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "title": "A String", # The stream's title. The value must be between 1 and 128 characters long.
-    },
-    "etag": "A String", # Etag of this resource.
-    "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A live stream describes a live ingestion point.
-      "status": { # Brief description of the live stream status. # The status object contains information about live stream's status.
-        "streamStatus": "A String",
-      },
-      "kind": "youtube#liveStream", # The kind, fixed to "youtube#liveStream".
-      "contentDetails": { # Detailed settings of a stream. # The content_details object contains information about the stream, including the closed captions ingestion URL.
-        "closedCaptionsIngestionUrl": "A String", # The ingestion URL where the closed captions of this stream are sent.
-      },
-      "cdn": { # Brief description of the live stream cdn settings. # The cdn object defines the live stream's content delivery network (CDN) settings. These settings provide details about the manner in which you stream your content to YouTube.
-        "ingestionType": "A String", # The method or protocol used to transmit the video stream.
-        "ingestionInfo": { # Describes information necessary for ingesting an RTMP or an HTTP stream. # The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube.
-          "backupIngestionAddress": "A String", # The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL.
-          "streamName": "A String", # The HTTP or RTMP stream name that YouTube assigns to the video stream.
-          "ingestionAddress": "A String", # The primary ingestion URL that you should use to stream video to YouTube. You must stream video to this URL.
-              #
-              # Depending on which application or tool you use to encode your video stream, you may need to enter the stream URL and stream name separately or you may need to concatenate them in the following format:
-              #
-              # STREAM_URL/STREAM_NAME
-        },
-        "format": "A String", # The format of the video stream that you are sending to Youtube.
-      },
-      "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description.
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is transmitting the stream.
-        "description": "A String", # The stream's description. The value cannot be longer than 10000 characters.
-        "publishedAt": "A String", # The date and time that the stream was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "title": "A String", # The stream's title. The value must be between 1 and 128 characters long.
-      },
-      "etag": "A String", # Etag of this resource.
-      "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(part, pageToken=None, mine=None, maxResults=None, id=None)</code>
-  <pre>Returns a list of video streams that match the API request parameters.
-
-Args:
-  part: string, The part parameter specifies a comma-separated list of one or more liveStream resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, cdn, and status. (required)
-  pageToken: string, The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
-  mine: boolean, The mine parameter can be used to instruct the API to only return streams owned by the authenticated user. Set the parameter value to true to only retrieve your own streams.
-  maxResults: integer, The maxResults parameter specifies the maximum number of items that should be returned in the result set. Acceptable values are 0 to 50, inclusive. The default value is 5.
-  id: string, The id parameter specifies a comma-separated list of YouTube stream IDs that identify the streams being retrieved. In a liveStream resource, the id property specifies the stream's ID.
-
-Returns:
-  An object of the form:
-
-    { # List of live streams.
-    "eventId": "A String", # Serialized EventId of the request which produced this response.
-    "nextPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
-    "kind": "youtube#liveStreamList", # The type of the API response. For this operation, the value will be youtube#liveStreamList.
-    "visitorId": "A String", # The visitorId identifies the visitor.
-    "items": [ # A list of live streams that match the request criteria.
-      { # A live stream describes a live ingestion point.
-          "status": { # Brief description of the live stream status. # The status object contains information about live stream's status.
-            "streamStatus": "A String",
-          },
-          "kind": "youtube#liveStream", # The kind, fixed to "youtube#liveStream".
-          "contentDetails": { # Detailed settings of a stream. # The content_details object contains information about the stream, including the closed captions ingestion URL.
-            "closedCaptionsIngestionUrl": "A String", # The ingestion URL where the closed captions of this stream are sent.
-          },
-          "cdn": { # Brief description of the live stream cdn settings. # The cdn object defines the live stream's content delivery network (CDN) settings. These settings provide details about the manner in which you stream your content to YouTube.
-            "ingestionType": "A String", # The method or protocol used to transmit the video stream.
-            "ingestionInfo": { # Describes information necessary for ingesting an RTMP or an HTTP stream. # The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube.
-              "backupIngestionAddress": "A String", # The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL.
-              "streamName": "A String", # The HTTP or RTMP stream name that YouTube assigns to the video stream.
-              "ingestionAddress": "A String", # The primary ingestion URL that you should use to stream video to YouTube. You must stream video to this URL.
-                  #
-                  # Depending on which application or tool you use to encode your video stream, you may need to enter the stream URL and stream name separately or you may need to concatenate them in the following format:
-                  #
-                  # STREAM_URL/STREAM_NAME
-            },
-            "format": "A String", # The format of the video stream that you are sending to Youtube.
-          },
-          "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description.
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is transmitting the stream.
-            "description": "A String", # The stream's description. The value cannot be longer than 10000 characters.
-            "publishedAt": "A String", # The date and time that the stream was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-            "title": "A String", # The stream's title. The value must be between 1 and 128 characters long.
-          },
-          "etag": "A String", # Etag of this resource.
-          "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
-        },
-    ],
-    "etag": "A String", # The ETag of the response.
-    "prevPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
-    "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page. # The pageInfo object encapsulates paging information for the result set.
-      "totalResults": 42, # The total number of results in the result set.
-      "resultsPerPage": 42, # The number of results included in the API response.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(part=None, body)</code>
-  <pre>Updates a video stream. If the properties that you want to change cannot be updated, then you need to create a new stream with the proper settings.
-
-Args:
-  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
-
-The part properties that you can include in the parameter value are id, snippet, cdn, and status.
-
-Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. If the request body does not specify a value for a mutable property, the existing value for that property will be removed. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A live stream describes a live ingestion point.
-    "status": { # Brief description of the live stream status. # The status object contains information about live stream's status.
-      "streamStatus": "A String",
-    },
-    "kind": "youtube#liveStream", # The kind, fixed to "youtube#liveStream".
-    "contentDetails": { # Detailed settings of a stream. # The content_details object contains information about the stream, including the closed captions ingestion URL.
-      "closedCaptionsIngestionUrl": "A String", # The ingestion URL where the closed captions of this stream are sent.
-    },
-    "cdn": { # Brief description of the live stream cdn settings. # The cdn object defines the live stream's content delivery network (CDN) settings. These settings provide details about the manner in which you stream your content to YouTube.
-      "ingestionType": "A String", # The method or protocol used to transmit the video stream.
-      "ingestionInfo": { # Describes information necessary for ingesting an RTMP or an HTTP stream. # The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube.
-        "backupIngestionAddress": "A String", # The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL.
-        "streamName": "A String", # The HTTP or RTMP stream name that YouTube assigns to the video stream.
-        "ingestionAddress": "A String", # The primary ingestion URL that you should use to stream video to YouTube. You must stream video to this URL.
-            #
-            # Depending on which application or tool you use to encode your video stream, you may need to enter the stream URL and stream name separately or you may need to concatenate them in the following format:
-            #
-            # STREAM_URL/STREAM_NAME
-      },
-      "format": "A String", # The format of the video stream that you are sending to Youtube.
-    },
-    "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description.
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is transmitting the stream.
-      "description": "A String", # The stream's description. The value cannot be longer than 10000 characters.
-      "publishedAt": "A String", # The date and time that the stream was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "title": "A String", # The stream's title. The value must be between 1 and 128 characters long.
-    },
-    "etag": "A String", # Etag of this resource.
-    "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A live stream describes a live ingestion point.
-      "status": { # Brief description of the live stream status. # The status object contains information about live stream's status.
-        "streamStatus": "A String",
-      },
-      "kind": "youtube#liveStream", # The kind, fixed to "youtube#liveStream".
-      "contentDetails": { # Detailed settings of a stream. # The content_details object contains information about the stream, including the closed captions ingestion URL.
-        "closedCaptionsIngestionUrl": "A String", # The ingestion URL where the closed captions of this stream are sent.
-      },
-      "cdn": { # Brief description of the live stream cdn settings. # The cdn object defines the live stream's content delivery network (CDN) settings. These settings provide details about the manner in which you stream your content to YouTube.
-        "ingestionType": "A String", # The method or protocol used to transmit the video stream.
-        "ingestionInfo": { # Describes information necessary for ingesting an RTMP or an HTTP stream. # The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube.
-          "backupIngestionAddress": "A String", # The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL.
-          "streamName": "A String", # The HTTP or RTMP stream name that YouTube assigns to the video stream.
-          "ingestionAddress": "A String", # The primary ingestion URL that you should use to stream video to YouTube. You must stream video to this URL.
-              #
-              # Depending on which application or tool you use to encode your video stream, you may need to enter the stream URL and stream name separately or you may need to concatenate them in the following format:
-              #
-              # STREAM_URL/STREAM_NAME
-        },
-        "format": "A String", # The format of the video stream that you are sending to Youtube.
-      },
-      "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description.
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is transmitting the stream.
-        "description": "A String", # The stream's description. The value cannot be longer than 10000 characters.
-        "publishedAt": "A String", # The date and time that the stream was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "title": "A String", # The stream's title. The value must be between 1 and 128 characters long.
-      },
-      "etag": "A String", # Etag of this resource.
-      "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.playlistItems.html b/docs/dyn/youtube_v3.playlistItems.html
deleted file mode 100644
index 5a81b92..0000000
--- a/docs/dyn/youtube_v3.playlistItems.html
+++ /dev/null
@@ -1,512 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.playlistItems.html">playlistItems</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(id)</a></code></p>
-<p class="firstline">Deletes a playlist item.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(part=None, body)</a></code></p>
-<p class="firstline">Adds a resource to a playlist.</p>
-<p class="toc_element">
-  <code><a href="#list">list(part=None, pageToken=None, playlistId=None, videoId=None, maxResults=None, id=None)</a></code></p>
-<p class="firstline">Returns a collection of playlist items that match the API request parameters. You can retrieve all of the playlist items in a specified playlist or retrieve one or more playlist items by their unique IDs.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#update">update(part=None, body)</a></code></p>
-<p class="firstline">Modifies a playlist item. For example, you could update the item's position in the playlist.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(id)</code>
-  <pre>Deletes a playlist item.
-
-Args:
-  id: string, The id parameter specifies the YouTube playlist item ID for the playlist item that is being deleted. In a playlistItem resource, the id property specifies the playlist item's ID. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(part=None, body)</code>
-  <pre>Adds a resource to a playlist.
-
-Args:
-  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
-
-The part names that you can include in the parameter value are snippet and contentDetails. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A playlistItem resource identifies another resource, such as a video, that is included in a playlist. In addition, the playlistItem  resource contains details about the included resource that pertain specifically to how that resource is used in that playlist.
-      # 
-      # YouTube uses playlists to identify special collections of videos for a channel, such as:
-      # - uploaded videos
-      # - favorite videos
-      # - positively rated (liked) videos
-      # - watch history
-      # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information.
-      # 
-      # You can retrieve the playlist IDs for each of these lists from the  channel resource  for a given channel. You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods. For example, if a user gives a positive rating to a video, you would insert that video into the liked videos playlist for that user's channel.
-    "status": { # Information about the playlist item's privacy status. # The status object contains information about the playlist item's privacy status.
-      "privacyStatus": "A String", # This resource's privacy status.
-    },
-    "kind": "youtube#playlistItem", # The kind, fixed to "youtube#playlistItem".
-    "contentDetails": { # The contentDetails object is included in the resource if the included item is a YouTube video. The object contains additional information about the video.
-      "note": "A String", # A user-generated note for this item.
-      "startAt": "A String", # The time, measured in seconds from the start of the video, when the video should start playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) The default value is 0.
-      "endAt": "A String", # The time, measured in seconds from the start of the video, when the video should stop playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) By default, assume that the video.endTime is the end of the video.
-      "videoId": "A String", # The ID that YouTube uses to uniquely identify a video. To retrieve the video resource, set the id query parameter to this value in your API request.
-    },
-    "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist item, such as its title and position in the playlist.
-      "playlistId": "A String", # The ID that YouTube uses to uniquely identify the playlist that the playlist item is in.
-      "description": "A String", # The item's description.
-      "title": "A String", # The item's title.
-      "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information that can be used to uniquely identify the resource that is included in the playlist as the playlist item.
-        "kind": "A String", # The type of the API resource.
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-        "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-        "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-      },
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the user that added the item to the playlist.
-      "publishedAt": "A String", # The date and time that the item was added to the playlist. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "channelTitle": "A String", # Channel title for the channel that the playlist item belongs to.
-      "position": 42, # The order in which the item appears in the playlist. The value uses a zero-based index, so the first item has a position of 0, the second item has a position of 1, and so forth.
-      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist item. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-      },
-    },
-    "etag": "A String", # Etag of this resource.
-    "id": "A String", # The ID that YouTube uses to uniquely identify the playlist item.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A playlistItem resource identifies another resource, such as a video, that is included in a playlist. In addition, the playlistItem  resource contains details about the included resource that pertain specifically to how that resource is used in that playlist.
-        #
-        # YouTube uses playlists to identify special collections of videos for a channel, such as:
-        # - uploaded videos
-        # - favorite videos
-        # - positively rated (liked) videos
-        # - watch history
-        # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information.
-        #
-        # You can retrieve the playlist IDs for each of these lists from the  channel resource  for a given channel. You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods. For example, if a user gives a positive rating to a video, you would insert that video into the liked videos playlist for that user's channel.
-      "status": { # Information about the playlist item's privacy status. # The status object contains information about the playlist item's privacy status.
-        "privacyStatus": "A String", # This resource's privacy status.
-      },
-      "kind": "youtube#playlistItem", # The kind, fixed to "youtube#playlistItem".
-      "contentDetails": { # The contentDetails object is included in the resource if the included item is a YouTube video. The object contains additional information about the video.
-        "note": "A String", # A user-generated note for this item.
-        "startAt": "A String", # The time, measured in seconds from the start of the video, when the video should start playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) The default value is 0.
-        "endAt": "A String", # The time, measured in seconds from the start of the video, when the video should stop playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) By default, assume that the video.endTime is the end of the video.
-        "videoId": "A String", # The ID that YouTube uses to uniquely identify a video. To retrieve the video resource, set the id query parameter to this value in your API request.
-      },
-      "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist item, such as its title and position in the playlist.
-        "playlistId": "A String", # The ID that YouTube uses to uniquely identify the playlist that the playlist item is in.
-        "description": "A String", # The item's description.
-        "title": "A String", # The item's title.
-        "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information that can be used to uniquely identify the resource that is included in the playlist as the playlist item.
-          "kind": "A String", # The type of the API resource.
-          "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-          "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-          "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-        },
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the user that added the item to the playlist.
-        "publishedAt": "A String", # The date and time that the item was added to the playlist. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "channelTitle": "A String", # Channel title for the channel that the playlist item belongs to.
-        "position": 42, # The order in which the item appears in the playlist. The value uses a zero-based index, so the first item has a position of 0, the second item has a position of 1, and so forth.
-        "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist item. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-          "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-        },
-      },
-      "etag": "A String", # Etag of this resource.
-      "id": "A String", # The ID that YouTube uses to uniquely identify the playlist item.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(part=None, pageToken=None, playlistId=None, videoId=None, maxResults=None, id=None)</code>
-  <pre>Returns a collection of playlist items that match the API request parameters. You can retrieve all of the playlist items in a specified playlist or retrieve one or more playlist items by their unique IDs.
-
-Args:
-  part: string, The part parameter specifies a comma-separated list of one or more playlistItem resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, and contentDetails.
-
-If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a playlistItem resource, the snippet property contains numerous fields, including the title, description, position, and resourceId properties. As such, if you set part=snippet, the API response will contain all of those properties. (required)
-  pageToken: string, USE_DESCRIPTION --- channels:list:pageToken
-  playlistId: string, The playlistId parameter specifies the unique ID of the playlist for which you want to retrieve playlist items. Note that even though this is an optional parameter, every request to retrieve playlist items must specify a value for either the id parameter or the playlistId parameter.
-  videoId: string, The videoId parameter specifies that the request should return only the playlist items that contain the specified video.
-  maxResults: integer, USE_DESCRIPTION --- channels:list:maxResults
-  id: string, The id parameter specifies a comma-separated list of one or more unique playlist item IDs.
-
-Returns:
-  An object of the form:
-
-    { # A paginated list of playlist items returned as the response to a youtube.playlistItems.list call.
-    "eventId": "A String", # Serialized EventId of the request which produced this response.
-    "nextPageToken": "A String", # A token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
-    "kind": "youtube#playlistItemListResponse", # The type of the API response. For this operation, the value will be youtube#playlistItemListResponse.
-    "visitorId": "A String", # The visitorId identifies the visitor.
-    "items": [ # A list of playlist items that match the request criteria.
-      { # A playlistItem resource identifies another resource, such as a video, that is included in a playlist. In addition, the playlistItem  resource contains details about the included resource that pertain specifically to how that resource is used in that playlist.
-            #
-            # YouTube uses playlists to identify special collections of videos for a channel, such as:
-            # - uploaded videos
-            # - favorite videos
-            # - positively rated (liked) videos
-            # - watch history
-            # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information.
-            #
-            # You can retrieve the playlist IDs for each of these lists from the  channel resource  for a given channel. You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods. For example, if a user gives a positive rating to a video, you would insert that video into the liked videos playlist for that user's channel.
-          "status": { # Information about the playlist item's privacy status. # The status object contains information about the playlist item's privacy status.
-            "privacyStatus": "A String", # This resource's privacy status.
-          },
-          "kind": "youtube#playlistItem", # The kind, fixed to "youtube#playlistItem".
-          "contentDetails": { # The contentDetails object is included in the resource if the included item is a YouTube video. The object contains additional information about the video.
-            "note": "A String", # A user-generated note for this item.
-            "startAt": "A String", # The time, measured in seconds from the start of the video, when the video should start playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) The default value is 0.
-            "endAt": "A String", # The time, measured in seconds from the start of the video, when the video should stop playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) By default, assume that the video.endTime is the end of the video.
-            "videoId": "A String", # The ID that YouTube uses to uniquely identify a video. To retrieve the video resource, set the id query parameter to this value in your API request.
-          },
-          "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist item, such as its title and position in the playlist.
-            "playlistId": "A String", # The ID that YouTube uses to uniquely identify the playlist that the playlist item is in.
-            "description": "A String", # The item's description.
-            "title": "A String", # The item's title.
-            "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information that can be used to uniquely identify the resource that is included in the playlist as the playlist item.
-              "kind": "A String", # The type of the API resource.
-              "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-              "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-              "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-            },
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the user that added the item to the playlist.
-            "publishedAt": "A String", # The date and time that the item was added to the playlist. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-            "channelTitle": "A String", # Channel title for the channel that the playlist item belongs to.
-            "position": 42, # The order in which the item appears in the playlist. The value uses a zero-based index, so the first item has a position of 0, the second item has a position of 1, and so forth.
-            "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist item. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-              "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-            },
-          },
-          "etag": "A String", # Etag of this resource.
-          "id": "A String", # The ID that YouTube uses to uniquely identify the playlist item.
-        },
-    ],
-    "etag": "A String", # The ETag for the response.
-    "prevPageToken": "A String", # A token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
-    "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page. # The pageInfo object encapsulates paging information for the result set.
-      "totalResults": 42, # The total number of results in the result set.
-      "resultsPerPage": 42, # The number of results included in the API response.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(part=None, body)</code>
-  <pre>Modifies a playlist item. For example, you could update the item's position in the playlist.
-
-Args:
-  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
-
-The part names that you can include in the parameter value are snippet and contentDetails.
-
-Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a playlist item can specify a start time and end time, which identify the times portion of the video that should play when users watch the video in the playlist. If your request is updating a playlist item that sets these values, and the request's part parameter value includes the contentDetails part, the playlist item's start and end times will be updated to whatever value the request body specifies. If the request body does not specify values, the existing start and end times will be removed and replaced with the default settings. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A playlistItem resource identifies another resource, such as a video, that is included in a playlist. In addition, the playlistItem  resource contains details about the included resource that pertain specifically to how that resource is used in that playlist.
-      # 
-      # YouTube uses playlists to identify special collections of videos for a channel, such as:
-      # - uploaded videos
-      # - favorite videos
-      # - positively rated (liked) videos
-      # - watch history
-      # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information.
-      # 
-      # You can retrieve the playlist IDs for each of these lists from the  channel resource  for a given channel. You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods. For example, if a user gives a positive rating to a video, you would insert that video into the liked videos playlist for that user's channel.
-    "status": { # Information about the playlist item's privacy status. # The status object contains information about the playlist item's privacy status.
-      "privacyStatus": "A String", # This resource's privacy status.
-    },
-    "kind": "youtube#playlistItem", # The kind, fixed to "youtube#playlistItem".
-    "contentDetails": { # The contentDetails object is included in the resource if the included item is a YouTube video. The object contains additional information about the video.
-      "note": "A String", # A user-generated note for this item.
-      "startAt": "A String", # The time, measured in seconds from the start of the video, when the video should start playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) The default value is 0.
-      "endAt": "A String", # The time, measured in seconds from the start of the video, when the video should stop playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) By default, assume that the video.endTime is the end of the video.
-      "videoId": "A String", # The ID that YouTube uses to uniquely identify a video. To retrieve the video resource, set the id query parameter to this value in your API request.
-    },
-    "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist item, such as its title and position in the playlist.
-      "playlistId": "A String", # The ID that YouTube uses to uniquely identify the playlist that the playlist item is in.
-      "description": "A String", # The item's description.
-      "title": "A String", # The item's title.
-      "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information that can be used to uniquely identify the resource that is included in the playlist as the playlist item.
-        "kind": "A String", # The type of the API resource.
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-        "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-        "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-      },
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the user that added the item to the playlist.
-      "publishedAt": "A String", # The date and time that the item was added to the playlist. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "channelTitle": "A String", # Channel title for the channel that the playlist item belongs to.
-      "position": 42, # The order in which the item appears in the playlist. The value uses a zero-based index, so the first item has a position of 0, the second item has a position of 1, and so forth.
-      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist item. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-      },
-    },
-    "etag": "A String", # Etag of this resource.
-    "id": "A String", # The ID that YouTube uses to uniquely identify the playlist item.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A playlistItem resource identifies another resource, such as a video, that is included in a playlist. In addition, the playlistItem  resource contains details about the included resource that pertain specifically to how that resource is used in that playlist.
-        #
-        # YouTube uses playlists to identify special collections of videos for a channel, such as:
-        # - uploaded videos
-        # - favorite videos
-        # - positively rated (liked) videos
-        # - watch history
-        # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information.
-        #
-        # You can retrieve the playlist IDs for each of these lists from the  channel resource  for a given channel. You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods. For example, if a user gives a positive rating to a video, you would insert that video into the liked videos playlist for that user's channel.
-      "status": { # Information about the playlist item's privacy status. # The status object contains information about the playlist item's privacy status.
-        "privacyStatus": "A String", # This resource's privacy status.
-      },
-      "kind": "youtube#playlistItem", # The kind, fixed to "youtube#playlistItem".
-      "contentDetails": { # The contentDetails object is included in the resource if the included item is a YouTube video. The object contains additional information about the video.
-        "note": "A String", # A user-generated note for this item.
-        "startAt": "A String", # The time, measured in seconds from the start of the video, when the video should start playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) The default value is 0.
-        "endAt": "A String", # The time, measured in seconds from the start of the video, when the video should stop playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) By default, assume that the video.endTime is the end of the video.
-        "videoId": "A String", # The ID that YouTube uses to uniquely identify a video. To retrieve the video resource, set the id query parameter to this value in your API request.
-      },
-      "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist item, such as its title and position in the playlist.
-        "playlistId": "A String", # The ID that YouTube uses to uniquely identify the playlist that the playlist item is in.
-        "description": "A String", # The item's description.
-        "title": "A String", # The item's title.
-        "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information that can be used to uniquely identify the resource that is included in the playlist as the playlist item.
-          "kind": "A String", # The type of the API resource.
-          "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-          "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-          "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-        },
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the user that added the item to the playlist.
-        "publishedAt": "A String", # The date and time that the item was added to the playlist. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "channelTitle": "A String", # Channel title for the channel that the playlist item belongs to.
-        "position": 42, # The order in which the item appears in the playlist. The value uses a zero-based index, so the first item has a position of 0, the second item has a position of 1, and so forth.
-        "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist item. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-          "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-        },
-      },
-      "etag": "A String", # Etag of this resource.
-      "id": "A String", # The ID that YouTube uses to uniquely identify the playlist item.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.playlists.html b/docs/dyn/youtube_v3.playlists.html
deleted file mode 100644
index d30c2a2..0000000
--- a/docs/dyn/youtube_v3.playlists.html
+++ /dev/null
@@ -1,487 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.playlists.html">playlists</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(id)</a></code></p>
-<p class="firstline">Deletes a playlist.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(part=None, body)</a></code></p>
-<p class="firstline">Creates a playlist.</p>
-<p class="toc_element">
-  <code><a href="#list">list(part=None, pageToken=None, channelId=None, mine=None, maxResults=None, id=None)</a></code></p>
-<p class="firstline">Returns a collection of playlists that match the API request parameters. For example, you can retrieve all playlists that the authenticated user owns, or you can retrieve one or more playlists by their unique IDs.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#update">update(part=None, body)</a></code></p>
-<p class="firstline">Modifies a playlist. For example, you could change a playlist's title, description, or privacy status.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(id)</code>
-  <pre>Deletes a playlist.
-
-Args:
-  id: string, The id parameter specifies the YouTube playlist ID for the playlist that is being deleted. In a playlist resource, the id property specifies the playlist's ID. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(part=None, body)</code>
-  <pre>Creates a playlist.
-
-Args:
-  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
-
-The part names that you can include in the parameter value are snippet and status. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A playlist resource represents a YouTube playlist. A playlist is a collection of videos that can be viewed sequentially and shared with other users. A playlist can contain up to 200 videos, and YouTube does not limit the number of playlists that each user creates. By default, playlists are publicly visible to other users, but playlists can be public or private.
-      # 
-      # YouTube also uses playlists to identify special collections of videos for a channel, such as:
-      # - uploaded videos
-      # - favorite videos
-      # - positively rated (liked) videos
-      # - watch history
-      # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the  channel resource for a given channel.
-      # 
-      # You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods.
-    "status": { # The status object contains status information for the playlist.
-      "privacyStatus": "A String", # The playlist's privacy status.
-    },
-    "kind": "youtube#playlist", # The kind, fixed to "youtube#playlist".
-    "contentDetails": { # The contentDetails object contains information like video count.
-      "itemCount": 42, # The number of videos in the playlist.
-    },
-    "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist, such as its title and description.
-      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-      },
-      "tags": [ # Keyword tags associated with the playlist.
-        "A String",
-      ],
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
-      "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "channelTitle": "A String", # The channel title of the channel that the video belongs to.
-      "title": "A String", # The playlist's title.
-      "description": "A String", # The playlist's description.
-    },
-    "player": { # The player object contains information that you would use to play the playlist in an embedded player.
-      "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the playlist.
-    },
-    "etag": "A String", # Etag of this resource.
-    "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A playlist resource represents a YouTube playlist. A playlist is a collection of videos that can be viewed sequentially and shared with other users. A playlist can contain up to 200 videos, and YouTube does not limit the number of playlists that each user creates. By default, playlists are publicly visible to other users, but playlists can be public or private.
-        #
-        # YouTube also uses playlists to identify special collections of videos for a channel, such as:
-        # - uploaded videos
-        # - favorite videos
-        # - positively rated (liked) videos
-        # - watch history
-        # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the  channel resource for a given channel.
-        #
-        # You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods.
-      "status": { # The status object contains status information for the playlist.
-        "privacyStatus": "A String", # The playlist's privacy status.
-      },
-      "kind": "youtube#playlist", # The kind, fixed to "youtube#playlist".
-      "contentDetails": { # The contentDetails object contains information like video count.
-        "itemCount": 42, # The number of videos in the playlist.
-      },
-      "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist, such as its title and description.
-        "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-          "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-        },
-        "tags": [ # Keyword tags associated with the playlist.
-          "A String",
-        ],
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
-        "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "channelTitle": "A String", # The channel title of the channel that the video belongs to.
-        "title": "A String", # The playlist's title.
-        "description": "A String", # The playlist's description.
-      },
-      "player": { # The player object contains information that you would use to play the playlist in an embedded player.
-        "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the playlist.
-      },
-      "etag": "A String", # Etag of this resource.
-      "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(part=None, pageToken=None, channelId=None, mine=None, maxResults=None, id=None)</code>
-  <pre>Returns a collection of playlists that match the API request parameters. For example, you can retrieve all playlists that the authenticated user owns, or you can retrieve one or more playlists by their unique IDs.
-
-Args:
-  part: string, The part parameter specifies a comma-separated list of one or more playlist resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, and status.
-
-If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a playlist resource, the snippet property contains properties like author, title, description, tags, and timeCreated. As such, if you set part=snippet, the API response will contain all of those properties. (required)
-  pageToken: string, USE_DESCRIPTION --- channels:list:pageToken
-  channelId: string, This value indicates that the API should only return the specified channel's playlists.
-  mine: boolean, Set this parameter's value to true to instruct the API to only return playlists owned by the authenticated user.
-  maxResults: integer, USE_DESCRIPTION --- channels:list:maxResults
-  id: string, The id parameter specifies a comma-separated list of the YouTube playlist ID(s) for the resource(s) that are being retrieved. In a playlist resource, the id property specifies the playlist's YouTube playlist ID.
-
-Returns:
-  An object of the form:
-
-    { # A paginated list of playlists returned as the response to a youtube.playlists.list call.
-    "eventId": "A String", # Serialized EventId of the request which produced this response.
-    "nextPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
-    "kind": "youtube#playlistListResponse", # The type of the API response. For this operation, the value will be youtube#playlistListResponse.
-    "visitorId": "A String", # The visitorId identifies the visitor.
-    "items": [ # A list of playlists that match the request criteria.
-      { # A playlist resource represents a YouTube playlist. A playlist is a collection of videos that can be viewed sequentially and shared with other users. A playlist can contain up to 200 videos, and YouTube does not limit the number of playlists that each user creates. By default, playlists are publicly visible to other users, but playlists can be public or private.
-            #
-            # YouTube also uses playlists to identify special collections of videos for a channel, such as:
-            # - uploaded videos
-            # - favorite videos
-            # - positively rated (liked) videos
-            # - watch history
-            # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the  channel resource for a given channel.
-            #
-            # You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods.
-          "status": { # The status object contains status information for the playlist.
-            "privacyStatus": "A String", # The playlist's privacy status.
-          },
-          "kind": "youtube#playlist", # The kind, fixed to "youtube#playlist".
-          "contentDetails": { # The contentDetails object contains information like video count.
-            "itemCount": 42, # The number of videos in the playlist.
-          },
-          "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist, such as its title and description.
-            "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-              "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-            },
-            "tags": [ # Keyword tags associated with the playlist.
-              "A String",
-            ],
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
-            "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-            "channelTitle": "A String", # The channel title of the channel that the video belongs to.
-            "title": "A String", # The playlist's title.
-            "description": "A String", # The playlist's description.
-          },
-          "player": { # The player object contains information that you would use to play the playlist in an embedded player.
-            "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the playlist.
-          },
-          "etag": "A String", # Etag of this resource.
-          "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
-        },
-    ],
-    "etag": "A String", # The ETag of the response.
-    "prevPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
-    "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page. # The pageInfo object encapsulates paging information for the result set.
-      "totalResults": 42, # The total number of results in the result set.
-      "resultsPerPage": 42, # The number of results included in the API response.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(part=None, body)</code>
-  <pre>Modifies a playlist. For example, you could change a playlist's title, description, or privacy status.
-
-Args:
-  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
-
-The part names that you can include in the parameter value are snippet and status.
-
-Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a playlist's privacy setting is contained in the status part. As such, if your request is updating a private playlist, and the request's part parameter value includes the status part, the playlist's privacy setting will be updated to whatever value the request body specifies. If the request body does not specify a value, the existing privacy setting will be removed and the playlist will revert to the default privacy setting. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A playlist resource represents a YouTube playlist. A playlist is a collection of videos that can be viewed sequentially and shared with other users. A playlist can contain up to 200 videos, and YouTube does not limit the number of playlists that each user creates. By default, playlists are publicly visible to other users, but playlists can be public or private.
-      # 
-      # YouTube also uses playlists to identify special collections of videos for a channel, such as:
-      # - uploaded videos
-      # - favorite videos
-      # - positively rated (liked) videos
-      # - watch history
-      # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the  channel resource for a given channel.
-      # 
-      # You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods.
-    "status": { # The status object contains status information for the playlist.
-      "privacyStatus": "A String", # The playlist's privacy status.
-    },
-    "kind": "youtube#playlist", # The kind, fixed to "youtube#playlist".
-    "contentDetails": { # The contentDetails object contains information like video count.
-      "itemCount": 42, # The number of videos in the playlist.
-    },
-    "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist, such as its title and description.
-      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-      },
-      "tags": [ # Keyword tags associated with the playlist.
-        "A String",
-      ],
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
-      "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "channelTitle": "A String", # The channel title of the channel that the video belongs to.
-      "title": "A String", # The playlist's title.
-      "description": "A String", # The playlist's description.
-    },
-    "player": { # The player object contains information that you would use to play the playlist in an embedded player.
-      "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the playlist.
-    },
-    "etag": "A String", # Etag of this resource.
-    "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A playlist resource represents a YouTube playlist. A playlist is a collection of videos that can be viewed sequentially and shared with other users. A playlist can contain up to 200 videos, and YouTube does not limit the number of playlists that each user creates. By default, playlists are publicly visible to other users, but playlists can be public or private.
-        #
-        # YouTube also uses playlists to identify special collections of videos for a channel, such as:
-        # - uploaded videos
-        # - favorite videos
-        # - positively rated (liked) videos
-        # - watch history
-        # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the  channel resource for a given channel.
-        #
-        # You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods.
-      "status": { # The status object contains status information for the playlist.
-        "privacyStatus": "A String", # The playlist's privacy status.
-      },
-      "kind": "youtube#playlist", # The kind, fixed to "youtube#playlist".
-      "contentDetails": { # The contentDetails object contains information like video count.
-        "itemCount": 42, # The number of videos in the playlist.
-      },
-      "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist, such as its title and description.
-        "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-          "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-        },
-        "tags": [ # Keyword tags associated with the playlist.
-          "A String",
-        ],
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
-        "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "channelTitle": "A String", # The channel title of the channel that the video belongs to.
-        "title": "A String", # The playlist's title.
-        "description": "A String", # The playlist's description.
-      },
-      "player": { # The player object contains information that you would use to play the playlist in an embedded player.
-        "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the playlist.
-      },
-      "etag": "A String", # Etag of this resource.
-      "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.search.html b/docs/dyn/youtube_v3.search.html
deleted file mode 100644
index 19bad22..0000000
--- a/docs/dyn/youtube_v3.search.html
+++ /dev/null
@@ -1,240 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.search.html">search</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(part=None, channelId=None, videoSyndicated=None, channelType=None, videoCaption=None, publishedAfter=None, onBehalfOfContentOwner=None, forContentOwner=None, regionCode=None, type=None, topicId=None, publishedBefore=None, videoDimension=None, videoLicense=None, maxResults=None, videoType=None, videoDefinition=None, pageToken=None, relatedToVideoId=None, videoDuration=None, forMine=None, q=None, safeSearch=None, videoEmbeddable=None, videoCategoryId=None, order=None)</a></code></p>
-<p class="firstline">Returns a collection of search results that match the query parameters specified in the API request. By default, a search result set identifies matching video, channel, and playlist resources, but you can also configure queries to only retrieve a specific type of resource.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(part=None, channelId=None, videoSyndicated=None, channelType=None, videoCaption=None, publishedAfter=None, onBehalfOfContentOwner=None, forContentOwner=None, regionCode=None, type=None, topicId=None, publishedBefore=None, videoDimension=None, videoLicense=None, maxResults=None, videoType=None, videoDefinition=None, pageToken=None, relatedToVideoId=None, videoDuration=None, forMine=None, q=None, safeSearch=None, videoEmbeddable=None, videoCategoryId=None, order=None)</code>
-  <pre>Returns a collection of search results that match the query parameters specified in the API request. By default, a search result set identifies matching video, channel, and playlist resources, but you can also configure queries to only retrieve a specific type of resource.
-
-Args:
-  part: string, The part parameter specifies a comma-separated list of one or more search resource properties that the API response will include. The part names that you can include in the parameter value are id and snippet.
-
-If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a search result, the snippet property contains other properties that identify the result's title, description, and so forth. If you set part=snippet, the API response will also contain all of those nested properties. (required)
-  channelId: string, The channelId parameter indicates that the API response should only contain resources created by the channel
-  videoSyndicated: string, The videoSyndicated parameter lets you to restrict a search to only videos that can be played outside youtube.com.
-    Allowed values
-      any - Return all videos, syndicated or not.
-      true - Only retrieve syndicated videos.
-  channelType: string, The channelType parameter lets you restrict a search to a particular type of channel.
-    Allowed values
-      any - Return all channels.
-      show - Only retrieve shows.
-  videoCaption: string, The videoCaption parameter indicates whether the API should filter video search results based on whether they have captions.
-    Allowed values
-      any - Do not filter results based on caption availability.
-      closedCaption - Only include videos that have captions.
-      none - Only include videos that do not have captions.
-  publishedAfter: string, The publishedAfter parameter indicates that the API response should only contain resources created after the specified time. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).
-  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
-  forContentOwner: boolean, The forContentOwner parameter restricts the search to only retrieve resources owned by the content owner specified by the onBehalfOfContentOwner parameter. The user must be authenticated as a CMS account linked to the specified content owner and onBehalfOfContentOwner must be provided.
-  regionCode: string, The regionCode parameter instructs the API to return search results for the specified country. The parameter value is an ISO 3166-1 alpha-2 country code.
-  type: string, The type parameter restricts a search query to only retrieve a particular type of resource.
-  topicId: string, The topicId parameter indicates that the API response should only contain resources associated with the specified topic. The value identifies a Freebase topic ID.
-  publishedBefore: string, The publishedBefore parameter indicates that the API response should only contain resources created before the specified time. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).
-  videoDimension: string, The videoDimension parameter lets you restrict a search to only retrieve 2D or 3D videos.
-    Allowed values
-      2d - Restrict search results to exclude 3D videos.
-      3d - Restrict search results to only include 3D videos.
-      any - Include both 3D and non-3D videos in returned results. This is the default value.
-  videoLicense: string, The videoLicense parameter filters search results to only include videos with a particular license. YouTube lets video uploaders choose to attach either the Creative Commons license or the standard YouTube license to each of their videos.
-    Allowed values
-      any - Return all videos, regardless of which license they have, that match the query parameters.
-      creativeCommon - Only return videos that have a Creative Commons license. Users can reuse videos with this license in other videos that they create. Learn more.
-      youtube - Only return videos that have the standard YouTube license.
-  maxResults: integer, USE_DESCRIPTION --- channels:list:maxResults
-  videoType: string, The videoType parameter lets you restrict a search to a particular type of videos.
-    Allowed values
-      any - Return all videos.
-      episode - Only retrieve episodes of shows.
-      movie - Only retrieve movies.
-  videoDefinition: string, The videoDefinition parameter lets you restrict a search to only include either high definition (HD) or standard definition (SD) videos. HD videos are available for playback in at least 720p, though higher resolutions, like 1080p, might also be available.
-    Allowed values
-      any - Return all videos, regardless of their resolution.
-      high - Only retrieve HD videos.
-      standard - Only retrieve videos in standard definition.
-  pageToken: string, USE_DESCRIPTION --- channels:list:pageToken
-  relatedToVideoId: string, The relatedToVideoId parameter retrieves a list of videos that are related to the video that the parameter value identifies. The parameter value must be set to a YouTube video ID and, if you are using this parameter, the type parameter must be set to video.
-  videoDuration: string, The videoDuration parameter filters video search results based on their duration.
-    Allowed values
-      any - Do not filter video search results based on their duration. This is the default value.
-      long - Only include videos longer than 20 minutes.
-      medium - Only include videos that are between four and 20 minutes long (inclusive).
-      short - Only include videos that are less than four minutes long.
-  forMine: boolean, The forMine parameter restricts the search to only retrieve videos owned by the authenticated user.
-  q: string, The q parameter specifies the query term to search for.
-  safeSearch: string, The safeSearch parameter indicates whether the search results should include restricted content as well as standard content.
-    Allowed values
-      moderate - YouTube will filter some content from search results and, at the least, will filter content that is restricted in your locale. Based on their content, search results could be removed from search results or demoted in search results. Note: The default value for the safeSearch parameter is moderate.
-      none - YouTube will not perform any filtering on the search result set.
-      strict - YouTube will try to exclude all restricted content from the search result set. Based on their content, search results could be removed from search results or demoted in search results.
-  videoEmbeddable: string, The videoEmbeddable parameter lets you to restrict a search to only videos that can be embedded into a webpage.
-    Allowed values
-      any - Return all videos, embeddable or not.
-      true - Only retrieve embeddable videos.
-  videoCategoryId: string, The videoCategoryId parameter filters video search results based on their category.
-  order: string, The order parameter specifies the method that will be used to order resources in the API response.
-    Allowed values
-      date - Resources are sorted in reverse chronological order based on the date they were created.
-      rating - Resources are sorted from highest to lowest rating.
-      relevance - Resources are sorted based on their relevance to the search query. This is the default value for this parameter.
-      title - Resources are sorted based on their title.
-      videoCount - Channels are sorted from highest to lowest number of video uploaded.
-      viewCount - Resources are sorted from highest to lowest number of views.
-
-Returns:
-  An object of the form:
-
-    { # A paginated list of search results returned as the response to a youtube.search.list call.
-    "eventId": "A String", # Serialized EventId of the request which produced this response.
-    "nextPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
-    "kind": "youtube#searchListResponse", # The type of the API response. For this operation, the value will be youtube#searchListResponse.
-    "visitorId": "A String", # The visitorId identifies the visitor.
-    "items": [ # A list of results that match the search criteria.
-      { # A search result contains information about a YouTube video, channel, or playlist that matches the search parameters specified in an API request. While a search result points to a uniquely identifiable resource, like a video, it does not have its own persistent data.
-        "snippet": { # Basic details about a search result, including title, description and thumbnails of the item referenced by the search result. # The snippet object contains basic details about a search result, such as its title or description. For example, if the search result is a video, then the title will be the video's title and the description will be the video's description.
-          "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the search result. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-            "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-              "url": "A String", # The thumbnail image's URL.
-              "width": 42, # (Optional) Width of the thumbnail image.
-              "height": 42, # (Optional) Height of the thumbnail image.
-            },
-            "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-              "url": "A String", # The thumbnail image's URL.
-              "width": 42, # (Optional) Width of the thumbnail image.
-              "height": 42, # (Optional) Height of the thumbnail image.
-            },
-            "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-              "url": "A String", # The thumbnail image's URL.
-              "width": 42, # (Optional) Width of the thumbnail image.
-              "height": 42, # (Optional) Height of the thumbnail image.
-            },
-            "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-              "url": "A String", # The thumbnail image's URL.
-              "width": 42, # (Optional) Width of the thumbnail image.
-              "height": 42, # (Optional) Height of the thumbnail image.
-            },
-            "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-              "url": "A String", # The thumbnail image's URL.
-              "width": 42, # (Optional) Width of the thumbnail image.
-              "height": 42, # (Optional) Height of the thumbnail image.
-            },
-          },
-          "title": "A String", # The title of the search result.
-          "channelId": "A String", # The value that YouTube uses to uniquely identify the channel that published the resource that the search result identifies.
-          "publishedAt": "A String", # The creation date and time of the resource that the search result identifies. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-          "channelTitle": "A String", # The title of the channel that published the resource that the search result identifies.
-          "description": "A String", # A description of the search result.
-        },
-        "kind": "youtube#searchResult", # The kind, fixed to "youtube#searchResult".
-        "etag": "A String", # Etag of this resource.
-        "id": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information that can be used to uniquely identify the resource that matches the search request.
-          "kind": "A String", # The type of the API resource.
-          "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-          "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-          "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-        },
-      },
-    ],
-    "etag": "A String", # The ETag for the response.
-    "prevPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
-    "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page. # The pageInfo object encapsulates paging information for the search result set.
-      "totalResults": 42, # The total number of results in the result set.
-      "resultsPerPage": 42, # The number of results included in the API response.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.subscriptions.html b/docs/dyn/youtube_v3.subscriptions.html
deleted file mode 100644
index 68f9232..0000000
--- a/docs/dyn/youtube_v3.subscriptions.html
+++ /dev/null
@@ -1,417 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.subscriptions.html">subscriptions</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(id)</a></code></p>
-<p class="firstline">Deletes a subscription.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(part=None, body)</a></code></p>
-<p class="firstline">Adds a subscription for the authenticated user's channel.</p>
-<p class="toc_element">
-  <code><a href="#list">list(part=None, pageToken=None, id=None, channelId=None, mine=None, maxResults=None, forChannelId=None, mySubscribers=None, order=None)</a></code></p>
-<p class="firstline">Returns subscription resources that match the API request criteria.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(id)</code>
-  <pre>Deletes a subscription.
-
-Args:
-  id: string, The id parameter specifies the YouTube subscription ID for the resource that is being deleted. In a subscription resource, the id property specifies the YouTube subscription ID. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(part=None, body)</code>
-  <pre>Adds a subscription for the authenticated user's channel.
-
-Args:
-  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
-
-The part names that you can include in the parameter value are snippet and contentDetails. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A subscription resource contains information about a YouTube user subscription. A subscription notifies a user when new videos are added to a channel or when another user takes one of several actions on YouTube, such as uploading a video, rating a video, or commenting on a video.
-    "kind": "youtube#subscription", # The kind, fixed to "youtube#subscription".
-    "contentDetails": { # Details about the content to witch a subscription refers. # The contentDetails object contains basic statistics about the subscription.
-      "newItemCount": 42, # The number of new items in the subscription since its content was last read.
-      "activityType": "A String", # The type of activity this subscription is for (only uploads, everything).
-      "totalItemCount": 42, # The approximate number of items that the subscription points to.
-    },
-    "snippet": { # Basic details about a subscription, including title, description and thumbnails of the subscribed item. # The snippet object contains basic details about the subscription, including its title and the channel that the user subscribed to.
-      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-      },
-      "title": "A String", # The subscription's title.
-      "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information about the channel that the user subscribed to.
-        "kind": "A String", # The type of the API resource.
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-        "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-        "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-      },
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the subscriber's channel.
-      "publishedAt": "A String", # The date and time that the subscription was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "channelTitle": "A String", # Channel title for the channel that the subscription belongs to.
-      "description": "A String", # The subscription's details.
-    },
-    "etag": "A String", # Etag of this resource.
-    "subscriberSnippet": { # Basic details about a subscription's subscriber including title, description, channel ID and thumbnails. # The subscriberSnippet object contains basic details about the sbuscriber.
-      "title": "A String", # The title of the subscriber.
-      "channelId": "A String", # The channel ID of the subscriber.
-      "description": "A String", # The description of the subscriber.
-      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # Thumbnails for this subscriber.
-        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-      },
-    },
-    "id": "A String", # The ID that YouTube uses to uniquely identify the subscription.
-  }
-
-
-Returns:
-  An object of the form:
-
-    { # A subscription resource contains information about a YouTube user subscription. A subscription notifies a user when new videos are added to a channel or when another user takes one of several actions on YouTube, such as uploading a video, rating a video, or commenting on a video.
-      "kind": "youtube#subscription", # The kind, fixed to "youtube#subscription".
-      "contentDetails": { # Details about the content to witch a subscription refers. # The contentDetails object contains basic statistics about the subscription.
-        "newItemCount": 42, # The number of new items in the subscription since its content was last read.
-        "activityType": "A String", # The type of activity this subscription is for (only uploads, everything).
-        "totalItemCount": 42, # The approximate number of items that the subscription points to.
-      },
-      "snippet": { # Basic details about a subscription, including title, description and thumbnails of the subscribed item. # The snippet object contains basic details about the subscription, including its title and the channel that the user subscribed to.
-        "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-          "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-        },
-        "title": "A String", # The subscription's title.
-        "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information about the channel that the user subscribed to.
-          "kind": "A String", # The type of the API resource.
-          "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-          "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-          "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-        },
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the subscriber's channel.
-        "publishedAt": "A String", # The date and time that the subscription was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "channelTitle": "A String", # Channel title for the channel that the subscription belongs to.
-        "description": "A String", # The subscription's details.
-      },
-      "etag": "A String", # Etag of this resource.
-      "subscriberSnippet": { # Basic details about a subscription's subscriber including title, description, channel ID and thumbnails. # The subscriberSnippet object contains basic details about the sbuscriber.
-        "title": "A String", # The title of the subscriber.
-        "channelId": "A String", # The channel ID of the subscriber.
-        "description": "A String", # The description of the subscriber.
-        "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # Thumbnails for this subscriber.
-          "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-        },
-      },
-      "id": "A String", # The ID that YouTube uses to uniquely identify the subscription.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(part=None, pageToken=None, id=None, channelId=None, mine=None, maxResults=None, forChannelId=None, mySubscribers=None, order=None)</code>
-  <pre>Returns subscription resources that match the API request criteria.
-
-Args:
-  part: string, The part parameter specifies a comma-separated list of one or more subscription resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, and contentDetails.
-
-If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a subscription resource, the snippet property contains other properties, such as a display title for the subscription. If you set part=snippet, the API response will also contain all of those nested properties. (required)
-  pageToken: string, USE_DESCRIPTION --- channels:list:pageToken
-  id: string, The id parameter specifies a comma-separated list of the YouTube subscription ID(s) for the resource(s) that are being retrieved. In a subscription resource, the id property specifies the YouTube subscription ID.
-  channelId: string, The channelId parameter specifies a YouTube channel ID. The API will only return that channel's subscriptions.
-  mine: boolean, Set this parameter's value to true to retrieve a feed of the authenticated user's subscriptions.
-  maxResults: integer, USE_DESCRIPTION --- channels:list:maxResults
-  forChannelId: string, The forChannelId parameter specifies a comma-separated list of channel IDs. The API response will then only contain subscriptions matching those channels.
-  mySubscribers: boolean, Set this parameter's value to true to retrieve a feed of the subscribers of the authenticated user.
-  order: string, The order parameter specifies the method that will be used to sort resources in the API response.
-    Allowed values
-      alphabetical - Sort alphabetically.
-      relevance - Sort by relevance.
-      unread - Sort by order of activity.
-
-Returns:
-  An object of the form:
-
-    { # A paginated list of subscriptions returned as the response to a youtube.subscriptions.list call.
-    "eventId": "A String", # Serialized EventId of the request which produced this response.
-    "nextPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
-    "kind": "youtube#subscriptionListResponse", # The type of the API response. For this operation, the value will be youtube#subscriptionListResponse.
-    "visitorId": "A String", # The visitorId identifies the visitor.
-    "items": [ # A list of subscriptions that match the request criteria.
-      { # A subscription resource contains information about a YouTube user subscription. A subscription notifies a user when new videos are added to a channel or when another user takes one of several actions on YouTube, such as uploading a video, rating a video, or commenting on a video.
-          "kind": "youtube#subscription", # The kind, fixed to "youtube#subscription".
-          "contentDetails": { # Details about the content to witch a subscription refers. # The contentDetails object contains basic statistics about the subscription.
-            "newItemCount": 42, # The number of new items in the subscription since its content was last read.
-            "activityType": "A String", # The type of activity this subscription is for (only uploads, everything).
-            "totalItemCount": 42, # The approximate number of items that the subscription points to.
-          },
-          "snippet": { # Basic details about a subscription, including title, description and thumbnails of the subscribed item. # The snippet object contains basic details about the subscription, including its title and the channel that the user subscribed to.
-            "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-              "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-            },
-            "title": "A String", # The subscription's title.
-            "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information about the channel that the user subscribed to.
-              "kind": "A String", # The type of the API resource.
-              "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
-              "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
-              "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
-            },
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the subscriber's channel.
-            "publishedAt": "A String", # The date and time that the subscription was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-            "channelTitle": "A String", # Channel title for the channel that the subscription belongs to.
-            "description": "A String", # The subscription's details.
-          },
-          "etag": "A String", # Etag of this resource.
-          "subscriberSnippet": { # Basic details about a subscription's subscriber including title, description, channel ID and thumbnails. # The subscriberSnippet object contains basic details about the sbuscriber.
-            "title": "A String", # The title of the subscriber.
-            "channelId": "A String", # The channel ID of the subscriber.
-            "description": "A String", # The description of the subscriber.
-            "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # Thumbnails for this subscriber.
-              "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-            },
-          },
-          "id": "A String", # The ID that YouTube uses to uniquely identify the subscription.
-        },
-    ],
-    "etag": "A String", # The ETag of the response.
-    "prevPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
-    "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page. # The pageInfo object encapsulates paging information for the result set.
-      "totalResults": 42, # The total number of results in the result set.
-      "resultsPerPage": 42, # The number of results included in the API response.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.thumbnails.html b/docs/dyn/youtube_v3.thumbnails.html
deleted file mode 100644
index 906f7ed..0000000
--- a/docs/dyn/youtube_v3.thumbnails.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.thumbnails.html">thumbnails</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#set">set(videoId, media_body=None)</a></code></p>
-<p class="firstline">Uploads a custom video thumbnail to YouTube and sets it for a video.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="set">set(videoId, media_body=None)</code>
-  <pre>Uploads a custom video thumbnail to YouTube and sets it for a video.
-
-Args:
-  videoId: string, The videoId parameter specifies a YouTube video ID for which the custom video thumbnail is being provided. (required)
-  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
-
-Returns:
-  An object of the form:
-
-    { # A list of thumbnails returned as the response to a thumbnails.set call.
-    "items": [ # A list of thumbnails.
-      { # Internal representation of thumbnails for a YouTube resource.
-        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-      },
-    ],
-    "kind": "youtube#thumbnailListResponse", # The type of the API response. For this operation, the value will be youtube#thumbnailListResponse.
-    "etag": "A String", # The ETag of the response.
-    "visitorId": "A String", # The visitorId identifies the visitor.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.videoCategories.html b/docs/dyn/youtube_v3.videoCategories.html
deleted file mode 100644
index bdaa210..0000000
--- a/docs/dyn/youtube_v3.videoCategories.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.videoCategories.html">videoCategories</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#list">list(part, regionCode=None, hl=None, id=None)</a></code></p>
-<p class="firstline">Returns a list of categories that can be associated with YouTube videos.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="list">list(part, regionCode=None, hl=None, id=None)</code>
-  <pre>Returns a list of categories that can be associated with YouTube videos.
-
-Args:
-  part: string, The part parameter specifies the videoCategory resource parts that the API response will include. Supported values are id and snippet. (required)
-  regionCode: string, The regionCode parameter instructs the API to return the list of video categories available in the specified country. The parameter value is an ISO 3166-1 alpha-2 country code.
-  hl: string, The hl parameter specifies the language that should be used for text values in the API response.
-  id: string, The id parameter specifies a comma-separated list of video category IDs for the resources that you are retrieving.
-
-Returns:
-  An object of the form:
-
-    { # A paginated list of video categories returned as the response to a youtube.videoCategory.list call.
-    "eventId": "A String", # Serialized EventId of the request which produced this response.
-    "items": [ # A list of video categories that can be associated with YouTube videos. In this map, the video category ID is the map key, and its value is the corresponding videoCategory resource.
-      { # A videoCategory resource identifies a category that has been or could be associated with uploaded videos.
-        "snippet": { # Basic details about a video category, such as its localized title. # The snippet object contains basic details about the video category, including its title.
-          "channelId": "UCBR8-60-B28hp2BmDPdntcQ", # The YouTube channel that created the video category.
-          "title": "A String", # The video category's title.
-        },
-        "kind": "youtube#videoCategory", # The kind, fixed to "youtube#videoCategory".
-        "etag": "A String", # Etag of this resource.
-        "id": "A String", # The ID that YouTube uses to uniquely identify the video category.
-      },
-    ],
-    "kind": "youtube#videoCategoryListResponse", # The type of the API response. For this operation, the value will be youtube#videoCategoryListResponse.
-    "etag": "A String", # The ETag of the response.
-    "visitorId": "A String", # The visitorId identifies the visitor.
-  }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.videos.html b/docs/dyn/youtube_v3.videos.html
deleted file mode 100644
index 3b8149d..0000000
--- a/docs/dyn/youtube_v3.videos.html
+++ /dev/null
@@ -1,1362 +0,0 @@
-<html><body>
-<style>
-
-body, h1, h2, h3, div, span, p, pre, a {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font-weight: inherit;
-  font-style: inherit;
-  font-size: 100%;
-  font-family: inherit;
-  vertical-align: baseline;
-}
-
-body {
-  font-size: 13px;
-  padding: 1em;
-}
-
-h1 {
-  font-size: 26px;
-  margin-bottom: 1em;
-}
-
-h2 {
-  font-size: 24px;
-  margin-bottom: 1em;
-}
-
-h3 {
-  font-size: 20px;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-pre, code {
-  line-height: 1.5;
-  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
-}
-
-pre {
-  margin-top: 0.5em;
-}
-
-h1, h2, h3, p {
-  font-family: Arial, sans serif;
-}
-
-h1, h2, h3 {
-  border-bottom: solid #CCC 1px;
-}
-
-.toc_element {
-  margin-top: 0.5em;
-}
-
-.firstline {
-  margin-left: 2 em;
-}
-
-.method  {
-  margin-top: 1em;
-  border: solid 1px #CCC;
-  padding: 1em;
-  background: #EEE;
-}
-
-.details {
-  font-weight: bold;
-  font-size: 14px;
-}
-
-</style>
-
-<h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.videos.html">videos</a></h1>
-<h2>Instance Methods</h2>
-<p class="toc_element">
-  <code><a href="#delete">delete(id, onBehalfOfContentOwner=None)</a></code></p>
-<p class="firstline">Deletes a YouTube video.</p>
-<p class="toc_element">
-  <code><a href="#getRating">getRating(id, onBehalfOfContentOwner=None)</a></code></p>
-<p class="firstline">Get user ratings for videos.</p>
-<p class="toc_element">
-  <code><a href="#insert">insert(part=None, body=None, media_body=None, onBehalfOfContentOwner=None, stabilize=None, onBehalfOfContentOwnerChannel=None, autoLevels=None)</a></code></p>
-<p class="firstline">Uploads a video to YouTube and optionally sets the video's metadata.</p>
-<p class="toc_element">
-  <code><a href="#list">list(part=None, pageToken=None, onBehalfOfContentOwner=None, locale=None, chart=None, maxResults=None, videoCategoryId=None, myRating=None, id=None)</a></code></p>
-<p class="firstline">Returns a list of videos that match the API request parameters.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#rate">rate(id, rating, onBehalfOfContentOwner=None)</a></code></p>
-<p class="firstline">Like, dislike, or remove rating from a video.</p>
-<p class="toc_element">
-  <code><a href="#update">update(part=None, body, onBehalfOfContentOwner=None)</a></code></p>
-<p class="firstline">Updates a video's metadata.</p>
-<h3>Method Details</h3>
-<div class="method">
-    <code class="details" id="delete">delete(id, onBehalfOfContentOwner=None)</code>
-  <pre>Deletes a YouTube video.
-
-Args:
-  id: string, The id parameter specifies the YouTube video ID for the resource that is being deleted. In a video resource, the id property specifies the video's ID. (required)
-  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="getRating">getRating(id, onBehalfOfContentOwner=None)</code>
-  <pre>Get user ratings for videos.
-
-Args:
-  id: string, The id parameter specifies a comma-separated list of the YouTube video ID(s) for the resource(s) that are being retrieved. In a video resource, the id property specifies the video's ID. (required)
-  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
-
-Returns:
-  An object of the form:
-
-    { # A list of video ratings returned as the response to a youtube.videos.getRating call.
-    "items": [ # A list of ratings that match the request criteria.
-      { # Basic details about rating of a video.
-        "rating": "A String", # Rating of a video.
-        "videoId": "A String", # The ID that YouTube uses to uniquely identify the video.
-      },
-    ],
-    "kind": "youtube#videoGetRatingResponse", # The type of the API response. For this operation, the value will be youtube#videoGetRatingResponse.
-    "etag": "A String", # The ETag of the response.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(part=None, body=None, media_body=None, onBehalfOfContentOwner=None, stabilize=None, onBehalfOfContentOwnerChannel=None, autoLevels=None)</code>
-  <pre>Uploads a video to YouTube and optionally sets the video's metadata.
-
-Args:
-  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
-
-The part names that you can include in the parameter value are snippet, contentDetails, player, statistics, status, and topicDetails. However, not all of those parts contain properties that can be set when setting or updating a video's metadata. For example, the statistics object encapsulates statistics that YouTube calculates for a video and does not contain values that you can set or modify. If the parameter value specifies a part that does not contain mutable values, that part will still be included in the API response. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # A video resource represents a YouTube video.
-    "status": { # Basic details about a video category, such as its localized title. # The status object contains information about the video's uploading, processing, and privacy statuses.
-      "license": "A String", # The video's license.
-      "embeddable": True or False, # This value indicates if the video can be embedded on another website.
-      "privacyStatus": "A String", # The video's privacy status.
-      "publicStatsViewable": True or False, # This value indicates if the extended video statistics on the watch page can be viewed by everyone. Note that the view count, likes, etc will still be visible if this is disabled.
-      "uploadStatus": "A String", # The status of the uploaded video.
-      "rejectionReason": "A String", # This value explains why YouTube rejected an uploaded video. This property is only present if the uploadStatus property indicates that the upload was rejected.
-      "failureReason": "A String", # This value explains why a video failed to upload. This property is only present if the uploadStatus property indicates that the upload failed.
-    },
-    "snippet": { # Basic details about a video, including title, description, uploader, thumbnails and category. # The snippet object contains basic details about the video, such as its title, description, and category.
-      "description": "A String", # The video's description.
-      "tags": [ # A list of keyword tags associated with the video. Tags may contain spaces. This field is only visible to the video's uploader.
-        "A String",
-      ],
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that the video was uploaded to.
-      "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "channelTitle": "A String", # Channel title for the channel that the video belongs to.
-      "title": "A String", # The video's title.
-      "categoryId": "A String", # The YouTube video category associated with the video.
-      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-      },
-    },
-    "kind": "youtube#video", # The kind, fixed to "youtube#video".
-    "statistics": { # Statistics about the video, such as the number of times the video was viewed or liked. # The statistics object contains statistics about the video.
-      "commentCount": "A String", # The number of comments for the video.
-      "viewCount": "A String", # The number of times the video has been viewed.
-      "favoriteCount": "A String", # The number of users who currently have the video marked as a favorite video.
-      "dislikeCount": "A String", # The number of users who have indicated that they disliked the video by giving it a negative rating.
-      "likeCount": "A String", # The number of users who have indicated that they liked the video by giving it a positive rating.
-    },
-    "topicDetails": { # Freebase topic information related to the video. # The topicDetails object encapsulates information about Freebase topics associated with the video.
-      "topicIds": [ # A list of Freebase topic IDs that are centrally associated with the video. These are topics that are centrally featured in the video, and it can be said that the video is mainly about each of these. You can retrieve information about each topic using the Freebase Topic API.
-        "A String",
-      ],
-      "relevantTopicIds": [ # Similar to topic_id, except that these topics are merely relevant to the video. These are topics that may be mentioned in, or appear in the video. You can retrieve information about each topic using Freebase Topic API.
-        "A String",
-      ],
-    },
-    "monetizationDetails": { # Details about monetization of a YouTube Video. # The monetizationDetails object encapsulates information about the monetization status of the video.
-      "access": { # Rights management policy for YouTube resources. # The value of access indicates whether the video can be monetized or not.
-        "exception": [ # A list of region codes that identify countries where the default policy do not apply.
-          "A String",
-        ],
-        "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
-      },
-    },
-    "contentDetails": { # Details about the content of a YouTube Video. # The contentDetails object contains information about the video content, including the length of the video and its aspect ratio.
-      "definition": "A String", # The value of definition indicates whether the video is available in high definition or only in standard definition.
-      "countryRestriction": { # Rights management policy for YouTube resources. # The countryRestriction object contains information about the countries where a video is (or is not) viewable.
-        "exception": [ # A list of region codes that identify countries where the default policy do not apply.
-          "A String",
-        ],
-        "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
-      },
-      "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. # Specifies the ratings that the video received under various rating schemes.
-        "ytRating": "A String", # Internal YouTube rating.
-        "russiaRating": "A String", # Rating system in Russia
-        "tvpgRating": "A String", # TV Parental Guidelines rating of the content.
-        "cbfcRating": "A String", # Rating system in India - Central Board of Film Certification
-        "acbRating": "A String", # Rating system in Australia - Australian Classification Board
-        "fskRating": "A String", # Rating system in Germany - Voluntary Self Regulation of the Movie Industry
-        "eirinRating": "A String", # Rating system in Japan - Eiga Rinri Kanri Iinkai
-        "bbfcRating": "A String", # British Board of Film Classification
-        "kmrbRating": "A String", # Rating system in South Korea - Korea Media Rating Board
-        "mpaaRating": "A String", # Motion Picture Association of America rating for the content.
-        "icaaRating": "A String", # Rating system in Spain - Instituto de Cinematografia y de las Artes Audiovisuales
-        "fmocRating": "A String", # Rating system in France - French Minister of Culture
-        "chvrsRating": "A String", # Canadian Home Video Rating System
-        "rtcRating": "A String", # Rating system in Mexico - General Directorate of Radio, Television and Cinematography
-        "djctqRating": "A String", # Rating system in Brazil - Department of Justice, Rating, Titles and Qualification
-        "oflcRating": "A String", # Rating system in New Zealand - Office of Film and Literature Classification
-      },
-      "caption": "A String", # The value of captions indicates whether the video has captions or not.
-      "regionRestriction": { # DEPRECATED Region restriction of the video. # The regionRestriction object contains information about the countries where a video is (or is not) viewable. The object will contain either the contentDetails.regionRestriction.allowed property or the contentDetails.regionRestriction.blocked property.
-        "blocked": [ # A list of region codes that identify countries where the video is blocked. If this property is present and a country is not listed in its value, then the video is viewable in that country. If this property is present and contains an empty list, the video is viewable in all countries.
-          "A String",
-        ],
-        "allowed": [ # A list of region codes that identify countries where the video is viewable. If this property is present and a country is not listed in its value, then the video is blocked from appearing in that country. If this property is present and contains an empty list, the video is blocked in all countries.
-          "A String",
-        ],
-      },
-      "duration": "A String", # The length of the video. The tag value is an ISO 8601 duration in the format PT#M#S, in which the letters PT indicate that the value specifies a period of time, and the letters M and S refer to length in minutes and seconds, respectively. The # characters preceding the M and S letters are both integers that specify the number of minutes (or seconds) of the video. For example, a value of PT15M51S indicates that the video is 15 minutes and 51 seconds long.
-      "licensedContent": True or False, # The value of is_license_content indicates whether the video is licensed content.
-      "dimension": "A String", # The value of dimension indicates whether the video is available in 3D or in 2D.
-    },
-    "ageGating": { # Age restriction details related to a video.
-      "restricted": True or False, # Age-restricted trailers. For redband trailers and adult-rated video-games. Only users aged 18+ can view the content. The the field is true the content is restricted to viewers aged 18+. Otherwise The field won't be present.
-      "alcoholContent": True or False, # Indicates whether or not the video has alcoholic beverage content. Only users of legal purchasing age in a particular country, as identified by ICAP, can view the content.
-      "videoGameRating": "A String", # Video game rating, if any.
-    },
-    "fileDetails": { # Describes original video file properties, including technical details about audio and video streams, but also metadata information like content length, digitization time, or geotagging information. # The fileDetails object encapsulates information about the video file that was uploaded to YouTube, including the file's resolution, duration, audio and video codecs, stream bitrates, and more. This data can only be retrieved by the video owner.
-      "bitrateBps": "A String", # The uploaded video file's combined (video and audio) bitrate in bits per second.
-      "container": "A String", # The uploaded video file's container format.
-      "recordingLocation": { # Geographical coordinates of a point, in WGS84. # Geographic coordinates that identify the place where the uploaded video was recorded. Coordinates are defined using WGS 84.
-        "latitude": 3.14, # Latitude in degrees.
-        "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
-        "longitude": 3.14, # Longitude in degrees.
-      },
-      "fileType": "A String", # The uploaded file's type as detected by YouTube's video processing engine. Currently, YouTube only processes video files, but this field is present whether a video file or another type of file was uploaded.
-      "creationTime": "A String", # The date and time when the uploaded video file was created. The value is specified in ISO 8601 format. Currently, the following ISO 8601 formats are supported:
-          # - Date only: YYYY-MM-DD
-          # - Naive time: YYYY-MM-DDTHH:MM:SS
-          # - Time with timezone: YYYY-MM-DDTHH:MM:SS+HH:MM
-      "durationMs": "A String", # The length of the uploaded video in milliseconds.
-      "fileName": "A String", # The uploaded file's name. This field is present whether a video file or another type of file was uploaded.
-      "fileSize": "A String", # The uploaded file's size in bytes. This field is present whether a video file or another type of file was uploaded.
-      "videoStreams": [ # A list of video streams contained in the uploaded video file. Each item in the list contains detailed metadata about a video stream.
-        { # Information about a video stream.
-          "bitrateBps": "A String", # The video stream's bitrate, in bits per second.
-          "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
-          "codec": "A String", # The video codec that the stream uses.
-          "widthPixels": 42, # The encoded video content's width in pixels. You can calculate the video's encoding aspect ratio as width_pixels / height_pixels.
-          "heightPixels": 42, # The encoded video content's height in pixels.
-          "aspectRatio": 3.14, # The video content's display aspect ratio, which specifies the aspect ratio in which the video should be displayed.
-          "rotation": "A String", # The amount that YouTube needs to rotate the original source content to properly display the video.
-          "frameRateFps": 3.14, # The video stream's frame rate, in frames per second.
-        },
-      ],
-      "audioStreams": [ # A list of audio streams contained in the uploaded video file. Each item in the list contains detailed metadata about an audio stream.
-        { # Information about an audio stream.
-          "bitrateBps": "A String", # The audio stream's bitrate, in bits per second.
-          "codec": "A String", # The audio codec that the stream uses.
-          "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
-          "channelCount": 42, # The number of audio channels that the stream contains.
-        },
-      ],
-    },
-    "processingDetails": { # Describes processing status and progress and availability of some other Video resource parts. # The processingProgress object encapsulates information about YouTube's progress in processing the uploaded video file. The properties in the object identify the current processing status and an estimate of the time remaining until YouTube finishes processing the video. This part also indicates whether different types of data or content, such as file details or thumbnail images, are available for the video.
-        # 
-        # The processingProgress object is designed to be polled so that the video uploaded can track the progress that YouTube has made in processing the uploaded video file. This data can only be retrieved by the video owner.
-      "fileDetailsAvailability": "A String", # This value indicates whether file details are available for the uploaded video. You can retrieve a video's file details by requesting the fileDetails part in your videos.list() request.
-      "editorSuggestionsAvailability": "A String", # This value indicates whether video editing suggestions, which might improve video quality or the playback experience, are available for the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
-      "processingStatus": "A String", # The video's processing status. This value indicates whether YouTube was able to process the video or if the video is still being processed.
-      "processingIssuesAvailability": "A String", # This value indicates whether the video processing engine has generated suggestions that might improve YouTube's ability to process the the video, warnings that explain video processing problems, or errors that cause video processing problems. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
-      "processingFailureReason": "A String", # The reason that YouTube failed to process the video. This property will only have a value if the processingStatus property's value is failed.
-      "thumbnailsAvailability": "A String", # This value indicates whether thumbnail images have been generated for the video.
-      "processingProgress": { # Video processing progress and completion time estimate. # The processingProgress object contains information about the progress YouTube has made in processing the video. The values are really only relevant if the video's processing status is processing.
-        "timeLeftMs": "A String", # An estimate of the amount of time, in millseconds, that YouTube needs to finish processing the video.
-        "partsProcessed": "A String", # The number of parts of the video that YouTube has already processed. You can estimate the percentage of the video that YouTube has already processed by calculating:
-            # 100 * parts_processed / parts_total
-            #
-            # Note that since the estimated number of parts could increase without a corresponding increase in the number of parts that have already been processed, it is possible that the calculated progress could periodically decrease while YouTube processes a video.
-        "partsTotal": "A String", # An estimate of the total number of parts that need to be processed for the video. The number may be updated with more precise estimates while YouTube processes the video.
-      },
-      "tagSuggestionsAvailability": "A String", # This value indicates whether keyword (tag) suggestions are available for the video. Tags can be added to a video's metadata to make it easier for other users to find the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
-    },
-    "player": { # Player to be used for a video playback. # The player object contains information that you would use to play the video in an embedded player.
-      "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the video.
-    },
-    "etag": "A String", # Etag of this resource.
-    "projectDetails": { # Project specific details about the content of a YouTube Video. # The projectDetails object contains information about the project specific video metadata.
-      "tags": [ # A list of project tags associated with the video during the upload.
-        "A String",
-      ],
-    },
-    "recordingDetails": { # Recording information associated with the video. # The recordingDetails object encapsulates information about the location, date and address where the video was recorded.
-      "recordingDate": "A String", # The date and time when the video was recorded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "locationDescription": "A String", # The text description of the location where the video was recorded.
-      "location": { # Geographical coordinates of a point, in WGS84. # The geolocation information associated with the video.
-        "latitude": 3.14, # Latitude in degrees.
-        "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
-        "longitude": 3.14, # Longitude in degrees.
-      },
-    },
-    "suggestions": { # Specifies suggestions on how to improve video content, including encoding hints, tag suggestions, and editor suggestions. # The suggestions object encapsulates suggestions that identify opportunities to improve the video quality or the metadata for the uploaded video. This data can only be retrieved by the video owner.
-      "processingErrors": [ # A list of errors that will prevent YouTube from successfully processing the uploaded video video. These errors indicate that, regardless of the video's current processing status, eventually, that status will almost certainly be failed.
-        "A String",
-      ],
-      "tagSuggestions": [ # A list of keyword tags that could be added to the video's metadata to increase the likelihood that users will locate your video when searching or browsing on YouTube.
-        { # A single tag suggestion with it's relevance information.
-          "categoryRestricts": [ # A set of video categories for which the tag is relevant. You can use this information to display appropriate tag suggestions based on the video category that the video uploader associates with the video. By default, tag suggestions are relevant for all categories if there are no restricts defined for the keyword.
-            "A String",
-          ],
-          "tag": "A String", # The keyword tag suggested for the video.
-        },
-      ],
-      "editorSuggestions": [ # A list of video editing operations that might improve the video quality or playback experience of the uploaded video.
-        "A String",
-      ],
-      "processingWarnings": [ # A list of reasons why YouTube may have difficulty transcoding the uploaded video or that might result in an erroneous transcoding. These warnings are generated before YouTube actually processes the uploaded video file. In addition, they identify issues that are unlikely to cause the video processing to fail but that might cause problems such as sync issues, video artifacts, or a missing audio track.
-        "A String",
-      ],
-      "processingHints": [ # A list of suggestions that may improve YouTube's ability to process the video.
-        "A String",
-      ],
-    },
-    "id": "A String", # The ID that YouTube uses to uniquely identify the video.
-    "conversionPings": { # The conversionPings object encapsulates information about url pings that need to be respected by the App in different video contexts.
-      "pings": [ # Pings that the app shall fire for a video (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
-        {
-          "conversionUrl": "A String", # The url (without the schema) that the app shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D like%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA%3Bytvid%3DUrIaJUvIQDg&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping.
-          "context": "A String", # Defines the context of the ping.
-        },
-      ],
-    },
-  }
-
-  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
-  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
-  stabilize: boolean, The stabilize parameter specifies whether the video should be stabilized by YouTube.
-  onBehalfOfContentOwnerChannel: string, This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.
-
-The onBehalfOfContentOwnerChannel parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the channel specified in the parameter value. This parameter must be used in conjunction with the onBehalfOfContentOwner parameter, and the user must be authenticated using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. In addition, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.
-
-This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
-  autoLevels: boolean, The autoLevels parameter specifies whether the video should be auto-leveled by YouTube.
-
-Returns:
-  An object of the form:
-
-    { # A video resource represents a YouTube video.
-      "status": { # Basic details about a video category, such as its localized title. # The status object contains information about the video's uploading, processing, and privacy statuses.
-        "license": "A String", # The video's license.
-        "embeddable": True or False, # This value indicates if the video can be embedded on another website.
-        "privacyStatus": "A String", # The video's privacy status.
-        "publicStatsViewable": True or False, # This value indicates if the extended video statistics on the watch page can be viewed by everyone. Note that the view count, likes, etc will still be visible if this is disabled.
-        "uploadStatus": "A String", # The status of the uploaded video.
-        "rejectionReason": "A String", # This value explains why YouTube rejected an uploaded video. This property is only present if the uploadStatus property indicates that the upload was rejected.
-        "failureReason": "A String", # This value explains why a video failed to upload. This property is only present if the uploadStatus property indicates that the upload failed.
-      },
-      "snippet": { # Basic details about a video, including title, description, uploader, thumbnails and category. # The snippet object contains basic details about the video, such as its title, description, and category.
-        "description": "A String", # The video's description.
-        "tags": [ # A list of keyword tags associated with the video. Tags may contain spaces. This field is only visible to the video's uploader.
-          "A String",
-        ],
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that the video was uploaded to.
-        "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "channelTitle": "A String", # Channel title for the channel that the video belongs to.
-        "title": "A String", # The video's title.
-        "categoryId": "A String", # The YouTube video category associated with the video.
-        "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-          "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-        },
-      },
-      "kind": "youtube#video", # The kind, fixed to "youtube#video".
-      "statistics": { # Statistics about the video, such as the number of times the video was viewed or liked. # The statistics object contains statistics about the video.
-        "commentCount": "A String", # The number of comments for the video.
-        "viewCount": "A String", # The number of times the video has been viewed.
-        "favoriteCount": "A String", # The number of users who currently have the video marked as a favorite video.
-        "dislikeCount": "A String", # The number of users who have indicated that they disliked the video by giving it a negative rating.
-        "likeCount": "A String", # The number of users who have indicated that they liked the video by giving it a positive rating.
-      },
-      "topicDetails": { # Freebase topic information related to the video. # The topicDetails object encapsulates information about Freebase topics associated with the video.
-        "topicIds": [ # A list of Freebase topic IDs that are centrally associated with the video. These are topics that are centrally featured in the video, and it can be said that the video is mainly about each of these. You can retrieve information about each topic using the Freebase Topic API.
-          "A String",
-        ],
-        "relevantTopicIds": [ # Similar to topic_id, except that these topics are merely relevant to the video. These are topics that may be mentioned in, or appear in the video. You can retrieve information about each topic using Freebase Topic API.
-          "A String",
-        ],
-      },
-      "monetizationDetails": { # Details about monetization of a YouTube Video. # The monetizationDetails object encapsulates information about the monetization status of the video.
-        "access": { # Rights management policy for YouTube resources. # The value of access indicates whether the video can be monetized or not.
-          "exception": [ # A list of region codes that identify countries where the default policy do not apply.
-            "A String",
-          ],
-          "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
-        },
-      },
-      "contentDetails": { # Details about the content of a YouTube Video. # The contentDetails object contains information about the video content, including the length of the video and its aspect ratio.
-        "definition": "A String", # The value of definition indicates whether the video is available in high definition or only in standard definition.
-        "countryRestriction": { # Rights management policy for YouTube resources. # The countryRestriction object contains information about the countries where a video is (or is not) viewable.
-          "exception": [ # A list of region codes that identify countries where the default policy do not apply.
-            "A String",
-          ],
-          "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
-        },
-        "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. # Specifies the ratings that the video received under various rating schemes.
-          "ytRating": "A String", # Internal YouTube rating.
-          "russiaRating": "A String", # Rating system in Russia
-          "tvpgRating": "A String", # TV Parental Guidelines rating of the content.
-          "cbfcRating": "A String", # Rating system in India - Central Board of Film Certification
-          "acbRating": "A String", # Rating system in Australia - Australian Classification Board
-          "fskRating": "A String", # Rating system in Germany - Voluntary Self Regulation of the Movie Industry
-          "eirinRating": "A String", # Rating system in Japan - Eiga Rinri Kanri Iinkai
-          "bbfcRating": "A String", # British Board of Film Classification
-          "kmrbRating": "A String", # Rating system in South Korea - Korea Media Rating Board
-          "mpaaRating": "A String", # Motion Picture Association of America rating for the content.
-          "icaaRating": "A String", # Rating system in Spain - Instituto de Cinematografia y de las Artes Audiovisuales
-          "fmocRating": "A String", # Rating system in France - French Minister of Culture
-          "chvrsRating": "A String", # Canadian Home Video Rating System
-          "rtcRating": "A String", # Rating system in Mexico - General Directorate of Radio, Television and Cinematography
-          "djctqRating": "A String", # Rating system in Brazil - Department of Justice, Rating, Titles and Qualification
-          "oflcRating": "A String", # Rating system in New Zealand - Office of Film and Literature Classification
-        },
-        "caption": "A String", # The value of captions indicates whether the video has captions or not.
-        "regionRestriction": { # DEPRECATED Region restriction of the video. # The regionRestriction object contains information about the countries where a video is (or is not) viewable. The object will contain either the contentDetails.regionRestriction.allowed property or the contentDetails.regionRestriction.blocked property.
-          "blocked": [ # A list of region codes that identify countries where the video is blocked. If this property is present and a country is not listed in its value, then the video is viewable in that country. If this property is present and contains an empty list, the video is viewable in all countries.
-            "A String",
-          ],
-          "allowed": [ # A list of region codes that identify countries where the video is viewable. If this property is present and a country is not listed in its value, then the video is blocked from appearing in that country. If this property is present and contains an empty list, the video is blocked in all countries.
-            "A String",
-          ],
-        },
-        "duration": "A String", # The length of the video. The tag value is an ISO 8601 duration in the format PT#M#S, in which the letters PT indicate that the value specifies a period of time, and the letters M and S refer to length in minutes and seconds, respectively. The # characters preceding the M and S letters are both integers that specify the number of minutes (or seconds) of the video. For example, a value of PT15M51S indicates that the video is 15 minutes and 51 seconds long.
-        "licensedContent": True or False, # The value of is_license_content indicates whether the video is licensed content.
-        "dimension": "A String", # The value of dimension indicates whether the video is available in 3D or in 2D.
-      },
-      "ageGating": { # Age restriction details related to a video.
-        "restricted": True or False, # Age-restricted trailers. For redband trailers and adult-rated video-games. Only users aged 18+ can view the content. The the field is true the content is restricted to viewers aged 18+. Otherwise The field won't be present.
-        "alcoholContent": True or False, # Indicates whether or not the video has alcoholic beverage content. Only users of legal purchasing age in a particular country, as identified by ICAP, can view the content.
-        "videoGameRating": "A String", # Video game rating, if any.
-      },
-      "fileDetails": { # Describes original video file properties, including technical details about audio and video streams, but also metadata information like content length, digitization time, or geotagging information. # The fileDetails object encapsulates information about the video file that was uploaded to YouTube, including the file's resolution, duration, audio and video codecs, stream bitrates, and more. This data can only be retrieved by the video owner.
-        "bitrateBps": "A String", # The uploaded video file's combined (video and audio) bitrate in bits per second.
-        "container": "A String", # The uploaded video file's container format.
-        "recordingLocation": { # Geographical coordinates of a point, in WGS84. # Geographic coordinates that identify the place where the uploaded video was recorded. Coordinates are defined using WGS 84.
-          "latitude": 3.14, # Latitude in degrees.
-          "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
-          "longitude": 3.14, # Longitude in degrees.
-        },
-        "fileType": "A String", # The uploaded file's type as detected by YouTube's video processing engine. Currently, YouTube only processes video files, but this field is present whether a video file or another type of file was uploaded.
-        "creationTime": "A String", # The date and time when the uploaded video file was created. The value is specified in ISO 8601 format. Currently, the following ISO 8601 formats are supported:
-            # - Date only: YYYY-MM-DD
-            # - Naive time: YYYY-MM-DDTHH:MM:SS
-            # - Time with timezone: YYYY-MM-DDTHH:MM:SS+HH:MM
-        "durationMs": "A String", # The length of the uploaded video in milliseconds.
-        "fileName": "A String", # The uploaded file's name. This field is present whether a video file or another type of file was uploaded.
-        "fileSize": "A String", # The uploaded file's size in bytes. This field is present whether a video file or another type of file was uploaded.
-        "videoStreams": [ # A list of video streams contained in the uploaded video file. Each item in the list contains detailed metadata about a video stream.
-          { # Information about a video stream.
-            "bitrateBps": "A String", # The video stream's bitrate, in bits per second.
-            "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
-            "codec": "A String", # The video codec that the stream uses.
-            "widthPixels": 42, # The encoded video content's width in pixels. You can calculate the video's encoding aspect ratio as width_pixels / height_pixels.
-            "heightPixels": 42, # The encoded video content's height in pixels.
-            "aspectRatio": 3.14, # The video content's display aspect ratio, which specifies the aspect ratio in which the video should be displayed.
-            "rotation": "A String", # The amount that YouTube needs to rotate the original source content to properly display the video.
-            "frameRateFps": 3.14, # The video stream's frame rate, in frames per second.
-          },
-        ],
-        "audioStreams": [ # A list of audio streams contained in the uploaded video file. Each item in the list contains detailed metadata about an audio stream.
-          { # Information about an audio stream.
-            "bitrateBps": "A String", # The audio stream's bitrate, in bits per second.
-            "codec": "A String", # The audio codec that the stream uses.
-            "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
-            "channelCount": 42, # The number of audio channels that the stream contains.
-          },
-        ],
-      },
-      "processingDetails": { # Describes processing status and progress and availability of some other Video resource parts. # The processingProgress object encapsulates information about YouTube's progress in processing the uploaded video file. The properties in the object identify the current processing status and an estimate of the time remaining until YouTube finishes processing the video. This part also indicates whether different types of data or content, such as file details or thumbnail images, are available for the video.
-          #
-          # The processingProgress object is designed to be polled so that the video uploaded can track the progress that YouTube has made in processing the uploaded video file. This data can only be retrieved by the video owner.
-        "fileDetailsAvailability": "A String", # This value indicates whether file details are available for the uploaded video. You can retrieve a video's file details by requesting the fileDetails part in your videos.list() request.
-        "editorSuggestionsAvailability": "A String", # This value indicates whether video editing suggestions, which might improve video quality or the playback experience, are available for the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
-        "processingStatus": "A String", # The video's processing status. This value indicates whether YouTube was able to process the video or if the video is still being processed.
-        "processingIssuesAvailability": "A String", # This value indicates whether the video processing engine has generated suggestions that might improve YouTube's ability to process the the video, warnings that explain video processing problems, or errors that cause video processing problems. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
-        "processingFailureReason": "A String", # The reason that YouTube failed to process the video. This property will only have a value if the processingStatus property's value is failed.
-        "thumbnailsAvailability": "A String", # This value indicates whether thumbnail images have been generated for the video.
-        "processingProgress": { # Video processing progress and completion time estimate. # The processingProgress object contains information about the progress YouTube has made in processing the video. The values are really only relevant if the video's processing status is processing.
-          "timeLeftMs": "A String", # An estimate of the amount of time, in millseconds, that YouTube needs to finish processing the video.
-          "partsProcessed": "A String", # The number of parts of the video that YouTube has already processed. You can estimate the percentage of the video that YouTube has already processed by calculating:
-              # 100 * parts_processed / parts_total
-              #
-              # Note that since the estimated number of parts could increase without a corresponding increase in the number of parts that have already been processed, it is possible that the calculated progress could periodically decrease while YouTube processes a video.
-          "partsTotal": "A String", # An estimate of the total number of parts that need to be processed for the video. The number may be updated with more precise estimates while YouTube processes the video.
-        },
-        "tagSuggestionsAvailability": "A String", # This value indicates whether keyword (tag) suggestions are available for the video. Tags can be added to a video's metadata to make it easier for other users to find the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
-      },
-      "player": { # Player to be used for a video playback. # The player object contains information that you would use to play the video in an embedded player.
-        "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the video.
-      },
-      "etag": "A String", # Etag of this resource.
-      "projectDetails": { # Project specific details about the content of a YouTube Video. # The projectDetails object contains information about the project specific video metadata.
-        "tags": [ # A list of project tags associated with the video during the upload.
-          "A String",
-        ],
-      },
-      "recordingDetails": { # Recording information associated with the video. # The recordingDetails object encapsulates information about the location, date and address where the video was recorded.
-        "recordingDate": "A String", # The date and time when the video was recorded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "locationDescription": "A String", # The text description of the location where the video was recorded.
-        "location": { # Geographical coordinates of a point, in WGS84. # The geolocation information associated with the video.
-          "latitude": 3.14, # Latitude in degrees.
-          "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
-          "longitude": 3.14, # Longitude in degrees.
-        },
-      },
-      "suggestions": { # Specifies suggestions on how to improve video content, including encoding hints, tag suggestions, and editor suggestions. # The suggestions object encapsulates suggestions that identify opportunities to improve the video quality or the metadata for the uploaded video. This data can only be retrieved by the video owner.
-        "processingErrors": [ # A list of errors that will prevent YouTube from successfully processing the uploaded video video. These errors indicate that, regardless of the video's current processing status, eventually, that status will almost certainly be failed.
-          "A String",
-        ],
-        "tagSuggestions": [ # A list of keyword tags that could be added to the video's metadata to increase the likelihood that users will locate your video when searching or browsing on YouTube.
-          { # A single tag suggestion with it's relevance information.
-            "categoryRestricts": [ # A set of video categories for which the tag is relevant. You can use this information to display appropriate tag suggestions based on the video category that the video uploader associates with the video. By default, tag suggestions are relevant for all categories if there are no restricts defined for the keyword.
-              "A String",
-            ],
-            "tag": "A String", # The keyword tag suggested for the video.
-          },
-        ],
-        "editorSuggestions": [ # A list of video editing operations that might improve the video quality or playback experience of the uploaded video.
-          "A String",
-        ],
-        "processingWarnings": [ # A list of reasons why YouTube may have difficulty transcoding the uploaded video or that might result in an erroneous transcoding. These warnings are generated before YouTube actually processes the uploaded video file. In addition, they identify issues that are unlikely to cause the video processing to fail but that might cause problems such as sync issues, video artifacts, or a missing audio track.
-          "A String",
-        ],
-        "processingHints": [ # A list of suggestions that may improve YouTube's ability to process the video.
-          "A String",
-        ],
-      },
-      "id": "A String", # The ID that YouTube uses to uniquely identify the video.
-      "conversionPings": { # The conversionPings object encapsulates information about url pings that need to be respected by the App in different video contexts.
-        "pings": [ # Pings that the app shall fire for a video (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
-          {
-            "conversionUrl": "A String", # The url (without the schema) that the app shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D like%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA%3Bytvid%3DUrIaJUvIQDg&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping.
-            "context": "A String", # Defines the context of the ping.
-          },
-        ],
-      },
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(part=None, pageToken=None, onBehalfOfContentOwner=None, locale=None, chart=None, maxResults=None, videoCategoryId=None, myRating=None, id=None)</code>
-  <pre>Returns a list of videos that match the API request parameters.
-
-Args:
-  part: string, The part parameter specifies a comma-separated list of one or more video resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, player, statistics, status, and topicDetails.
-
-If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a video resource, the snippet property contains the channelId, title, description, tags, and categoryId properties. As such, if you set part=snippet, the API response will contain all of those properties. (required)
-  pageToken: string, USE_DESCRIPTION --- channels:list:pageToken
-  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
-  locale: string, The locale parameter selects a video chart available in the specified locale. If using this parameter, chart must also be set. The parameter value is an BCP 47 locale. Supported locales include ar_AE, ar_DZ, ar_EG, ar_JO, ar_MA, ar_SA, ar_TN, ar_YE, cs_CZ, de_DE, el_GR, en_AU, en_BE, en_CA, en_GB, en_GH, en_IE, en_IL, en_IN, en_KE, en_NG, en_NZ, en_SG, en_UG, en_US, en_ZA, es_AR, es_CL, es_CO, es_ES, es_MX, es_PE, fil_PH, fr_FR, hu_HU, id_ID, it_IT, ja_JP, ko_KR, ms_MY, nl_NL, pl_PL, pt_BR, ru_RU, sv_SE, tr_TR, zh_HK, zh_TW
-  chart: string, Set this parameter's value to mostPopular to instruct the API to return videos belonging to the chart of most popular videos.
-    Allowed values
-      mostPopular - Returns videos belonging to most popular video chart.
-  maxResults: integer, USE_DESCRIPTION --- channels:list:maxResults
-  videoCategoryId: string, The videoCategoryId parameter selects a video chart based on the category. If using this parameter, chart must also be set.
-  myRating: string, Set this parameter's value to like or dislike to instruct the API to only return videos liked or disliked by the authenticated user.
-    Allowed values
-      dislike - Returns only videos disliked by the authenticated user.
-      like - Returns only video liked by the authenticated user.
-  id: string, The id parameter specifies a comma-separated list of the YouTube video ID(s) for the resource(s) that are being retrieved. In a video resource, the id property specifies the video's ID.
-
-Returns:
-  An object of the form:
-
-    { # A paginated list of videos returned as the response to a youtube.videos.list call.
-    "eventId": "A String", # Serialized EventId of the request which produced this response.
-    "nextPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
-    "kind": "youtube#videoListResponse", # The type of the API response. For this operation, the value will be youtube#videoListResponse.
-    "visitorId": "A String", # The visitorId identifies the visitor.
-    "items": [ # A list of videos that match the request criteria.
-      { # A video resource represents a YouTube video.
-          "status": { # Basic details about a video category, such as its localized title. # The status object contains information about the video's uploading, processing, and privacy statuses.
-            "license": "A String", # The video's license.
-            "embeddable": True or False, # This value indicates if the video can be embedded on another website.
-            "privacyStatus": "A String", # The video's privacy status.
-            "publicStatsViewable": True or False, # This value indicates if the extended video statistics on the watch page can be viewed by everyone. Note that the view count, likes, etc will still be visible if this is disabled.
-            "uploadStatus": "A String", # The status of the uploaded video.
-            "rejectionReason": "A String", # This value explains why YouTube rejected an uploaded video. This property is only present if the uploadStatus property indicates that the upload was rejected.
-            "failureReason": "A String", # This value explains why a video failed to upload. This property is only present if the uploadStatus property indicates that the upload failed.
-          },
-          "snippet": { # Basic details about a video, including title, description, uploader, thumbnails and category. # The snippet object contains basic details about the video, such as its title, description, and category.
-            "description": "A String", # The video's description.
-            "tags": [ # A list of keyword tags associated with the video. Tags may contain spaces. This field is only visible to the video's uploader.
-              "A String",
-            ],
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that the video was uploaded to.
-            "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-            "channelTitle": "A String", # Channel title for the channel that the video belongs to.
-            "title": "A String", # The video's title.
-            "categoryId": "A String", # The YouTube video category associated with the video.
-            "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-              "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-              "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-            },
-          },
-          "kind": "youtube#video", # The kind, fixed to "youtube#video".
-          "statistics": { # Statistics about the video, such as the number of times the video was viewed or liked. # The statistics object contains statistics about the video.
-            "commentCount": "A String", # The number of comments for the video.
-            "viewCount": "A String", # The number of times the video has been viewed.
-            "favoriteCount": "A String", # The number of users who currently have the video marked as a favorite video.
-            "dislikeCount": "A String", # The number of users who have indicated that they disliked the video by giving it a negative rating.
-            "likeCount": "A String", # The number of users who have indicated that they liked the video by giving it a positive rating.
-          },
-          "topicDetails": { # Freebase topic information related to the video. # The topicDetails object encapsulates information about Freebase topics associated with the video.
-            "topicIds": [ # A list of Freebase topic IDs that are centrally associated with the video. These are topics that are centrally featured in the video, and it can be said that the video is mainly about each of these. You can retrieve information about each topic using the Freebase Topic API.
-              "A String",
-            ],
-            "relevantTopicIds": [ # Similar to topic_id, except that these topics are merely relevant to the video. These are topics that may be mentioned in, or appear in the video. You can retrieve information about each topic using Freebase Topic API.
-              "A String",
-            ],
-          },
-          "monetizationDetails": { # Details about monetization of a YouTube Video. # The monetizationDetails object encapsulates information about the monetization status of the video.
-            "access": { # Rights management policy for YouTube resources. # The value of access indicates whether the video can be monetized or not.
-              "exception": [ # A list of region codes that identify countries where the default policy do not apply.
-                "A String",
-              ],
-              "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
-            },
-          },
-          "contentDetails": { # Details about the content of a YouTube Video. # The contentDetails object contains information about the video content, including the length of the video and its aspect ratio.
-            "definition": "A String", # The value of definition indicates whether the video is available in high definition or only in standard definition.
-            "countryRestriction": { # Rights management policy for YouTube resources. # The countryRestriction object contains information about the countries where a video is (or is not) viewable.
-              "exception": [ # A list of region codes that identify countries where the default policy do not apply.
-                "A String",
-              ],
-              "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
-            },
-            "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. # Specifies the ratings that the video received under various rating schemes.
-              "ytRating": "A String", # Internal YouTube rating.
-              "russiaRating": "A String", # Rating system in Russia
-              "tvpgRating": "A String", # TV Parental Guidelines rating of the content.
-              "cbfcRating": "A String", # Rating system in India - Central Board of Film Certification
-              "acbRating": "A String", # Rating system in Australia - Australian Classification Board
-              "fskRating": "A String", # Rating system in Germany - Voluntary Self Regulation of the Movie Industry
-              "eirinRating": "A String", # Rating system in Japan - Eiga Rinri Kanri Iinkai
-              "bbfcRating": "A String", # British Board of Film Classification
-              "kmrbRating": "A String", # Rating system in South Korea - Korea Media Rating Board
-              "mpaaRating": "A String", # Motion Picture Association of America rating for the content.
-              "icaaRating": "A String", # Rating system in Spain - Instituto de Cinematografia y de las Artes Audiovisuales
-              "fmocRating": "A String", # Rating system in France - French Minister of Culture
-              "chvrsRating": "A String", # Canadian Home Video Rating System
-              "rtcRating": "A String", # Rating system in Mexico - General Directorate of Radio, Television and Cinematography
-              "djctqRating": "A String", # Rating system in Brazil - Department of Justice, Rating, Titles and Qualification
-              "oflcRating": "A String", # Rating system in New Zealand - Office of Film and Literature Classification
-            },
-            "caption": "A String", # The value of captions indicates whether the video has captions or not.
-            "regionRestriction": { # DEPRECATED Region restriction of the video. # The regionRestriction object contains information about the countries where a video is (or is not) viewable. The object will contain either the contentDetails.regionRestriction.allowed property or the contentDetails.regionRestriction.blocked property.
-              "blocked": [ # A list of region codes that identify countries where the video is blocked. If this property is present and a country is not listed in its value, then the video is viewable in that country. If this property is present and contains an empty list, the video is viewable in all countries.
-                "A String",
-              ],
-              "allowed": [ # A list of region codes that identify countries where the video is viewable. If this property is present and a country is not listed in its value, then the video is blocked from appearing in that country. If this property is present and contains an empty list, the video is blocked in all countries.
-                "A String",
-              ],
-            },
-            "duration": "A String", # The length of the video. The tag value is an ISO 8601 duration in the format PT#M#S, in which the letters PT indicate that the value specifies a period of time, and the letters M and S refer to length in minutes and seconds, respectively. The # characters preceding the M and S letters are both integers that specify the number of minutes (or seconds) of the video. For example, a value of PT15M51S indicates that the video is 15 minutes and 51 seconds long.
-            "licensedContent": True or False, # The value of is_license_content indicates whether the video is licensed content.
-            "dimension": "A String", # The value of dimension indicates whether the video is available in 3D or in 2D.
-          },
-          "ageGating": { # Age restriction details related to a video.
-            "restricted": True or False, # Age-restricted trailers. For redband trailers and adult-rated video-games. Only users aged 18+ can view the content. The the field is true the content is restricted to viewers aged 18+. Otherwise The field won't be present.
-            "alcoholContent": True or False, # Indicates whether or not the video has alcoholic beverage content. Only users of legal purchasing age in a particular country, as identified by ICAP, can view the content.
-            "videoGameRating": "A String", # Video game rating, if any.
-          },
-          "fileDetails": { # Describes original video file properties, including technical details about audio and video streams, but also metadata information like content length, digitization time, or geotagging information. # The fileDetails object encapsulates information about the video file that was uploaded to YouTube, including the file's resolution, duration, audio and video codecs, stream bitrates, and more. This data can only be retrieved by the video owner.
-            "bitrateBps": "A String", # The uploaded video file's combined (video and audio) bitrate in bits per second.
-            "container": "A String", # The uploaded video file's container format.
-            "recordingLocation": { # Geographical coordinates of a point, in WGS84. # Geographic coordinates that identify the place where the uploaded video was recorded. Coordinates are defined using WGS 84.
-              "latitude": 3.14, # Latitude in degrees.
-              "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
-              "longitude": 3.14, # Longitude in degrees.
-            },
-            "fileType": "A String", # The uploaded file's type as detected by YouTube's video processing engine. Currently, YouTube only processes video files, but this field is present whether a video file or another type of file was uploaded.
-            "creationTime": "A String", # The date and time when the uploaded video file was created. The value is specified in ISO 8601 format. Currently, the following ISO 8601 formats are supported:
-                # - Date only: YYYY-MM-DD
-                # - Naive time: YYYY-MM-DDTHH:MM:SS
-                # - Time with timezone: YYYY-MM-DDTHH:MM:SS+HH:MM
-            "durationMs": "A String", # The length of the uploaded video in milliseconds.
-            "fileName": "A String", # The uploaded file's name. This field is present whether a video file or another type of file was uploaded.
-            "fileSize": "A String", # The uploaded file's size in bytes. This field is present whether a video file or another type of file was uploaded.
-            "videoStreams": [ # A list of video streams contained in the uploaded video file. Each item in the list contains detailed metadata about a video stream.
-              { # Information about a video stream.
-                "bitrateBps": "A String", # The video stream's bitrate, in bits per second.
-                "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
-                "codec": "A String", # The video codec that the stream uses.
-                "widthPixels": 42, # The encoded video content's width in pixels. You can calculate the video's encoding aspect ratio as width_pixels / height_pixels.
-                "heightPixels": 42, # The encoded video content's height in pixels.
-                "aspectRatio": 3.14, # The video content's display aspect ratio, which specifies the aspect ratio in which the video should be displayed.
-                "rotation": "A String", # The amount that YouTube needs to rotate the original source content to properly display the video.
-                "frameRateFps": 3.14, # The video stream's frame rate, in frames per second.
-              },
-            ],
-            "audioStreams": [ # A list of audio streams contained in the uploaded video file. Each item in the list contains detailed metadata about an audio stream.
-              { # Information about an audio stream.
-                "bitrateBps": "A String", # The audio stream's bitrate, in bits per second.
-                "codec": "A String", # The audio codec that the stream uses.
-                "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
-                "channelCount": 42, # The number of audio channels that the stream contains.
-              },
-            ],
-          },
-          "processingDetails": { # Describes processing status and progress and availability of some other Video resource parts. # The processingProgress object encapsulates information about YouTube's progress in processing the uploaded video file. The properties in the object identify the current processing status and an estimate of the time remaining until YouTube finishes processing the video. This part also indicates whether different types of data or content, such as file details or thumbnail images, are available for the video.
-              #
-              # The processingProgress object is designed to be polled so that the video uploaded can track the progress that YouTube has made in processing the uploaded video file. This data can only be retrieved by the video owner.
-            "fileDetailsAvailability": "A String", # This value indicates whether file details are available for the uploaded video. You can retrieve a video's file details by requesting the fileDetails part in your videos.list() request.
-            "editorSuggestionsAvailability": "A String", # This value indicates whether video editing suggestions, which might improve video quality or the playback experience, are available for the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
-            "processingStatus": "A String", # The video's processing status. This value indicates whether YouTube was able to process the video or if the video is still being processed.
-            "processingIssuesAvailability": "A String", # This value indicates whether the video processing engine has generated suggestions that might improve YouTube's ability to process the the video, warnings that explain video processing problems, or errors that cause video processing problems. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
-            "processingFailureReason": "A String", # The reason that YouTube failed to process the video. This property will only have a value if the processingStatus property's value is failed.
-            "thumbnailsAvailability": "A String", # This value indicates whether thumbnail images have been generated for the video.
-            "processingProgress": { # Video processing progress and completion time estimate. # The processingProgress object contains information about the progress YouTube has made in processing the video. The values are really only relevant if the video's processing status is processing.
-              "timeLeftMs": "A String", # An estimate of the amount of time, in millseconds, that YouTube needs to finish processing the video.
-              "partsProcessed": "A String", # The number of parts of the video that YouTube has already processed. You can estimate the percentage of the video that YouTube has already processed by calculating:
-                  # 100 * parts_processed / parts_total
-                  #
-                  # Note that since the estimated number of parts could increase without a corresponding increase in the number of parts that have already been processed, it is possible that the calculated progress could periodically decrease while YouTube processes a video.
-              "partsTotal": "A String", # An estimate of the total number of parts that need to be processed for the video. The number may be updated with more precise estimates while YouTube processes the video.
-            },
-            "tagSuggestionsAvailability": "A String", # This value indicates whether keyword (tag) suggestions are available for the video. Tags can be added to a video's metadata to make it easier for other users to find the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
-          },
-          "player": { # Player to be used for a video playback. # The player object contains information that you would use to play the video in an embedded player.
-            "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the video.
-          },
-          "etag": "A String", # Etag of this resource.
-          "projectDetails": { # Project specific details about the content of a YouTube Video. # The projectDetails object contains information about the project specific video metadata.
-            "tags": [ # A list of project tags associated with the video during the upload.
-              "A String",
-            ],
-          },
-          "recordingDetails": { # Recording information associated with the video. # The recordingDetails object encapsulates information about the location, date and address where the video was recorded.
-            "recordingDate": "A String", # The date and time when the video was recorded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-            "locationDescription": "A String", # The text description of the location where the video was recorded.
-            "location": { # Geographical coordinates of a point, in WGS84. # The geolocation information associated with the video.
-              "latitude": 3.14, # Latitude in degrees.
-              "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
-              "longitude": 3.14, # Longitude in degrees.
-            },
-          },
-          "suggestions": { # Specifies suggestions on how to improve video content, including encoding hints, tag suggestions, and editor suggestions. # The suggestions object encapsulates suggestions that identify opportunities to improve the video quality or the metadata for the uploaded video. This data can only be retrieved by the video owner.
-            "processingErrors": [ # A list of errors that will prevent YouTube from successfully processing the uploaded video video. These errors indicate that, regardless of the video's current processing status, eventually, that status will almost certainly be failed.
-              "A String",
-            ],
-            "tagSuggestions": [ # A list of keyword tags that could be added to the video's metadata to increase the likelihood that users will locate your video when searching or browsing on YouTube.
-              { # A single tag suggestion with it's relevance information.
-                "categoryRestricts": [ # A set of video categories for which the tag is relevant. You can use this information to display appropriate tag suggestions based on the video category that the video uploader associates with the video. By default, tag suggestions are relevant for all categories if there are no restricts defined for the keyword.
-                  "A String",
-                ],
-                "tag": "A String", # The keyword tag suggested for the video.
-              },
-            ],
-            "editorSuggestions": [ # A list of video editing operations that might improve the video quality or playback experience of the uploaded video.
-              "A String",
-            ],
-            "processingWarnings": [ # A list of reasons why YouTube may have difficulty transcoding the uploaded video or that might result in an erroneous transcoding. These warnings are generated before YouTube actually processes the uploaded video file. In addition, they identify issues that are unlikely to cause the video processing to fail but that might cause problems such as sync issues, video artifacts, or a missing audio track.
-              "A String",
-            ],
-            "processingHints": [ # A list of suggestions that may improve YouTube's ability to process the video.
-              "A String",
-            ],
-          },
-          "id": "A String", # The ID that YouTube uses to uniquely identify the video.
-          "conversionPings": { # The conversionPings object encapsulates information about url pings that need to be respected by the App in different video contexts.
-            "pings": [ # Pings that the app shall fire for a video (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
-              {
-                "conversionUrl": "A String", # The url (without the schema) that the app shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D like%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA%3Bytvid%3DUrIaJUvIQDg&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping.
-                "context": "A String", # Defines the context of the ping.
-              },
-            ],
-          },
-        },
-    ],
-    "etag": "A String", # The ETag of the response.
-    "prevPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
-    "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page. # The pageInfo object encapsulates paging information for the result set.
-      "totalResults": 42, # The total number of results in the result set.
-      "resultsPerPage": 42, # The number of results included in the API response.
-    },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call 'execute()' on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
-<div class="method">
-    <code class="details" id="rate">rate(id, rating, onBehalfOfContentOwner=None)</code>
-  <pre>Like, dislike, or remove rating from a video.
-
-Args:
-  id: string, The id parameter specifies the YouTube video ID. (required)
-  rating: string, Specifies the rating to record. (required)
-    Allowed values
-      dislike - Records that the authenticated user disliked the video.
-      like - Records that the authenticated user liked the video.
-      none - Removes any vote (like or dislike) the authenticated user had for the video.
-  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(part=None, body, onBehalfOfContentOwner=None)</code>
-  <pre>Updates a video's metadata.
-
-Args:
-  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
-
-The part names that you can include in the parameter value are snippet, contentDetails, player, statistics, status, and topicDetails.
-
-Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a video's privacy setting is contained in the status part. As such, if your request is updating a private video, and the request's part parameter value includes the status part, the video's privacy setting will be updated to whatever value the request body specifies. If the request body does not specify a value, the existing privacy setting will be removed and the video will revert to the default privacy setting.
-
-In addition, not all of those parts contain properties that can be set when setting or updating a video's metadata. For example, the statistics object encapsulates statistics that YouTube calculates for a video and does not contain values that you can set or modify. If the parameter value specifies a part that does not contain mutable values, that part will still be included in the API response. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A video resource represents a YouTube video.
-    "status": { # Basic details about a video category, such as its localized title. # The status object contains information about the video's uploading, processing, and privacy statuses.
-      "license": "A String", # The video's license.
-      "embeddable": True or False, # This value indicates if the video can be embedded on another website.
-      "privacyStatus": "A String", # The video's privacy status.
-      "publicStatsViewable": True or False, # This value indicates if the extended video statistics on the watch page can be viewed by everyone. Note that the view count, likes, etc will still be visible if this is disabled.
-      "uploadStatus": "A String", # The status of the uploaded video.
-      "rejectionReason": "A String", # This value explains why YouTube rejected an uploaded video. This property is only present if the uploadStatus property indicates that the upload was rejected.
-      "failureReason": "A String", # This value explains why a video failed to upload. This property is only present if the uploadStatus property indicates that the upload failed.
-    },
-    "snippet": { # Basic details about a video, including title, description, uploader, thumbnails and category. # The snippet object contains basic details about the video, such as its title, description, and category.
-      "description": "A String", # The video's description.
-      "tags": [ # A list of keyword tags associated with the video. Tags may contain spaces. This field is only visible to the video's uploader.
-        "A String",
-      ],
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that the video was uploaded to.
-      "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "channelTitle": "A String", # Channel title for the channel that the video belongs to.
-      "title": "A String", # The video's title.
-      "categoryId": "A String", # The YouTube video category associated with the video.
-      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-          "url": "A String", # The thumbnail image's URL.
-          "width": 42, # (Optional) Width of the thumbnail image.
-          "height": 42, # (Optional) Height of the thumbnail image.
-        },
-      },
-    },
-    "kind": "youtube#video", # The kind, fixed to "youtube#video".
-    "statistics": { # Statistics about the video, such as the number of times the video was viewed or liked. # The statistics object contains statistics about the video.
-      "commentCount": "A String", # The number of comments for the video.
-      "viewCount": "A String", # The number of times the video has been viewed.
-      "favoriteCount": "A String", # The number of users who currently have the video marked as a favorite video.
-      "dislikeCount": "A String", # The number of users who have indicated that they disliked the video by giving it a negative rating.
-      "likeCount": "A String", # The number of users who have indicated that they liked the video by giving it a positive rating.
-    },
-    "topicDetails": { # Freebase topic information related to the video. # The topicDetails object encapsulates information about Freebase topics associated with the video.
-      "topicIds": [ # A list of Freebase topic IDs that are centrally associated with the video. These are topics that are centrally featured in the video, and it can be said that the video is mainly about each of these. You can retrieve information about each topic using the Freebase Topic API.
-        "A String",
-      ],
-      "relevantTopicIds": [ # Similar to topic_id, except that these topics are merely relevant to the video. These are topics that may be mentioned in, or appear in the video. You can retrieve information about each topic using Freebase Topic API.
-        "A String",
-      ],
-    },
-    "monetizationDetails": { # Details about monetization of a YouTube Video. # The monetizationDetails object encapsulates information about the monetization status of the video.
-      "access": { # Rights management policy for YouTube resources. # The value of access indicates whether the video can be monetized or not.
-        "exception": [ # A list of region codes that identify countries where the default policy do not apply.
-          "A String",
-        ],
-        "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
-      },
-    },
-    "contentDetails": { # Details about the content of a YouTube Video. # The contentDetails object contains information about the video content, including the length of the video and its aspect ratio.
-      "definition": "A String", # The value of definition indicates whether the video is available in high definition or only in standard definition.
-      "countryRestriction": { # Rights management policy for YouTube resources. # The countryRestriction object contains information about the countries where a video is (or is not) viewable.
-        "exception": [ # A list of region codes that identify countries where the default policy do not apply.
-          "A String",
-        ],
-        "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
-      },
-      "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. # Specifies the ratings that the video received under various rating schemes.
-        "ytRating": "A String", # Internal YouTube rating.
-        "russiaRating": "A String", # Rating system in Russia
-        "tvpgRating": "A String", # TV Parental Guidelines rating of the content.
-        "cbfcRating": "A String", # Rating system in India - Central Board of Film Certification
-        "acbRating": "A String", # Rating system in Australia - Australian Classification Board
-        "fskRating": "A String", # Rating system in Germany - Voluntary Self Regulation of the Movie Industry
-        "eirinRating": "A String", # Rating system in Japan - Eiga Rinri Kanri Iinkai
-        "bbfcRating": "A String", # British Board of Film Classification
-        "kmrbRating": "A String", # Rating system in South Korea - Korea Media Rating Board
-        "mpaaRating": "A String", # Motion Picture Association of America rating for the content.
-        "icaaRating": "A String", # Rating system in Spain - Instituto de Cinematografia y de las Artes Audiovisuales
-        "fmocRating": "A String", # Rating system in France - French Minister of Culture
-        "chvrsRating": "A String", # Canadian Home Video Rating System
-        "rtcRating": "A String", # Rating system in Mexico - General Directorate of Radio, Television and Cinematography
-        "djctqRating": "A String", # Rating system in Brazil - Department of Justice, Rating, Titles and Qualification
-        "oflcRating": "A String", # Rating system in New Zealand - Office of Film and Literature Classification
-      },
-      "caption": "A String", # The value of captions indicates whether the video has captions or not.
-      "regionRestriction": { # DEPRECATED Region restriction of the video. # The regionRestriction object contains information about the countries where a video is (or is not) viewable. The object will contain either the contentDetails.regionRestriction.allowed property or the contentDetails.regionRestriction.blocked property.
-        "blocked": [ # A list of region codes that identify countries where the video is blocked. If this property is present and a country is not listed in its value, then the video is viewable in that country. If this property is present and contains an empty list, the video is viewable in all countries.
-          "A String",
-        ],
-        "allowed": [ # A list of region codes that identify countries where the video is viewable. If this property is present and a country is not listed in its value, then the video is blocked from appearing in that country. If this property is present and contains an empty list, the video is blocked in all countries.
-          "A String",
-        ],
-      },
-      "duration": "A String", # The length of the video. The tag value is an ISO 8601 duration in the format PT#M#S, in which the letters PT indicate that the value specifies a period of time, and the letters M and S refer to length in minutes and seconds, respectively. The # characters preceding the M and S letters are both integers that specify the number of minutes (or seconds) of the video. For example, a value of PT15M51S indicates that the video is 15 minutes and 51 seconds long.
-      "licensedContent": True or False, # The value of is_license_content indicates whether the video is licensed content.
-      "dimension": "A String", # The value of dimension indicates whether the video is available in 3D or in 2D.
-    },
-    "ageGating": { # Age restriction details related to a video.
-      "restricted": True or False, # Age-restricted trailers. For redband trailers and adult-rated video-games. Only users aged 18+ can view the content. The the field is true the content is restricted to viewers aged 18+. Otherwise The field won't be present.
-      "alcoholContent": True or False, # Indicates whether or not the video has alcoholic beverage content. Only users of legal purchasing age in a particular country, as identified by ICAP, can view the content.
-      "videoGameRating": "A String", # Video game rating, if any.
-    },
-    "fileDetails": { # Describes original video file properties, including technical details about audio and video streams, but also metadata information like content length, digitization time, or geotagging information. # The fileDetails object encapsulates information about the video file that was uploaded to YouTube, including the file's resolution, duration, audio and video codecs, stream bitrates, and more. This data can only be retrieved by the video owner.
-      "bitrateBps": "A String", # The uploaded video file's combined (video and audio) bitrate in bits per second.
-      "container": "A String", # The uploaded video file's container format.
-      "recordingLocation": { # Geographical coordinates of a point, in WGS84. # Geographic coordinates that identify the place where the uploaded video was recorded. Coordinates are defined using WGS 84.
-        "latitude": 3.14, # Latitude in degrees.
-        "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
-        "longitude": 3.14, # Longitude in degrees.
-      },
-      "fileType": "A String", # The uploaded file's type as detected by YouTube's video processing engine. Currently, YouTube only processes video files, but this field is present whether a video file or another type of file was uploaded.
-      "creationTime": "A String", # The date and time when the uploaded video file was created. The value is specified in ISO 8601 format. Currently, the following ISO 8601 formats are supported:
-          # - Date only: YYYY-MM-DD
-          # - Naive time: YYYY-MM-DDTHH:MM:SS
-          # - Time with timezone: YYYY-MM-DDTHH:MM:SS+HH:MM
-      "durationMs": "A String", # The length of the uploaded video in milliseconds.
-      "fileName": "A String", # The uploaded file's name. This field is present whether a video file or another type of file was uploaded.
-      "fileSize": "A String", # The uploaded file's size in bytes. This field is present whether a video file or another type of file was uploaded.
-      "videoStreams": [ # A list of video streams contained in the uploaded video file. Each item in the list contains detailed metadata about a video stream.
-        { # Information about a video stream.
-          "bitrateBps": "A String", # The video stream's bitrate, in bits per second.
-          "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
-          "codec": "A String", # The video codec that the stream uses.
-          "widthPixels": 42, # The encoded video content's width in pixels. You can calculate the video's encoding aspect ratio as width_pixels / height_pixels.
-          "heightPixels": 42, # The encoded video content's height in pixels.
-          "aspectRatio": 3.14, # The video content's display aspect ratio, which specifies the aspect ratio in which the video should be displayed.
-          "rotation": "A String", # The amount that YouTube needs to rotate the original source content to properly display the video.
-          "frameRateFps": 3.14, # The video stream's frame rate, in frames per second.
-        },
-      ],
-      "audioStreams": [ # A list of audio streams contained in the uploaded video file. Each item in the list contains detailed metadata about an audio stream.
-        { # Information about an audio stream.
-          "bitrateBps": "A String", # The audio stream's bitrate, in bits per second.
-          "codec": "A String", # The audio codec that the stream uses.
-          "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
-          "channelCount": 42, # The number of audio channels that the stream contains.
-        },
-      ],
-    },
-    "processingDetails": { # Describes processing status and progress and availability of some other Video resource parts. # The processingProgress object encapsulates information about YouTube's progress in processing the uploaded video file. The properties in the object identify the current processing status and an estimate of the time remaining until YouTube finishes processing the video. This part also indicates whether different types of data or content, such as file details or thumbnail images, are available for the video.
-        # 
-        # The processingProgress object is designed to be polled so that the video uploaded can track the progress that YouTube has made in processing the uploaded video file. This data can only be retrieved by the video owner.
-      "fileDetailsAvailability": "A String", # This value indicates whether file details are available for the uploaded video. You can retrieve a video's file details by requesting the fileDetails part in your videos.list() request.
-      "editorSuggestionsAvailability": "A String", # This value indicates whether video editing suggestions, which might improve video quality or the playback experience, are available for the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
-      "processingStatus": "A String", # The video's processing status. This value indicates whether YouTube was able to process the video or if the video is still being processed.
-      "processingIssuesAvailability": "A String", # This value indicates whether the video processing engine has generated suggestions that might improve YouTube's ability to process the the video, warnings that explain video processing problems, or errors that cause video processing problems. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
-      "processingFailureReason": "A String", # The reason that YouTube failed to process the video. This property will only have a value if the processingStatus property's value is failed.
-      "thumbnailsAvailability": "A String", # This value indicates whether thumbnail images have been generated for the video.
-      "processingProgress": { # Video processing progress and completion time estimate. # The processingProgress object contains information about the progress YouTube has made in processing the video. The values are really only relevant if the video's processing status is processing.
-        "timeLeftMs": "A String", # An estimate of the amount of time, in millseconds, that YouTube needs to finish processing the video.
-        "partsProcessed": "A String", # The number of parts of the video that YouTube has already processed. You can estimate the percentage of the video that YouTube has already processed by calculating:
-            # 100 * parts_processed / parts_total
-            #
-            # Note that since the estimated number of parts could increase without a corresponding increase in the number of parts that have already been processed, it is possible that the calculated progress could periodically decrease while YouTube processes a video.
-        "partsTotal": "A String", # An estimate of the total number of parts that need to be processed for the video. The number may be updated with more precise estimates while YouTube processes the video.
-      },
-      "tagSuggestionsAvailability": "A String", # This value indicates whether keyword (tag) suggestions are available for the video. Tags can be added to a video's metadata to make it easier for other users to find the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
-    },
-    "player": { # Player to be used for a video playback. # The player object contains information that you would use to play the video in an embedded player.
-      "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the video.
-    },
-    "etag": "A String", # Etag of this resource.
-    "projectDetails": { # Project specific details about the content of a YouTube Video. # The projectDetails object contains information about the project specific video metadata.
-      "tags": [ # A list of project tags associated with the video during the upload.
-        "A String",
-      ],
-    },
-    "recordingDetails": { # Recording information associated with the video. # The recordingDetails object encapsulates information about the location, date and address where the video was recorded.
-      "recordingDate": "A String", # The date and time when the video was recorded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "locationDescription": "A String", # The text description of the location where the video was recorded.
-      "location": { # Geographical coordinates of a point, in WGS84. # The geolocation information associated with the video.
-        "latitude": 3.14, # Latitude in degrees.
-        "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
-        "longitude": 3.14, # Longitude in degrees.
-      },
-    },
-    "suggestions": { # Specifies suggestions on how to improve video content, including encoding hints, tag suggestions, and editor suggestions. # The suggestions object encapsulates suggestions that identify opportunities to improve the video quality or the metadata for the uploaded video. This data can only be retrieved by the video owner.
-      "processingErrors": [ # A list of errors that will prevent YouTube from successfully processing the uploaded video video. These errors indicate that, regardless of the video's current processing status, eventually, that status will almost certainly be failed.
-        "A String",
-      ],
-      "tagSuggestions": [ # A list of keyword tags that could be added to the video's metadata to increase the likelihood that users will locate your video when searching or browsing on YouTube.
-        { # A single tag suggestion with it's relevance information.
-          "categoryRestricts": [ # A set of video categories for which the tag is relevant. You can use this information to display appropriate tag suggestions based on the video category that the video uploader associates with the video. By default, tag suggestions are relevant for all categories if there are no restricts defined for the keyword.
-            "A String",
-          ],
-          "tag": "A String", # The keyword tag suggested for the video.
-        },
-      ],
-      "editorSuggestions": [ # A list of video editing operations that might improve the video quality or playback experience of the uploaded video.
-        "A String",
-      ],
-      "processingWarnings": [ # A list of reasons why YouTube may have difficulty transcoding the uploaded video or that might result in an erroneous transcoding. These warnings are generated before YouTube actually processes the uploaded video file. In addition, they identify issues that are unlikely to cause the video processing to fail but that might cause problems such as sync issues, video artifacts, or a missing audio track.
-        "A String",
-      ],
-      "processingHints": [ # A list of suggestions that may improve YouTube's ability to process the video.
-        "A String",
-      ],
-    },
-    "id": "A String", # The ID that YouTube uses to uniquely identify the video.
-    "conversionPings": { # The conversionPings object encapsulates information about url pings that need to be respected by the App in different video contexts.
-      "pings": [ # Pings that the app shall fire for a video (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
-        {
-          "conversionUrl": "A String", # The url (without the schema) that the app shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D like%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA%3Bytvid%3DUrIaJUvIQDg&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping.
-          "context": "A String", # Defines the context of the ping.
-        },
-      ],
-    },
-  }
-
-  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
-
-Returns:
-  An object of the form:
-
-    { # A video resource represents a YouTube video.
-      "status": { # Basic details about a video category, such as its localized title. # The status object contains information about the video's uploading, processing, and privacy statuses.
-        "license": "A String", # The video's license.
-        "embeddable": True or False, # This value indicates if the video can be embedded on another website.
-        "privacyStatus": "A String", # The video's privacy status.
-        "publicStatsViewable": True or False, # This value indicates if the extended video statistics on the watch page can be viewed by everyone. Note that the view count, likes, etc will still be visible if this is disabled.
-        "uploadStatus": "A String", # The status of the uploaded video.
-        "rejectionReason": "A String", # This value explains why YouTube rejected an uploaded video. This property is only present if the uploadStatus property indicates that the upload was rejected.
-        "failureReason": "A String", # This value explains why a video failed to upload. This property is only present if the uploadStatus property indicates that the upload failed.
-      },
-      "snippet": { # Basic details about a video, including title, description, uploader, thumbnails and category. # The snippet object contains basic details about the video, such as its title, description, and category.
-        "description": "A String", # The video's description.
-        "tags": [ # A list of keyword tags associated with the video. Tags may contain spaces. This field is only visible to the video's uploader.
-          "A String",
-        ],
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that the video was uploaded to.
-        "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "channelTitle": "A String", # Channel title for the channel that the video belongs to.
-        "title": "A String", # The video's title.
-        "categoryId": "A String", # The YouTube video category associated with the video.
-        "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-          "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-          "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-        },
-      },
-      "kind": "youtube#video", # The kind, fixed to "youtube#video".
-      "statistics": { # Statistics about the video, such as the number of times the video was viewed or liked. # The statistics object contains statistics about the video.
-        "commentCount": "A String", # The number of comments for the video.
-        "viewCount": "A String", # The number of times the video has been viewed.
-        "favoriteCount": "A String", # The number of users who currently have the video marked as a favorite video.
-        "dislikeCount": "A String", # The number of users who have indicated that they disliked the video by giving it a negative rating.
-        "likeCount": "A String", # The number of users who have indicated that they liked the video by giving it a positive rating.
-      },
-      "topicDetails": { # Freebase topic information related to the video. # The topicDetails object encapsulates information about Freebase topics associated with the video.
-        "topicIds": [ # A list of Freebase topic IDs that are centrally associated with the video. These are topics that are centrally featured in the video, and it can be said that the video is mainly about each of these. You can retrieve information about each topic using the Freebase Topic API.
-          "A String",
-        ],
-        "relevantTopicIds": [ # Similar to topic_id, except that these topics are merely relevant to the video. These are topics that may be mentioned in, or appear in the video. You can retrieve information about each topic using Freebase Topic API.
-          "A String",
-        ],
-      },
-      "monetizationDetails": { # Details about monetization of a YouTube Video. # The monetizationDetails object encapsulates information about the monetization status of the video.
-        "access": { # Rights management policy for YouTube resources. # The value of access indicates whether the video can be monetized or not.
-          "exception": [ # A list of region codes that identify countries where the default policy do not apply.
-            "A String",
-          ],
-          "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
-        },
-      },
-      "contentDetails": { # Details about the content of a YouTube Video. # The contentDetails object contains information about the video content, including the length of the video and its aspect ratio.
-        "definition": "A String", # The value of definition indicates whether the video is available in high definition or only in standard definition.
-        "countryRestriction": { # Rights management policy for YouTube resources. # The countryRestriction object contains information about the countries where a video is (or is not) viewable.
-          "exception": [ # A list of region codes that identify countries where the default policy do not apply.
-            "A String",
-          ],
-          "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
-        },
-        "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. # Specifies the ratings that the video received under various rating schemes.
-          "ytRating": "A String", # Internal YouTube rating.
-          "russiaRating": "A String", # Rating system in Russia
-          "tvpgRating": "A String", # TV Parental Guidelines rating of the content.
-          "cbfcRating": "A String", # Rating system in India - Central Board of Film Certification
-          "acbRating": "A String", # Rating system in Australia - Australian Classification Board
-          "fskRating": "A String", # Rating system in Germany - Voluntary Self Regulation of the Movie Industry
-          "eirinRating": "A String", # Rating system in Japan - Eiga Rinri Kanri Iinkai
-          "bbfcRating": "A String", # British Board of Film Classification
-          "kmrbRating": "A String", # Rating system in South Korea - Korea Media Rating Board
-          "mpaaRating": "A String", # Motion Picture Association of America rating for the content.
-          "icaaRating": "A String", # Rating system in Spain - Instituto de Cinematografia y de las Artes Audiovisuales
-          "fmocRating": "A String", # Rating system in France - French Minister of Culture
-          "chvrsRating": "A String", # Canadian Home Video Rating System
-          "rtcRating": "A String", # Rating system in Mexico - General Directorate of Radio, Television and Cinematography
-          "djctqRating": "A String", # Rating system in Brazil - Department of Justice, Rating, Titles and Qualification
-          "oflcRating": "A String", # Rating system in New Zealand - Office of Film and Literature Classification
-        },
-        "caption": "A String", # The value of captions indicates whether the video has captions or not.
-        "regionRestriction": { # DEPRECATED Region restriction of the video. # The regionRestriction object contains information about the countries where a video is (or is not) viewable. The object will contain either the contentDetails.regionRestriction.allowed property or the contentDetails.regionRestriction.blocked property.
-          "blocked": [ # A list of region codes that identify countries where the video is blocked. If this property is present and a country is not listed in its value, then the video is viewable in that country. If this property is present and contains an empty list, the video is viewable in all countries.
-            "A String",
-          ],
-          "allowed": [ # A list of region codes that identify countries where the video is viewable. If this property is present and a country is not listed in its value, then the video is blocked from appearing in that country. If this property is present and contains an empty list, the video is blocked in all countries.
-            "A String",
-          ],
-        },
-        "duration": "A String", # The length of the video. The tag value is an ISO 8601 duration in the format PT#M#S, in which the letters PT indicate that the value specifies a period of time, and the letters M and S refer to length in minutes and seconds, respectively. The # characters preceding the M and S letters are both integers that specify the number of minutes (or seconds) of the video. For example, a value of PT15M51S indicates that the video is 15 minutes and 51 seconds long.
-        "licensedContent": True or False, # The value of is_license_content indicates whether the video is licensed content.
-        "dimension": "A String", # The value of dimension indicates whether the video is available in 3D or in 2D.
-      },
-      "ageGating": { # Age restriction details related to a video.
-        "restricted": True or False, # Age-restricted trailers. For redband trailers and adult-rated video-games. Only users aged 18+ can view the content. The the field is true the content is restricted to viewers aged 18+. Otherwise The field won't be present.
-        "alcoholContent": True or False, # Indicates whether or not the video has alcoholic beverage content. Only users of legal purchasing age in a particular country, as identified by ICAP, can view the content.
-        "videoGameRating": "A String", # Video game rating, if any.
-      },
-      "fileDetails": { # Describes original video file properties, including technical details about audio and video streams, but also metadata information like content length, digitization time, or geotagging information. # The fileDetails object encapsulates information about the video file that was uploaded to YouTube, including the file's resolution, duration, audio and video codecs, stream bitrates, and more. This data can only be retrieved by the video owner.
-        "bitrateBps": "A String", # The uploaded video file's combined (video and audio) bitrate in bits per second.
-        "container": "A String", # The uploaded video file's container format.
-        "recordingLocation": { # Geographical coordinates of a point, in WGS84. # Geographic coordinates that identify the place where the uploaded video was recorded. Coordinates are defined using WGS 84.
-          "latitude": 3.14, # Latitude in degrees.
-          "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
-          "longitude": 3.14, # Longitude in degrees.
-        },
-        "fileType": "A String", # The uploaded file's type as detected by YouTube's video processing engine. Currently, YouTube only processes video files, but this field is present whether a video file or another type of file was uploaded.
-        "creationTime": "A String", # The date and time when the uploaded video file was created. The value is specified in ISO 8601 format. Currently, the following ISO 8601 formats are supported:
-            # - Date only: YYYY-MM-DD
-            # - Naive time: YYYY-MM-DDTHH:MM:SS
-            # - Time with timezone: YYYY-MM-DDTHH:MM:SS+HH:MM
-        "durationMs": "A String", # The length of the uploaded video in milliseconds.
-        "fileName": "A String", # The uploaded file's name. This field is present whether a video file or another type of file was uploaded.
-        "fileSize": "A String", # The uploaded file's size in bytes. This field is present whether a video file or another type of file was uploaded.
-        "videoStreams": [ # A list of video streams contained in the uploaded video file. Each item in the list contains detailed metadata about a video stream.
-          { # Information about a video stream.
-            "bitrateBps": "A String", # The video stream's bitrate, in bits per second.
-            "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
-            "codec": "A String", # The video codec that the stream uses.
-            "widthPixels": 42, # The encoded video content's width in pixels. You can calculate the video's encoding aspect ratio as width_pixels / height_pixels.
-            "heightPixels": 42, # The encoded video content's height in pixels.
-            "aspectRatio": 3.14, # The video content's display aspect ratio, which specifies the aspect ratio in which the video should be displayed.
-            "rotation": "A String", # The amount that YouTube needs to rotate the original source content to properly display the video.
-            "frameRateFps": 3.14, # The video stream's frame rate, in frames per second.
-          },
-        ],
-        "audioStreams": [ # A list of audio streams contained in the uploaded video file. Each item in the list contains detailed metadata about an audio stream.
-          { # Information about an audio stream.
-            "bitrateBps": "A String", # The audio stream's bitrate, in bits per second.
-            "codec": "A String", # The audio codec that the stream uses.
-            "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
-            "channelCount": 42, # The number of audio channels that the stream contains.
-          },
-        ],
-      },
-      "processingDetails": { # Describes processing status and progress and availability of some other Video resource parts. # The processingProgress object encapsulates information about YouTube's progress in processing the uploaded video file. The properties in the object identify the current processing status and an estimate of the time remaining until YouTube finishes processing the video. This part also indicates whether different types of data or content, such as file details or thumbnail images, are available for the video.
-          #
-          # The processingProgress object is designed to be polled so that the video uploaded can track the progress that YouTube has made in processing the uploaded video file. This data can only be retrieved by the video owner.
-        "fileDetailsAvailability": "A String", # This value indicates whether file details are available for the uploaded video. You can retrieve a video's file details by requesting the fileDetails part in your videos.list() request.
-        "editorSuggestionsAvailability": "A String", # This value indicates whether video editing suggestions, which might improve video quality or the playback experience, are available for the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
-        "processingStatus": "A String", # The video's processing status. This value indicates whether YouTube was able to process the video or if the video is still being processed.
-        "processingIssuesAvailability": "A String", # This value indicates whether the video processing engine has generated suggestions that might improve YouTube's ability to process the the video, warnings that explain video processing problems, or errors that cause video processing problems. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
-        "processingFailureReason": "A String", # The reason that YouTube failed to process the video. This property will only have a value if the processingStatus property's value is failed.
-        "thumbnailsAvailability": "A String", # This value indicates whether thumbnail images have been generated for the video.
-        "processingProgress": { # Video processing progress and completion time estimate. # The processingProgress object contains information about the progress YouTube has made in processing the video. The values are really only relevant if the video's processing status is processing.
-          "timeLeftMs": "A String", # An estimate of the amount of time, in millseconds, that YouTube needs to finish processing the video.
-          "partsProcessed": "A String", # The number of parts of the video that YouTube has already processed. You can estimate the percentage of the video that YouTube has already processed by calculating:
-              # 100 * parts_processed / parts_total
-              #
-              # Note that since the estimated number of parts could increase without a corresponding increase in the number of parts that have already been processed, it is possible that the calculated progress could periodically decrease while YouTube processes a video.
-          "partsTotal": "A String", # An estimate of the total number of parts that need to be processed for the video. The number may be updated with more precise estimates while YouTube processes the video.
-        },
-        "tagSuggestionsAvailability": "A String", # This value indicates whether keyword (tag) suggestions are available for the video. Tags can be added to a video's metadata to make it easier for other users to find the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
-      },
-      "player": { # Player to be used for a video playback. # The player object contains information that you would use to play the video in an embedded player.
-        "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the video.
-      },
-      "etag": "A String", # Etag of this resource.
-      "projectDetails": { # Project specific details about the content of a YouTube Video. # The projectDetails object contains information about the project specific video metadata.
-        "tags": [ # A list of project tags associated with the video during the upload.
-          "A String",
-        ],
-      },
-      "recordingDetails": { # Recording information associated with the video. # The recordingDetails object encapsulates information about the location, date and address where the video was recorded.
-        "recordingDate": "A String", # The date and time when the video was recorded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "locationDescription": "A String", # The text description of the location where the video was recorded.
-        "location": { # Geographical coordinates of a point, in WGS84. # The geolocation information associated with the video.
-          "latitude": 3.14, # Latitude in degrees.
-          "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
-          "longitude": 3.14, # Longitude in degrees.
-        },
-      },
-      "suggestions": { # Specifies suggestions on how to improve video content, including encoding hints, tag suggestions, and editor suggestions. # The suggestions object encapsulates suggestions that identify opportunities to improve the video quality or the metadata for the uploaded video. This data can only be retrieved by the video owner.
-        "processingErrors": [ # A list of errors that will prevent YouTube from successfully processing the uploaded video video. These errors indicate that, regardless of the video's current processing status, eventually, that status will almost certainly be failed.
-          "A String",
-        ],
-        "tagSuggestions": [ # A list of keyword tags that could be added to the video's metadata to increase the likelihood that users will locate your video when searching or browsing on YouTube.
-          { # A single tag suggestion with it's relevance information.
-            "categoryRestricts": [ # A set of video categories for which the tag is relevant. You can use this information to display appropriate tag suggestions based on the video category that the video uploader associates with the video. By default, tag suggestions are relevant for all categories if there are no restricts defined for the keyword.
-              "A String",
-            ],
-            "tag": "A String", # The keyword tag suggested for the video.
-          },
-        ],
-        "editorSuggestions": [ # A list of video editing operations that might improve the video quality or playback experience of the uploaded video.
-          "A String",
-        ],
-        "processingWarnings": [ # A list of reasons why YouTube may have difficulty transcoding the uploaded video or that might result in an erroneous transcoding. These warnings are generated before YouTube actually processes the uploaded video file. In addition, they identify issues that are unlikely to cause the video processing to fail but that might cause problems such as sync issues, video artifacts, or a missing audio track.
-          "A String",
-        ],
-        "processingHints": [ # A list of suggestions that may improve YouTube's ability to process the video.
-          "A String",
-        ],
-      },
-      "id": "A String", # The ID that YouTube uses to uniquely identify the video.
-      "conversionPings": { # The conversionPings object encapsulates information about url pings that need to be respected by the App in different video contexts.
-        "pings": [ # Pings that the app shall fire for a video (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
-          {
-            "conversionUrl": "A String", # The url (without the schema) that the app shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D like%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA%3Bytvid%3DUrIaJUvIQDg&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping.
-            "context": "A String", # Defines the context of the ping.
-          },
-        ],
-      },
-    }</pre>
-</div>
-
-</body></html>
\ No newline at end of file
diff --git a/docs/epy/api-objects.txt b/docs/epy/api-objects.txt
deleted file mode 100644
index 31c7f45..0000000
--- a/docs/epy/api-objects.txt
+++ /dev/null
@@ -1,746 +0,0 @@
-apiclient	apiclient-module.html
-apiclient.channel	apiclient.channel-module.html
-apiclient.channel.CHANNEL_PARAMS	apiclient.channel-module.html#CHANNEL_PARAMS
-apiclient.channel.notification_from_headers	apiclient.channel-module.html#notification_from_headers
-apiclient.channel._upper_header_keys	apiclient.channel-module.html#_upper_header_keys
-apiclient.channel.X_GOOG_RESOURCE_STATE	apiclient.channel-module.html#X_GOOG_RESOURCE_STATE
-apiclient.channel.X_GOOG_MESSAGE_NUMBER	apiclient.channel-module.html#X_GOOG_MESSAGE_NUMBER
-apiclient.channel.EPOCH	apiclient.channel-module.html#EPOCH
-apiclient.channel.X_GOOG_RESOURCE_URI	apiclient.channel-module.html#X_GOOG_RESOURCE_URI
-apiclient.channel.X_GOOG_CHANNEL_ID	apiclient.channel-module.html#X_GOOG_CHANNEL_ID
-apiclient.channel.new_webhook_channel	apiclient.channel-module.html#new_webhook_channel
-apiclient.channel.X_GOOG_RESOURCE_ID	apiclient.channel-module.html#X_GOOG_RESOURCE_ID
-apiclient.discovery	apiclient.discovery-module.html
-apiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE	apiclient.discovery-module.html#MEDIA_BODY_PARAMETER_DEFAULT_VALUE
-apiclient.discovery._cast	apiclient.discovery-module.html#_cast
-apiclient.discovery._MEDIA_SIZE_BIT_SHIFTS	apiclient.discovery-module.html#_MEDIA_SIZE_BIT_SHIFTS
-apiclient.discovery._fix_up_parameters	apiclient.discovery-module.html#_fix_up_parameters
-apiclient.discovery.HTTP_PAYLOAD_METHODS	apiclient.discovery-module.html#HTTP_PAYLOAD_METHODS
-apiclient.discovery._media_path_url_from_info	apiclient.discovery-module.html#_media_path_url_from_info
-apiclient.discovery._fix_up_media_upload	apiclient.discovery-module.html#_fix_up_media_upload
-apiclient.discovery.build	apiclient.discovery-module.html#build
-apiclient.discovery.key2param	apiclient.discovery-module.html#key2param
-apiclient.discovery.VARNAME	apiclient.discovery-module.html#VARNAME
-apiclient.discovery.createNextMethod	apiclient.discovery-module.html#createNextMethod
-apiclient.discovery.logger	apiclient.discovery-module.html#logger
-apiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE	apiclient.discovery-module.html#BODY_PARAMETER_DEFAULT_VALUE
-apiclient.discovery._media_size_to_long	apiclient.discovery-module.html#_media_size_to_long
-apiclient.discovery._fix_up_method_description	apiclient.discovery-module.html#_fix_up_method_description
-apiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE	apiclient.discovery-module.html#STACK_QUERY_PARAMETER_DEFAULT_VALUE
-apiclient.discovery.createMethod	apiclient.discovery-module.html#createMethod
-apiclient.discovery.DEFAULT_METHOD_DOC	apiclient.discovery-module.html#DEFAULT_METHOD_DOC
-apiclient.discovery.RESERVED_WORDS	apiclient.discovery-module.html#RESERVED_WORDS
-apiclient.discovery.build_from_document	apiclient.discovery-module.html#build_from_document
-apiclient.discovery.fix_method_name	apiclient.discovery-module.html#fix_method_name
-apiclient.discovery.STACK_QUERY_PARAMETERS	apiclient.discovery-module.html#STACK_QUERY_PARAMETERS
-apiclient.discovery.DISCOVERY_URI	apiclient.discovery-module.html#DISCOVERY_URI
-apiclient.discovery.URITEMPLATE	apiclient.discovery-module.html#URITEMPLATE
-apiclient.errors	apiclient.errors-module.html
-apiclient.http	apiclient.http-module.html
-apiclient.http.set_user_agent	apiclient.http-module.html#set_user_agent
-apiclient.http.tunnel_patch	apiclient.http-module.html#tunnel_patch
-apiclient.http.DEFAULT_CHUNK_SIZE	apiclient.http-module.html#DEFAULT_CHUNK_SIZE
-apiclient.http.MAX_URI_LENGTH	apiclient.http-module.html#MAX_URI_LENGTH
-apiclient.mimeparse	apiclient.mimeparse-module.html
-apiclient.mimeparse.__credits__	apiclient.mimeparse-module.html#__credits__
-apiclient.mimeparse.fitness_and_quality_parsed	apiclient.mimeparse-module.html#fitness_and_quality_parsed
-apiclient.mimeparse.parse_media_range	apiclient.mimeparse-module.html#parse_media_range
-apiclient.mimeparse.best_match	apiclient.mimeparse-module.html#best_match
-apiclient.mimeparse.quality_parsed	apiclient.mimeparse-module.html#quality_parsed
-apiclient.mimeparse.__email__	apiclient.mimeparse-module.html#__email__
-apiclient.mimeparse.parse_mime_type	apiclient.mimeparse-module.html#parse_mime_type
-apiclient.mimeparse.quality	apiclient.mimeparse-module.html#quality
-apiclient.mimeparse._filter_blank	apiclient.mimeparse-module.html#_filter_blank
-apiclient.model	apiclient.model-module.html
-apiclient.model._abstract	apiclient.model-module.html#_abstract
-apiclient.model.dump_request_response	apiclient.model-module.html#dump_request_response
-apiclient.model.makepatch	apiclient.model-module.html#makepatch
-apiclient.sample_tools	apiclient.sample_tools-module.html
-apiclient.sample_tools.init	apiclient.sample_tools-module.html#init
-apiclient.schema	apiclient.schema-module.html
-oauth2client	oauth2client-module.html
-oauth2client.GOOGLE_REVOKE_URI	oauth2client-module.html#GOOGLE_REVOKE_URI
-oauth2client.GOOGLE_TOKEN_URI	oauth2client-module.html#GOOGLE_TOKEN_URI
-oauth2client.GOOGLE_AUTH_URI	oauth2client-module.html#GOOGLE_AUTH_URI
-oauth2client.anyjson	oauth2client.anyjson-module.html
-oauth2client.appengine	oauth2client.appengine-module.html
-oauth2client.appengine._safe_html	oauth2client.appengine-module.html#_safe_html
-oauth2client.appengine._build_state_value	oauth2client.appengine-module.html#_build_state_value
-oauth2client.appengine.XSRF_MEMCACHE_ID	oauth2client.appengine-module.html#XSRF_MEMCACHE_ID
-oauth2client.appengine.OAUTH2CLIENT_NAMESPACE	oauth2client.appengine-module.html#OAUTH2CLIENT_NAMESPACE
-oauth2client.appengine.logger	oauth2client.appengine-module.html#logger
-oauth2client.appengine._generate_new_xsrf_secret_key	oauth2client.appengine-module.html#_generate_new_xsrf_secret_key
-oauth2client.appengine.xsrf_secret_key	oauth2client.appengine-module.html#xsrf_secret_key
-oauth2client.appengine.ndb	oauth2client.appengine-module.html#ndb
-oauth2client.appengine.oauth2decorator_from_clientsecrets	oauth2client.appengine-module.html#oauth2decorator_from_clientsecrets
-oauth2client.appengine._parse_state_value	oauth2client.appengine-module.html#_parse_state_value
-oauth2client.client	oauth2client.client-module.html
-oauth2client.client._extract_id_token	oauth2client.client-module.html#_extract_id_token
-oauth2client.client.HAS_CRYPTO	oauth2client.client-module.html#HAS_CRYPTO
-oauth2client.client._cached_http	oauth2client.client-module.html#_cached_http
-oauth2client.client.ID_TOKEN_VERIFICATON_CERTS	oauth2client.client-module.html#ID_TOKEN_VERIFICATON_CERTS
-oauth2client.client.credentials_from_clientsecrets_and_code	oauth2client.client-module.html#credentials_from_clientsecrets_and_code
-oauth2client.client.flow_from_clientsecrets	oauth2client.client-module.html#flow_from_clientsecrets
-oauth2client.client._update_query_params	oauth2client.client-module.html#_update_query_params
-oauth2client.client.EXPIRY_FORMAT	oauth2client.client-module.html#EXPIRY_FORMAT
-oauth2client.client.logger	oauth2client.client-module.html#logger
-oauth2client.client._abstract	oauth2client.client-module.html#_abstract
-oauth2client.client.clean_headers	oauth2client.client-module.html#clean_headers
-oauth2client.client.OOB_CALLBACK_URN	oauth2client.client-module.html#OOB_CALLBACK_URN
-oauth2client.client._parse_exchange_token_response	oauth2client.client-module.html#_parse_exchange_token_response
-oauth2client.client.credentials_from_code	oauth2client.client-module.html#credentials_from_code
-oauth2client.client.HAS_OPENSSL	oauth2client.client-module.html#HAS_OPENSSL
-oauth2client.client.verify_id_token	oauth2client.client-module.html#verify_id_token
-oauth2client.client._urlsafe_b64decode	oauth2client.client-module.html#_urlsafe_b64decode
-oauth2client.client.REFRESH_STATUS_CODES	oauth2client.client-module.html#REFRESH_STATUS_CODES
-oauth2client.clientsecrets	oauth2client.clientsecrets-module.html
-oauth2client.clientsecrets.load	oauth2client.clientsecrets-module.html#load
-oauth2client.clientsecrets.TYPE_INSTALLED	oauth2client.clientsecrets-module.html#TYPE_INSTALLED
-oauth2client.clientsecrets._validate_clientsecrets	oauth2client.clientsecrets-module.html#_validate_clientsecrets
-oauth2client.clientsecrets.TYPE_WEB	oauth2client.clientsecrets-module.html#TYPE_WEB
-oauth2client.clientsecrets.VALID_CLIENT	oauth2client.clientsecrets-module.html#VALID_CLIENT
-oauth2client.clientsecrets.loadfile	oauth2client.clientsecrets-module.html#loadfile
-oauth2client.clientsecrets._loadfile	oauth2client.clientsecrets-module.html#_loadfile
-oauth2client.clientsecrets.loads	oauth2client.clientsecrets-module.html#loads
-oauth2client.crypt	oauth2client.crypt-module.html
-oauth2client.crypt.AUTH_TOKEN_LIFETIME_SECS	oauth2client.crypt-module.html#AUTH_TOKEN_LIFETIME_SECS
-oauth2client.crypt.PyCryptoVerifier	oauth2client.crypt-module.html#PyCryptoVerifier
-oauth2client.crypt.Verifier	oauth2client.crypt-module.html#Verifier
-oauth2client.crypt.PyCryptoSigner	oauth2client.crypt-module.html#PyCryptoSigner
-oauth2client.crypt.OpenSSLSigner	oauth2client.crypt-module.html#OpenSSLSigner
-oauth2client.crypt.MAX_TOKEN_LIFETIME_SECS	oauth2client.crypt-module.html#MAX_TOKEN_LIFETIME_SECS
-oauth2client.crypt.logger	oauth2client.crypt-module.html#logger
-oauth2client.crypt.OpenSSLVerifier	oauth2client.crypt-module.html#OpenSSLVerifier
-oauth2client.crypt._urlsafe_b64encode	oauth2client.crypt-module.html#_urlsafe_b64encode
-oauth2client.crypt.Signer	oauth2client.crypt-module.html#Signer
-oauth2client.crypt._urlsafe_b64decode	oauth2client.crypt-module.html#_urlsafe_b64decode
-oauth2client.crypt.verify_signed_jwt_with_certs	oauth2client.crypt-module.html#verify_signed_jwt_with_certs
-oauth2client.crypt.CLOCK_SKEW_SECS	oauth2client.crypt-module.html#CLOCK_SKEW_SECS
-oauth2client.crypt._json_encode	oauth2client.crypt-module.html#_json_encode
-oauth2client.crypt.make_signed_jwt	oauth2client.crypt-module.html#make_signed_jwt
-oauth2client.django_orm	oauth2client.django_orm-module.html
-oauth2client.file	oauth2client.file-module.html
-oauth2client.gce	oauth2client.gce-module.html
-oauth2client.gce.META	oauth2client.gce-module.html#META
-oauth2client.gce.logger	oauth2client.gce-module.html#logger
-oauth2client.keyring_storage	oauth2client.keyring_storage-module.html
-oauth2client.locked_file	oauth2client.locked_file-module.html
-oauth2client.locked_file._FcntlOpener	oauth2client.locked_file-module.html#_FcntlOpener
-oauth2client.locked_file._Win32Opener	oauth2client.locked_file-module.html#_Win32Opener
-oauth2client.locked_file.validate_file	oauth2client.locked_file-module.html#validate_file
-oauth2client.locked_file.logger	oauth2client.locked_file-module.html#logger
-oauth2client.multistore_file	oauth2client.multistore_file-module.html
-oauth2client.multistore_file.get_all_credential_keys	oauth2client.multistore_file-module.html#get_all_credential_keys
-oauth2client.multistore_file.get_credential_storage_custom_string_key	oauth2client.multistore_file-module.html#get_credential_storage_custom_string_key
-oauth2client.multistore_file._get_multistore	oauth2client.multistore_file-module.html#_get_multistore
-oauth2client.multistore_file.get_credential_storage	oauth2client.multistore_file-module.html#get_credential_storage
-oauth2client.multistore_file.logger	oauth2client.multistore_file-module.html#logger
-oauth2client.multistore_file._multistores	oauth2client.multistore_file-module.html#_multistores
-oauth2client.multistore_file._multistores_lock	oauth2client.multistore_file-module.html#_multistores_lock
-oauth2client.multistore_file.get_credential_storage_custom_key	oauth2client.multistore_file-module.html#get_credential_storage_custom_key
-oauth2client.old_run	oauth2client.old_run-module.html
-oauth2client.old_run.run	oauth2client.old_run-module.html#run
-oauth2client.old_run.FLAGS	oauth2client.old_run-module.html#FLAGS
-oauth2client.tools	oauth2client.tools-module.html
-oauth2client.tools.argparser	oauth2client.tools-module.html#argparser
-oauth2client.tools.run	oauth2client.tools-module.html#run
-oauth2client.tools._CLIENT_SECRETS_MESSAGE	oauth2client.tools-module.html#_CLIENT_SECRETS_MESSAGE
-oauth2client.tools.message_if_missing	oauth2client.tools-module.html#message_if_missing
-oauth2client.tools.run_flow	oauth2client.tools-module.html#run_flow
-oauth2client.util	oauth2client.util-module.html
-oauth2client.util.POSITIONAL_EXCEPTION	oauth2client.util-module.html#POSITIONAL_EXCEPTION
-oauth2client.util._add_query_parameter	oauth2client.util-module.html#_add_query_parameter
-oauth2client.util.scopes_to_string	oauth2client.util-module.html#scopes_to_string
-oauth2client.util.dict_to_tuple_key	oauth2client.util-module.html#dict_to_tuple_key
-oauth2client.util.POSITIONAL_IGNORE	oauth2client.util-module.html#POSITIONAL_IGNORE
-oauth2client.util.positional	oauth2client.util-module.html#positional
-oauth2client.util.POSITIONAL_WARNING	oauth2client.util-module.html#POSITIONAL_WARNING
-oauth2client.util.logger	oauth2client.util-module.html#logger
-oauth2client.util.positional_parameters_enforcement	oauth2client.util-module.html#positional_parameters_enforcement
-oauth2client.util.POSITIONAL_SET	oauth2client.util-module.html#POSITIONAL_SET
-oauth2client.xsrfutil	oauth2client.xsrfutil-module.html
-oauth2client.xsrfutil.validate_token	oauth2client.xsrfutil-module.html#validate_token
-oauth2client.xsrfutil.DEFAULT_TIMEOUT_SECS	oauth2client.xsrfutil-module.html#DEFAULT_TIMEOUT_SECS
-oauth2client.xsrfutil.DELIMITER	oauth2client.xsrfutil-module.html#DELIMITER
-oauth2client.xsrfutil.generate_token	oauth2client.xsrfutil-module.html#generate_token
-apiclient.channel.Channel	apiclient.channel.Channel-class.html
-apiclient.channel.Channel.body	apiclient.channel.Channel-class.html#body
-apiclient.channel.Channel.update	apiclient.channel.Channel-class.html#update
-apiclient.channel.Channel.__init__	apiclient.channel.Channel-class.html#__init__
-apiclient.channel.Notification	apiclient.channel.Notification-class.html
-apiclient.channel.Notification.__init__	apiclient.channel.Notification-class.html#__init__
-apiclient.discovery.Resource	apiclient.discovery.Resource-class.html
-apiclient.discovery.Resource._add_nested_resources	apiclient.discovery.Resource-class.html#_add_nested_resources
-apiclient.discovery.Resource._set_dynamic_attr	apiclient.discovery.Resource-class.html#_set_dynamic_attr
-apiclient.discovery.Resource._add_next_methods	apiclient.discovery.Resource-class.html#_add_next_methods
-apiclient.discovery.Resource.__setstate__	apiclient.discovery.Resource-class.html#__setstate__
-apiclient.discovery.Resource.__init__	apiclient.discovery.Resource-class.html#__init__
-apiclient.discovery.Resource._set_service_methods	apiclient.discovery.Resource-class.html#_set_service_methods
-apiclient.discovery.Resource.__getstate__	apiclient.discovery.Resource-class.html#__getstate__
-apiclient.discovery.Resource._add_basic_methods	apiclient.discovery.Resource-class.html#_add_basic_methods
-apiclient.discovery.ResourceMethodParameters	apiclient.discovery.ResourceMethodParameters-class.html
-apiclient.discovery.ResourceMethodParameters.set_parameters	apiclient.discovery.ResourceMethodParameters-class.html#set_parameters
-apiclient.discovery.ResourceMethodParameters.__init__	apiclient.discovery.ResourceMethodParameters-class.html#__init__
-apiclient.errors.BatchError	apiclient.errors.BatchError-class.html
-apiclient.errors.BatchError.__str__	apiclient.errors.BatchError-class.html#__str__
-apiclient.errors.BatchError.__repr__	apiclient.errors.BatchError-class.html#__repr__
-apiclient.errors.BatchError.__init__	apiclient.errors.BatchError-class.html#__init__
-apiclient.errors.HttpError._get_reason	apiclient.errors.HttpError-class.html#_get_reason
-apiclient.errors.Error	apiclient.errors.Error-class.html
-apiclient.errors.HttpError	apiclient.errors.HttpError-class.html
-apiclient.errors.HttpError.__str__	apiclient.errors.HttpError-class.html#__str__
-apiclient.errors.HttpError.__repr__	apiclient.errors.HttpError-class.html#__repr__
-apiclient.errors.HttpError.__init__	apiclient.errors.HttpError-class.html#__init__
-apiclient.errors.HttpError._get_reason	apiclient.errors.HttpError-class.html#_get_reason
-apiclient.errors.InvalidChunkSizeError	apiclient.errors.InvalidChunkSizeError-class.html
-apiclient.errors.InvalidJsonError	apiclient.errors.InvalidJsonError-class.html
-apiclient.errors.InvalidNotificationError	apiclient.errors.InvalidNotificationError-class.html
-apiclient.errors.MediaUploadSizeError	apiclient.errors.MediaUploadSizeError-class.html
-apiclient.errors.ResumableUploadError	apiclient.errors.ResumableUploadError-class.html
-apiclient.errors.HttpError.__str__	apiclient.errors.HttpError-class.html#__str__
-apiclient.errors.HttpError.__repr__	apiclient.errors.HttpError-class.html#__repr__
-apiclient.errors.HttpError.__init__	apiclient.errors.HttpError-class.html#__init__
-apiclient.errors.HttpError._get_reason	apiclient.errors.HttpError-class.html#_get_reason
-apiclient.errors.UnacceptableMimeTypeError	apiclient.errors.UnacceptableMimeTypeError-class.html
-apiclient.errors.UnexpectedBodyError	apiclient.errors.UnexpectedBodyError-class.html
-apiclient.errors.UnexpectedBodyError.__init__	apiclient.errors.UnexpectedBodyError-class.html#__init__
-apiclient.errors.UnexpectedMethodError	apiclient.errors.UnexpectedMethodError-class.html
-apiclient.errors.UnexpectedMethodError.__init__	apiclient.errors.UnexpectedMethodError-class.html#__init__
-apiclient.errors.UnknownApiNameOrVersion	apiclient.errors.UnknownApiNameOrVersion-class.html
-apiclient.errors.UnknownFileType	apiclient.errors.UnknownFileType-class.html
-apiclient.errors.UnknownLinkType	apiclient.errors.UnknownLinkType-class.html
-apiclient.http.BatchHttpRequest	apiclient.http.BatchHttpRequest-class.html
-apiclient.http.BatchHttpRequest.__init__	apiclient.http.BatchHttpRequest-class.html#__init__
-apiclient.http.BatchHttpRequest._execute	apiclient.http.BatchHttpRequest-class.html#_execute
-apiclient.http.BatchHttpRequest.add	apiclient.http.BatchHttpRequest-class.html#add
-apiclient.http.BatchHttpRequest._refresh_and_apply_credentials	apiclient.http.BatchHttpRequest-class.html#_refresh_and_apply_credentials
-apiclient.http.BatchHttpRequest.execute	apiclient.http.BatchHttpRequest-class.html#execute
-apiclient.http.BatchHttpRequest._id_to_header	apiclient.http.BatchHttpRequest-class.html#_id_to_header
-apiclient.http.BatchHttpRequest._deserialize_response	apiclient.http.BatchHttpRequest-class.html#_deserialize_response
-apiclient.http.BatchHttpRequest._header_to_id	apiclient.http.BatchHttpRequest-class.html#_header_to_id
-apiclient.http.BatchHttpRequest._new_id	apiclient.http.BatchHttpRequest-class.html#_new_id
-apiclient.http.BatchHttpRequest._serialize_request	apiclient.http.BatchHttpRequest-class.html#_serialize_request
-apiclient.http.HttpMock	apiclient.http.HttpMock-class.html
-apiclient.http.HttpMock.request	apiclient.http.HttpMock-class.html#request
-apiclient.http.HttpMock.__init__	apiclient.http.HttpMock-class.html#__init__
-apiclient.http.HttpMockSequence	apiclient.http.HttpMockSequence-class.html
-apiclient.http.HttpMockSequence.request	apiclient.http.HttpMockSequence-class.html#request
-apiclient.http.HttpMockSequence.__init__	apiclient.http.HttpMockSequence-class.html#__init__
-apiclient.http.HttpRequest	apiclient.http.HttpRequest-class.html
-apiclient.http.HttpRequest.from_json	apiclient.http.HttpRequest-class.html#from_json
-apiclient.http.HttpRequest.execute	apiclient.http.HttpRequest-class.html#execute
-apiclient.http.HttpRequest._process_response	apiclient.http.HttpRequest-class.html#_process_response
-apiclient.http.HttpRequest.next_chunk	apiclient.http.HttpRequest-class.html#next_chunk
-apiclient.http.HttpRequest.add_response_callback	apiclient.http.HttpRequest-class.html#add_response_callback
-apiclient.http.HttpRequest.to_json	apiclient.http.HttpRequest-class.html#to_json
-apiclient.http.HttpRequest.__init__	apiclient.http.HttpRequest-class.html#__init__
-apiclient.http.HttpRequestMock	apiclient.http.HttpRequestMock-class.html
-apiclient.http.HttpRequestMock.execute	apiclient.http.HttpRequestMock-class.html#execute
-apiclient.http.HttpRequestMock.__init__	apiclient.http.HttpRequestMock-class.html#__init__
-apiclient.http.MediaDownloadProgress	apiclient.http.MediaDownloadProgress-class.html
-apiclient.http.MediaDownloadProgress.progress	apiclient.http.MediaDownloadProgress-class.html#progress
-apiclient.http.MediaDownloadProgress.__init__	apiclient.http.MediaDownloadProgress-class.html#__init__
-apiclient.http.MediaFileUpload	apiclient.http.MediaFileUpload-class.html
-apiclient.http.MediaFileUpload.from_json	apiclient.http.MediaFileUpload-class.html#from_json
-apiclient.http.MediaIoBaseUpload.stream	apiclient.http.MediaIoBaseUpload-class.html#stream
-apiclient.http.MediaFileUpload.to_json	apiclient.http.MediaFileUpload-class.html#to_json
-apiclient.http.MediaUpload.new_from_json	apiclient.http.MediaUpload-class.html#new_from_json
-apiclient.http.MediaFileUpload.__init__	apiclient.http.MediaFileUpload-class.html#__init__
-apiclient.http.MediaIoBaseUpload.size	apiclient.http.MediaIoBaseUpload-class.html#size
-apiclient.http.MediaUpload._to_json	apiclient.http.MediaUpload-class.html#_to_json
-apiclient.http.MediaIoBaseUpload.chunksize	apiclient.http.MediaIoBaseUpload-class.html#chunksize
-apiclient.http.MediaIoBaseUpload.getbytes	apiclient.http.MediaIoBaseUpload-class.html#getbytes
-apiclient.http.MediaIoBaseUpload.mimetype	apiclient.http.MediaIoBaseUpload-class.html#mimetype
-apiclient.http.MediaIoBaseUpload.resumable	apiclient.http.MediaIoBaseUpload-class.html#resumable
-apiclient.http.MediaIoBaseUpload.has_stream	apiclient.http.MediaIoBaseUpload-class.html#has_stream
-apiclient.http.MediaInMemoryUpload	apiclient.http.MediaInMemoryUpload-class.html
-apiclient.http.MediaIoBaseUpload.stream	apiclient.http.MediaIoBaseUpload-class.html#stream
-apiclient.http.MediaIoBaseUpload.to_json	apiclient.http.MediaIoBaseUpload-class.html#to_json
-apiclient.http.MediaUpload.new_from_json	apiclient.http.MediaUpload-class.html#new_from_json
-apiclient.http.MediaInMemoryUpload.__init__	apiclient.http.MediaInMemoryUpload-class.html#__init__
-apiclient.http.MediaIoBaseUpload.size	apiclient.http.MediaIoBaseUpload-class.html#size
-apiclient.http.MediaUpload._to_json	apiclient.http.MediaUpload-class.html#_to_json
-apiclient.http.MediaIoBaseUpload.chunksize	apiclient.http.MediaIoBaseUpload-class.html#chunksize
-apiclient.http.MediaIoBaseUpload.getbytes	apiclient.http.MediaIoBaseUpload-class.html#getbytes
-apiclient.http.MediaIoBaseUpload.mimetype	apiclient.http.MediaIoBaseUpload-class.html#mimetype
-apiclient.http.MediaIoBaseUpload.resumable	apiclient.http.MediaIoBaseUpload-class.html#resumable
-apiclient.http.MediaIoBaseUpload.has_stream	apiclient.http.MediaIoBaseUpload-class.html#has_stream
-apiclient.http.MediaIoBaseDownload	apiclient.http.MediaIoBaseDownload-class.html
-apiclient.http.MediaIoBaseDownload.next_chunk	apiclient.http.MediaIoBaseDownload-class.html#next_chunk
-apiclient.http.MediaIoBaseDownload.__init__	apiclient.http.MediaIoBaseDownload-class.html#__init__
-apiclient.http.MediaIoBaseUpload	apiclient.http.MediaIoBaseUpload-class.html
-apiclient.http.MediaIoBaseUpload.stream	apiclient.http.MediaIoBaseUpload-class.html#stream
-apiclient.http.MediaIoBaseUpload.to_json	apiclient.http.MediaIoBaseUpload-class.html#to_json
-apiclient.http.MediaUpload.new_from_json	apiclient.http.MediaUpload-class.html#new_from_json
-apiclient.http.MediaIoBaseUpload.__init__	apiclient.http.MediaIoBaseUpload-class.html#__init__
-apiclient.http.MediaIoBaseUpload.size	apiclient.http.MediaIoBaseUpload-class.html#size
-apiclient.http.MediaUpload._to_json	apiclient.http.MediaUpload-class.html#_to_json
-apiclient.http.MediaIoBaseUpload.chunksize	apiclient.http.MediaIoBaseUpload-class.html#chunksize
-apiclient.http.MediaIoBaseUpload.getbytes	apiclient.http.MediaIoBaseUpload-class.html#getbytes
-apiclient.http.MediaIoBaseUpload.mimetype	apiclient.http.MediaIoBaseUpload-class.html#mimetype
-apiclient.http.MediaIoBaseUpload.resumable	apiclient.http.MediaIoBaseUpload-class.html#resumable
-apiclient.http.MediaIoBaseUpload.has_stream	apiclient.http.MediaIoBaseUpload-class.html#has_stream
-apiclient.http.MediaUpload	apiclient.http.MediaUpload-class.html
-apiclient.http.MediaUpload.stream	apiclient.http.MediaUpload-class.html#stream
-apiclient.http.MediaUpload.to_json	apiclient.http.MediaUpload-class.html#to_json
-apiclient.http.MediaUpload.new_from_json	apiclient.http.MediaUpload-class.html#new_from_json
-apiclient.http.MediaUpload.size	apiclient.http.MediaUpload-class.html#size
-apiclient.http.MediaUpload._to_json	apiclient.http.MediaUpload-class.html#_to_json
-apiclient.http.MediaUpload.chunksize	apiclient.http.MediaUpload-class.html#chunksize
-apiclient.http.MediaUpload.getbytes	apiclient.http.MediaUpload-class.html#getbytes
-apiclient.http.MediaUpload.mimetype	apiclient.http.MediaUpload-class.html#mimetype
-apiclient.http.MediaUpload.resumable	apiclient.http.MediaUpload-class.html#resumable
-apiclient.http.MediaUpload.has_stream	apiclient.http.MediaUpload-class.html#has_stream
-apiclient.http.MediaUploadProgress	apiclient.http.MediaUploadProgress-class.html
-apiclient.http.MediaUploadProgress.progress	apiclient.http.MediaUploadProgress-class.html#progress
-apiclient.http.MediaUploadProgress.__init__	apiclient.http.MediaUploadProgress-class.html#__init__
-apiclient.http.RequestMockBuilder	apiclient.http.RequestMockBuilder-class.html
-apiclient.http.RequestMockBuilder.__call__	apiclient.http.RequestMockBuilder-class.html#__call__
-apiclient.http.RequestMockBuilder.__init__	apiclient.http.RequestMockBuilder-class.html#__init__
-apiclient.http._StreamSlice	apiclient.http._StreamSlice-class.html
-apiclient.http._StreamSlice.read	apiclient.http._StreamSlice-class.html#read
-apiclient.http._StreamSlice.__init__	apiclient.http._StreamSlice-class.html#__init__
-apiclient.model.BaseModel	apiclient.model.BaseModel-class.html
-apiclient.model.BaseModel.serialize	apiclient.model.BaseModel-class.html#serialize
-apiclient.model.BaseModel.accept	apiclient.model.BaseModel-class.html#accept
-apiclient.model.BaseModel._build_query	apiclient.model.BaseModel-class.html#_build_query
-apiclient.model.BaseModel.content_type	apiclient.model.BaseModel-class.html#content_type
-apiclient.model.BaseModel._log_request	apiclient.model.BaseModel-class.html#_log_request
-apiclient.model.BaseModel.response	apiclient.model.BaseModel-class.html#response
-apiclient.model.BaseModel.alt_param	apiclient.model.BaseModel-class.html#alt_param
-apiclient.model.BaseModel.deserialize	apiclient.model.BaseModel-class.html#deserialize
-apiclient.model.BaseModel.request	apiclient.model.BaseModel-class.html#request
-apiclient.model.BaseModel.no_content_response	apiclient.model.BaseModel-class.html#no_content_response
-apiclient.model.BaseModel._log_response	apiclient.model.BaseModel-class.html#_log_response
-apiclient.model.JsonModel	apiclient.model.JsonModel-class.html
-apiclient.model.JsonModel.serialize	apiclient.model.JsonModel-class.html#serialize
-apiclient.model.JsonModel.accept	apiclient.model.JsonModel-class.html#accept
-apiclient.model.BaseModel._build_query	apiclient.model.BaseModel-class.html#_build_query
-apiclient.model.JsonModel.__init__	apiclient.model.JsonModel-class.html#__init__
-apiclient.model.JsonModel.content_type	apiclient.model.JsonModel-class.html#content_type
-apiclient.model.BaseModel._log_request	apiclient.model.BaseModel-class.html#_log_request
-apiclient.model.BaseModel.response	apiclient.model.BaseModel-class.html#response
-apiclient.model.JsonModel.alt_param	apiclient.model.JsonModel-class.html#alt_param
-apiclient.model.JsonModel.deserialize	apiclient.model.JsonModel-class.html#deserialize
-apiclient.model.BaseModel.request	apiclient.model.BaseModel-class.html#request
-apiclient.model.JsonModel.no_content_response	apiclient.model.JsonModel-class.html#no_content_response
-apiclient.model.BaseModel._log_response	apiclient.model.BaseModel-class.html#_log_response
-apiclient.model.MediaModel	apiclient.model.MediaModel-class.html
-apiclient.model.JsonModel.serialize	apiclient.model.JsonModel-class.html#serialize
-apiclient.model.MediaModel.accept	apiclient.model.MediaModel-class.html#accept
-apiclient.model.BaseModel._build_query	apiclient.model.BaseModel-class.html#_build_query
-apiclient.model.JsonModel.__init__	apiclient.model.JsonModel-class.html#__init__
-apiclient.model.MediaModel.content_type	apiclient.model.MediaModel-class.html#content_type
-apiclient.model.BaseModel._log_request	apiclient.model.BaseModel-class.html#_log_request
-apiclient.model.BaseModel.response	apiclient.model.BaseModel-class.html#response
-apiclient.model.MediaModel.alt_param	apiclient.model.MediaModel-class.html#alt_param
-apiclient.model.MediaModel.deserialize	apiclient.model.MediaModel-class.html#deserialize
-apiclient.model.BaseModel.request	apiclient.model.BaseModel-class.html#request
-apiclient.model.MediaModel.no_content_response	apiclient.model.MediaModel-class.html#no_content_response
-apiclient.model.BaseModel._log_response	apiclient.model.BaseModel-class.html#_log_response
-apiclient.model.Model	apiclient.model.Model-class.html
-apiclient.model.Model.request	apiclient.model.Model-class.html#request
-apiclient.model.Model.response	apiclient.model.Model-class.html#response
-apiclient.model.ProtocolBufferModel	apiclient.model.ProtocolBufferModel-class.html
-apiclient.model.ProtocolBufferModel.serialize	apiclient.model.ProtocolBufferModel-class.html#serialize
-apiclient.model.ProtocolBufferModel.accept	apiclient.model.ProtocolBufferModel-class.html#accept
-apiclient.model.BaseModel._build_query	apiclient.model.BaseModel-class.html#_build_query
-apiclient.model.ProtocolBufferModel.__init__	apiclient.model.ProtocolBufferModel-class.html#__init__
-apiclient.model.ProtocolBufferModel.content_type	apiclient.model.ProtocolBufferModel-class.html#content_type
-apiclient.model.BaseModel._log_request	apiclient.model.BaseModel-class.html#_log_request
-apiclient.model.BaseModel.response	apiclient.model.BaseModel-class.html#response
-apiclient.model.ProtocolBufferModel.alt_param	apiclient.model.ProtocolBufferModel-class.html#alt_param
-apiclient.model.ProtocolBufferModel.deserialize	apiclient.model.ProtocolBufferModel-class.html#deserialize
-apiclient.model.BaseModel.request	apiclient.model.BaseModel-class.html#request
-apiclient.model.ProtocolBufferModel.no_content_response	apiclient.model.ProtocolBufferModel-class.html#no_content_response
-apiclient.model.BaseModel._log_response	apiclient.model.BaseModel-class.html#_log_response
-apiclient.model.RawModel	apiclient.model.RawModel-class.html
-apiclient.model.JsonModel.serialize	apiclient.model.JsonModel-class.html#serialize
-apiclient.model.RawModel.accept	apiclient.model.RawModel-class.html#accept
-apiclient.model.BaseModel._build_query	apiclient.model.BaseModel-class.html#_build_query
-apiclient.model.JsonModel.__init__	apiclient.model.JsonModel-class.html#__init__
-apiclient.model.RawModel.content_type	apiclient.model.RawModel-class.html#content_type
-apiclient.model.BaseModel._log_request	apiclient.model.BaseModel-class.html#_log_request
-apiclient.model.BaseModel.response	apiclient.model.BaseModel-class.html#response
-apiclient.model.RawModel.alt_param	apiclient.model.RawModel-class.html#alt_param
-apiclient.model.RawModel.deserialize	apiclient.model.RawModel-class.html#deserialize
-apiclient.model.BaseModel.request	apiclient.model.BaseModel-class.html#request
-apiclient.model.RawModel.no_content_response	apiclient.model.RawModel-class.html#no_content_response
-apiclient.model.BaseModel._log_response	apiclient.model.BaseModel-class.html#_log_response
-apiclient.schema.Schemas	apiclient.schema.Schemas-class.html
-apiclient.schema.Schemas._prettyPrintByName	apiclient.schema.Schemas-class.html#_prettyPrintByName
-apiclient.schema.Schemas._prettyPrintSchema	apiclient.schema.Schemas-class.html#_prettyPrintSchema
-apiclient.schema.Schemas.get	apiclient.schema.Schemas-class.html#get
-apiclient.schema.Schemas.prettyPrintByName	apiclient.schema.Schemas-class.html#prettyPrintByName
-apiclient.schema.Schemas.prettyPrintSchema	apiclient.schema.Schemas-class.html#prettyPrintSchema
-apiclient.schema.Schemas.__init__	apiclient.schema.Schemas-class.html#__init__
-apiclient.schema._SchemaToStruct	apiclient.schema._SchemaToStruct-class.html
-apiclient.schema._SchemaToStruct.indent	apiclient.schema._SchemaToStruct-class.html#indent
-apiclient.schema._SchemaToStruct._to_str_impl	apiclient.schema._SchemaToStruct-class.html#_to_str_impl
-apiclient.schema._SchemaToStruct.emitEnd	apiclient.schema._SchemaToStruct-class.html#emitEnd
-apiclient.schema._SchemaToStruct.to_str	apiclient.schema._SchemaToStruct-class.html#to_str
-apiclient.schema._SchemaToStruct.emitBegin	apiclient.schema._SchemaToStruct-class.html#emitBegin
-apiclient.schema._SchemaToStruct.undent	apiclient.schema._SchemaToStruct-class.html#undent
-apiclient.schema._SchemaToStruct.emit	apiclient.schema._SchemaToStruct-class.html#emit
-apiclient.schema._SchemaToStruct.__init__	apiclient.schema._SchemaToStruct-class.html#__init__
-google.appengine.ext.db.PropertiedClass	google.appengine.ext.db.PropertiedClass-class.html
-google.appengine.ext.db.PropertiedClass.__init__	google.appengine.ext.db.PropertiedClass-class.html#__init__
-oauth2client.appengine.AppAssertionCredentials	oauth2client.appengine.AppAssertionCredentials-class.html
-oauth2client.appengine.AppAssertionCredentials.from_json	oauth2client.appengine.AppAssertionCredentials-class.html#from_json
-oauth2client.client.OAuth2Credentials.authorize	oauth2client.client.OAuth2Credentials-class.html#authorize
-oauth2client.client.OAuth2Credentials.revoke	oauth2client.client.OAuth2Credentials-class.html#revoke
-oauth2client.client.OAuth2Credentials.set_store	oauth2client.client.OAuth2Credentials-class.html#set_store
-oauth2client.client.OAuth2Credentials.to_json	oauth2client.client.OAuth2Credentials-class.html#to_json
-oauth2client.client.OAuth2Credentials.apply	oauth2client.client.OAuth2Credentials-class.html#apply
-oauth2client.client.Credentials.new_from_json	oauth2client.client.Credentials-class.html#new_from_json
-oauth2client.appengine.AppAssertionCredentials.__init__	oauth2client.appengine.AppAssertionCredentials-class.html#__init__
-oauth2client.client.OAuth2Credentials._generate_refresh_request_headers	oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_headers
-oauth2client.client.Credentials._to_json	oauth2client.client.Credentials-class.html#_to_json
-oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS	oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS
-oauth2client.client.OAuth2Credentials.__getstate__	oauth2client.client.OAuth2Credentials-class.html#__getstate__
-oauth2client.client.OAuth2Credentials.__setstate__	oauth2client.client.OAuth2Credentials-class.html#__setstate__
-oauth2client.appengine.AppAssertionCredentials._refresh	oauth2client.appengine.AppAssertionCredentials-class.html#_refresh
-oauth2client.client.AssertionCredentials._revoke	oauth2client.client.AssertionCredentials-class.html#_revoke
-oauth2client.client.AssertionCredentials._generate_assertion	oauth2client.client.AssertionCredentials-class.html#_generate_assertion
-oauth2client.client.OAuth2Credentials._do_revoke	oauth2client.client.OAuth2Credentials-class.html#_do_revoke
-oauth2client.client.AssertionCredentials._generate_refresh_request_body	oauth2client.client.AssertionCredentials-class.html#_generate_refresh_request_body
-oauth2client.client.OAuth2Credentials._updateFromCredential	oauth2client.client.OAuth2Credentials-class.html#_updateFromCredential
-oauth2client.client.OAuth2Credentials._do_refresh_request	oauth2client.client.OAuth2Credentials-class.html#_do_refresh_request
-oauth2client.client.OAuth2Credentials.refresh	oauth2client.client.OAuth2Credentials-class.html#refresh
-oauth2client.client.OAuth2Credentials.access_token_expired	oauth2client.client.OAuth2Credentials-class.html#access_token_expired
-oauth2client.appengine.CredentialsModel	oauth2client.appengine.CredentialsModel-class.html
-google.appengine.ext.db.Model.__metaclass__	google.appengine.ext.db.PropertiedClass-class.html
-oauth2client.appengine.CredentialsModel.credentials	oauth2client.appengine.CredentialsModel-class.html#credentials
-oauth2client.appengine.CredentialsNDBModel	oauth2client.appengine.CredentialsNDBModel-class.html
-oauth2client.appengine.CredentialsNDBModel.credentials	oauth2client.appengine.CredentialsNDBModel-class.html#credentials
-oauth2client.appengine.CredentialsNDBModel._get_kind	oauth2client.appengine.CredentialsNDBModel-class.html#_get_kind
-oauth2client.appengine.CredentialsNDBProperty	oauth2client.appengine.CredentialsNDBProperty-class.html
-oauth2client.appengine.CredentialsNDBProperty._validate	oauth2client.appengine.CredentialsNDBProperty-class.html#_validate
-oauth2client.appengine.CredentialsNDBProperty._from_base_type	oauth2client.appengine.CredentialsNDBProperty-class.html#_from_base_type
-oauth2client.appengine.CredentialsNDBProperty._to_base_type	oauth2client.appengine.CredentialsNDBProperty-class.html#_to_base_type
-oauth2client.appengine.CredentialsProperty	oauth2client.appengine.CredentialsProperty-class.html
-oauth2client.appengine.CredentialsProperty.make_value_from_datastore	oauth2client.appengine.CredentialsProperty-class.html#make_value_from_datastore
-oauth2client.appengine.CredentialsProperty.data_type	oauth2client.appengine.CredentialsProperty-class.html#data_type
-oauth2client.appengine.CredentialsProperty.validate	oauth2client.appengine.CredentialsProperty-class.html#validate
-oauth2client.appengine.CredentialsProperty.get_value_for_datastore	oauth2client.appengine.CredentialsProperty-class.html#get_value_for_datastore
-oauth2client.appengine.FlowNDBProperty	oauth2client.appengine.FlowNDBProperty-class.html
-oauth2client.appengine.FlowNDBProperty._validate	oauth2client.appengine.FlowNDBProperty-class.html#_validate
-oauth2client.appengine.FlowProperty	oauth2client.appengine.FlowProperty-class.html
-oauth2client.appengine.FlowProperty.make_value_from_datastore	oauth2client.appengine.FlowProperty-class.html#make_value_from_datastore
-oauth2client.appengine.FlowProperty.data_type	oauth2client.appengine.FlowProperty-class.html#data_type
-oauth2client.appengine.FlowProperty.validate	oauth2client.appengine.FlowProperty-class.html#validate
-oauth2client.appengine.FlowProperty.empty	oauth2client.appengine.FlowProperty-class.html#empty
-oauth2client.appengine.FlowProperty.get_value_for_datastore	oauth2client.appengine.FlowProperty-class.html#get_value_for_datastore
-oauth2client.appengine.InvalidClientSecretsError	oauth2client.appengine.InvalidClientSecretsError-class.html
-oauth2client.appengine.InvalidXsrfTokenError	oauth2client.appengine.InvalidXsrfTokenError-class.html
-oauth2client.appengine.OAuth2Decorator	oauth2client.appengine.OAuth2Decorator-class.html
-oauth2client.appengine.OAuth2Decorator.get_flow	oauth2client.appengine.OAuth2Decorator-class.html#get_flow
-oauth2client.appengine.OAuth2Decorator.set_credentials	oauth2client.appengine.OAuth2Decorator-class.html#set_credentials
-oauth2client.appengine.OAuth2Decorator.set_flow	oauth2client.appengine.OAuth2Decorator-class.html#set_flow
-oauth2client.appengine.OAuth2Decorator.__init__	oauth2client.appengine.OAuth2Decorator-class.html#__init__
-oauth2client.appengine.OAuth2Decorator.authorize_url	oauth2client.appengine.OAuth2Decorator-class.html#authorize_url
-oauth2client.appengine.OAuth2Decorator.callback_handler	oauth2client.appengine.OAuth2Decorator-class.html#callback_handler
-oauth2client.appengine.OAuth2Decorator._display_error_message	oauth2client.appengine.OAuth2Decorator-class.html#_display_error_message
-oauth2client.appengine.OAuth2Decorator.http	oauth2client.appengine.OAuth2Decorator-class.html#http
-oauth2client.appengine.OAuth2Decorator._create_flow	oauth2client.appengine.OAuth2Decorator-class.html#_create_flow
-oauth2client.appengine.OAuth2Decorator.has_credentials	oauth2client.appengine.OAuth2Decorator-class.html#has_credentials
-oauth2client.appengine.OAuth2Decorator.credentials	oauth2client.appengine.OAuth2Decorator-class.html#credentials
-oauth2client.appengine.OAuth2Decorator.callback_application	oauth2client.appengine.OAuth2Decorator-class.html#callback_application
-oauth2client.appengine.OAuth2Decorator.oauth_aware	oauth2client.appengine.OAuth2Decorator-class.html#oauth_aware
-oauth2client.appengine.OAuth2Decorator.flow	oauth2client.appengine.OAuth2Decorator-class.html#flow
-oauth2client.appengine.OAuth2Decorator.get_credentials	oauth2client.appengine.OAuth2Decorator-class.html#get_credentials
-oauth2client.appengine.OAuth2Decorator.callback_path	oauth2client.appengine.OAuth2Decorator-class.html#callback_path
-oauth2client.appengine.OAuth2Decorator.oauth_required	oauth2client.appengine.OAuth2Decorator-class.html#oauth_required
-oauth2client.appengine.OAuth2DecoratorFromClientSecrets	oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html
-oauth2client.appengine.OAuth2Decorator.get_flow	oauth2client.appengine.OAuth2Decorator-class.html#get_flow
-oauth2client.appengine.OAuth2Decorator.set_credentials	oauth2client.appengine.OAuth2Decorator-class.html#set_credentials
-oauth2client.appengine.OAuth2Decorator.set_flow	oauth2client.appengine.OAuth2Decorator-class.html#set_flow
-oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__	oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html#__init__
-oauth2client.appengine.OAuth2Decorator.authorize_url	oauth2client.appengine.OAuth2Decorator-class.html#authorize_url
-oauth2client.appengine.OAuth2Decorator.callback_handler	oauth2client.appengine.OAuth2Decorator-class.html#callback_handler
-oauth2client.appengine.OAuth2Decorator._display_error_message	oauth2client.appengine.OAuth2Decorator-class.html#_display_error_message
-oauth2client.appengine.OAuth2Decorator.http	oauth2client.appengine.OAuth2Decorator-class.html#http
-oauth2client.appengine.OAuth2Decorator._create_flow	oauth2client.appengine.OAuth2Decorator-class.html#_create_flow
-oauth2client.appengine.OAuth2Decorator.has_credentials	oauth2client.appengine.OAuth2Decorator-class.html#has_credentials
-oauth2client.appengine.OAuth2Decorator.credentials	oauth2client.appengine.OAuth2Decorator-class.html#credentials
-oauth2client.appengine.OAuth2Decorator.callback_application	oauth2client.appengine.OAuth2Decorator-class.html#callback_application
-oauth2client.appengine.OAuth2Decorator.oauth_aware	oauth2client.appengine.OAuth2Decorator-class.html#oauth_aware
-oauth2client.appengine.OAuth2Decorator.flow	oauth2client.appengine.OAuth2Decorator-class.html#flow
-oauth2client.appengine.OAuth2Decorator.get_credentials	oauth2client.appengine.OAuth2Decorator-class.html#get_credentials
-oauth2client.appengine.OAuth2Decorator.callback_path	oauth2client.appengine.OAuth2Decorator-class.html#callback_path
-oauth2client.appengine.OAuth2Decorator.oauth_required	oauth2client.appengine.OAuth2Decorator-class.html#oauth_required
-oauth2client.appengine.SiteXsrfSecretKey	oauth2client.appengine.SiteXsrfSecretKey-class.html
-google.appengine.ext.db.Model.__metaclass__	google.appengine.ext.db.PropertiedClass-class.html
-oauth2client.appengine.SiteXsrfSecretKey.secret	oauth2client.appengine.SiteXsrfSecretKey-class.html#secret
-oauth2client.appengine.SiteXsrfSecretKeyNDB	oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html
-oauth2client.appengine.SiteXsrfSecretKeyNDB.secret	oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html#secret
-oauth2client.appengine.SiteXsrfSecretKeyNDB._get_kind	oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html#_get_kind
-oauth2client.appengine.StorageByKeyName	oauth2client.appengine.StorageByKeyName-class.html
-oauth2client.client.Storage.acquire_lock	oauth2client.client.Storage-class.html#acquire_lock
-oauth2client.appengine.StorageByKeyName.locked_put	oauth2client.appengine.StorageByKeyName-class.html#locked_put
-oauth2client.appengine.StorageByKeyName.__init__	oauth2client.appengine.StorageByKeyName-class.html#__init__
-oauth2client.appengine.StorageByKeyName.locked_delete	oauth2client.appengine.StorageByKeyName-class.html#locked_delete
-oauth2client.appengine.StorageByKeyName.locked_get	oauth2client.appengine.StorageByKeyName-class.html#locked_get
-oauth2client.client.Storage.get	oauth2client.client.Storage-class.html#get
-oauth2client.client.Storage.put	oauth2client.client.Storage-class.html#put
-oauth2client.appengine.StorageByKeyName._is_ndb	oauth2client.appengine.StorageByKeyName-class.html#_is_ndb
-oauth2client.appengine.StorageByKeyName._get_entity	oauth2client.appengine.StorageByKeyName-class.html#_get_entity
-oauth2client.client.Storage.release_lock	oauth2client.client.Storage-class.html#release_lock
-oauth2client.appengine.StorageByKeyName._delete_entity	oauth2client.appengine.StorageByKeyName-class.html#_delete_entity
-oauth2client.client.Storage.delete	oauth2client.client.Storage-class.html#delete
-oauth2client.client.AccessTokenCredentials	oauth2client.client.AccessTokenCredentials-class.html
-oauth2client.client.AccessTokenCredentials.from_json	oauth2client.client.AccessTokenCredentials-class.html#from_json
-oauth2client.client.OAuth2Credentials.authorize	oauth2client.client.OAuth2Credentials-class.html#authorize
-oauth2client.client.OAuth2Credentials.revoke	oauth2client.client.OAuth2Credentials-class.html#revoke
-oauth2client.client.OAuth2Credentials.set_store	oauth2client.client.OAuth2Credentials-class.html#set_store
-oauth2client.client.OAuth2Credentials.to_json	oauth2client.client.OAuth2Credentials-class.html#to_json
-oauth2client.client.OAuth2Credentials.apply	oauth2client.client.OAuth2Credentials-class.html#apply
-oauth2client.client.Credentials.new_from_json	oauth2client.client.Credentials-class.html#new_from_json
-oauth2client.client.AccessTokenCredentials.__init__	oauth2client.client.AccessTokenCredentials-class.html#__init__
-oauth2client.client.Credentials._to_json	oauth2client.client.Credentials-class.html#_to_json
-oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS	oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS
-oauth2client.client.OAuth2Credentials.__getstate__	oauth2client.client.OAuth2Credentials-class.html#__getstate__
-oauth2client.client.OAuth2Credentials.__setstate__	oauth2client.client.OAuth2Credentials-class.html#__setstate__
-oauth2client.client.AccessTokenCredentials._refresh	oauth2client.client.AccessTokenCredentials-class.html#_refresh
-oauth2client.client.OAuth2Credentials._generate_refresh_request_headers	oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_headers
-oauth2client.client.AccessTokenCredentials._revoke	oauth2client.client.AccessTokenCredentials-class.html#_revoke
-oauth2client.client.OAuth2Credentials._do_revoke	oauth2client.client.OAuth2Credentials-class.html#_do_revoke
-oauth2client.client.OAuth2Credentials._generate_refresh_request_body	oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_body
-oauth2client.client.OAuth2Credentials._updateFromCredential	oauth2client.client.OAuth2Credentials-class.html#_updateFromCredential
-oauth2client.client.OAuth2Credentials._do_refresh_request	oauth2client.client.OAuth2Credentials-class.html#_do_refresh_request
-oauth2client.client.OAuth2Credentials.refresh	oauth2client.client.OAuth2Credentials-class.html#refresh
-oauth2client.client.OAuth2Credentials.access_token_expired	oauth2client.client.OAuth2Credentials-class.html#access_token_expired
-oauth2client.client.AccessTokenCredentialsError	oauth2client.client.AccessTokenCredentialsError-class.html
-oauth2client.client.AccessTokenRefreshError	oauth2client.client.AccessTokenRefreshError-class.html
-oauth2client.client.AssertionCredentials	oauth2client.client.AssertionCredentials-class.html
-oauth2client.client.OAuth2Credentials.from_json	oauth2client.client.OAuth2Credentials-class.html#from_json
-oauth2client.client.OAuth2Credentials.authorize	oauth2client.client.OAuth2Credentials-class.html#authorize
-oauth2client.client.OAuth2Credentials.revoke	oauth2client.client.OAuth2Credentials-class.html#revoke
-oauth2client.client.OAuth2Credentials.set_store	oauth2client.client.OAuth2Credentials-class.html#set_store
-oauth2client.client.OAuth2Credentials.to_json	oauth2client.client.OAuth2Credentials-class.html#to_json
-oauth2client.client.OAuth2Credentials.apply	oauth2client.client.OAuth2Credentials-class.html#apply
-oauth2client.client.Credentials.new_from_json	oauth2client.client.Credentials-class.html#new_from_json
-oauth2client.client.AssertionCredentials.__init__	oauth2client.client.AssertionCredentials-class.html#__init__
-oauth2client.client.OAuth2Credentials._generate_refresh_request_headers	oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_headers
-oauth2client.client.Credentials._to_json	oauth2client.client.Credentials-class.html#_to_json
-oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS	oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS
-oauth2client.client.OAuth2Credentials.__getstate__	oauth2client.client.OAuth2Credentials-class.html#__getstate__
-oauth2client.client.OAuth2Credentials.__setstate__	oauth2client.client.OAuth2Credentials-class.html#__setstate__
-oauth2client.client.OAuth2Credentials._refresh	oauth2client.client.OAuth2Credentials-class.html#_refresh
-oauth2client.client.AssertionCredentials._revoke	oauth2client.client.AssertionCredentials-class.html#_revoke
-oauth2client.client.AssertionCredentials._generate_assertion	oauth2client.client.AssertionCredentials-class.html#_generate_assertion
-oauth2client.client.OAuth2Credentials._do_revoke	oauth2client.client.OAuth2Credentials-class.html#_do_revoke
-oauth2client.client.AssertionCredentials._generate_refresh_request_body	oauth2client.client.AssertionCredentials-class.html#_generate_refresh_request_body
-oauth2client.client.OAuth2Credentials._updateFromCredential	oauth2client.client.OAuth2Credentials-class.html#_updateFromCredential
-oauth2client.client.OAuth2Credentials._do_refresh_request	oauth2client.client.OAuth2Credentials-class.html#_do_refresh_request
-oauth2client.client.OAuth2Credentials.refresh	oauth2client.client.OAuth2Credentials-class.html#refresh
-oauth2client.client.OAuth2Credentials.access_token_expired	oauth2client.client.OAuth2Credentials-class.html#access_token_expired
-oauth2client.client.Credentials	oauth2client.client.Credentials-class.html
-oauth2client.client.Credentials.authorize	oauth2client.client.Credentials-class.html#authorize
-oauth2client.client.Credentials.from_json	oauth2client.client.Credentials-class.html#from_json
-oauth2client.client.Credentials.revoke	oauth2client.client.Credentials-class.html#revoke
-oauth2client.client.Credentials.to_json	oauth2client.client.Credentials-class.html#to_json
-oauth2client.client.Credentials.apply	oauth2client.client.Credentials-class.html#apply
-oauth2client.client.Credentials.new_from_json	oauth2client.client.Credentials-class.html#new_from_json
-oauth2client.client.Credentials._to_json	oauth2client.client.Credentials-class.html#_to_json
-oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS	oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS
-oauth2client.client.Credentials.refresh	oauth2client.client.Credentials-class.html#refresh
-oauth2client.client.Error	oauth2client.client.Error-class.html
-oauth2client.client.Flow	oauth2client.client.Flow-class.html
-oauth2client.client.FlowExchangeError	oauth2client.client.FlowExchangeError-class.html
-oauth2client.client.MemoryCache	oauth2client.client.MemoryCache-class.html
-oauth2client.client.MemoryCache.set	oauth2client.client.MemoryCache-class.html#set
-oauth2client.client.MemoryCache.get	oauth2client.client.MemoryCache-class.html#get
-oauth2client.client.MemoryCache.__init__	oauth2client.client.MemoryCache-class.html#__init__
-oauth2client.client.MemoryCache.delete	oauth2client.client.MemoryCache-class.html#delete
-oauth2client.client.NonAsciiHeaderError	oauth2client.client.NonAsciiHeaderError-class.html
-oauth2client.client.OAuth2Credentials	oauth2client.client.OAuth2Credentials-class.html
-oauth2client.client.OAuth2Credentials.authorize	oauth2client.client.OAuth2Credentials-class.html#authorize
-oauth2client.client.OAuth2Credentials.from_json	oauth2client.client.OAuth2Credentials-class.html#from_json
-oauth2client.client.OAuth2Credentials.revoke	oauth2client.client.OAuth2Credentials-class.html#revoke
-oauth2client.client.OAuth2Credentials.set_store	oauth2client.client.OAuth2Credentials-class.html#set_store
-oauth2client.client.OAuth2Credentials.to_json	oauth2client.client.OAuth2Credentials-class.html#to_json
-oauth2client.client.OAuth2Credentials.apply	oauth2client.client.OAuth2Credentials-class.html#apply
-oauth2client.client.Credentials.new_from_json	oauth2client.client.Credentials-class.html#new_from_json
-oauth2client.client.OAuth2Credentials.__init__	oauth2client.client.OAuth2Credentials-class.html#__init__
-oauth2client.client.Credentials._to_json	oauth2client.client.Credentials-class.html#_to_json
-oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS	oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS
-oauth2client.client.OAuth2Credentials.__getstate__	oauth2client.client.OAuth2Credentials-class.html#__getstate__
-oauth2client.client.OAuth2Credentials.__setstate__	oauth2client.client.OAuth2Credentials-class.html#__setstate__
-oauth2client.client.OAuth2Credentials._refresh	oauth2client.client.OAuth2Credentials-class.html#_refresh
-oauth2client.client.OAuth2Credentials._generate_refresh_request_headers	oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_headers
-oauth2client.client.OAuth2Credentials._revoke	oauth2client.client.OAuth2Credentials-class.html#_revoke
-oauth2client.client.OAuth2Credentials._do_revoke	oauth2client.client.OAuth2Credentials-class.html#_do_revoke
-oauth2client.client.OAuth2Credentials._generate_refresh_request_body	oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_body
-oauth2client.client.OAuth2Credentials._updateFromCredential	oauth2client.client.OAuth2Credentials-class.html#_updateFromCredential
-oauth2client.client.OAuth2Credentials._do_refresh_request	oauth2client.client.OAuth2Credentials-class.html#_do_refresh_request
-oauth2client.client.OAuth2Credentials.refresh	oauth2client.client.OAuth2Credentials-class.html#refresh
-oauth2client.client.OAuth2Credentials.access_token_expired	oauth2client.client.OAuth2Credentials-class.html#access_token_expired
-oauth2client.client.OAuth2WebServerFlow	oauth2client.client.OAuth2WebServerFlow-class.html
-oauth2client.client.OAuth2WebServerFlow.step2_exchange	oauth2client.client.OAuth2WebServerFlow-class.html#step2_exchange
-oauth2client.client.OAuth2WebServerFlow.step1_get_authorize_url	oauth2client.client.OAuth2WebServerFlow-class.html#step1_get_authorize_url
-oauth2client.client.OAuth2WebServerFlow.__init__	oauth2client.client.OAuth2WebServerFlow-class.html#__init__
-oauth2client.client.SignedJwtAssertionCredentials	oauth2client.client.SignedJwtAssertionCredentials-class.html
-oauth2client.client.SignedJwtAssertionCredentials.from_json	oauth2client.client.SignedJwtAssertionCredentials-class.html#from_json
-oauth2client.client.OAuth2Credentials.authorize	oauth2client.client.OAuth2Credentials-class.html#authorize
-oauth2client.client.OAuth2Credentials.revoke	oauth2client.client.OAuth2Credentials-class.html#revoke
-oauth2client.client.OAuth2Credentials.set_store	oauth2client.client.OAuth2Credentials-class.html#set_store
-oauth2client.client.OAuth2Credentials.to_json	oauth2client.client.OAuth2Credentials-class.html#to_json
-oauth2client.client.OAuth2Credentials.apply	oauth2client.client.OAuth2Credentials-class.html#apply
-oauth2client.client.Credentials.new_from_json	oauth2client.client.Credentials-class.html#new_from_json
-oauth2client.client.SignedJwtAssertionCredentials.__init__	oauth2client.client.SignedJwtAssertionCredentials-class.html#__init__
-oauth2client.client.OAuth2Credentials._generate_refresh_request_headers	oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_headers
-oauth2client.client.Credentials._to_json	oauth2client.client.Credentials-class.html#_to_json
-oauth2client.client.SignedJwtAssertionCredentials.MAX_TOKEN_LIFETIME_SECS	oauth2client.client.SignedJwtAssertionCredentials-class.html#MAX_TOKEN_LIFETIME_SECS
-oauth2client.client.SignedJwtAssertionCredentials._generate_assertion	oauth2client.client.SignedJwtAssertionCredentials-class.html#_generate_assertion
-oauth2client.client.OAuth2Credentials.__getstate__	oauth2client.client.OAuth2Credentials-class.html#__getstate__
-oauth2client.client.OAuth2Credentials.__setstate__	oauth2client.client.OAuth2Credentials-class.html#__setstate__
-oauth2client.client.OAuth2Credentials._refresh	oauth2client.client.OAuth2Credentials-class.html#_refresh
-oauth2client.client.AssertionCredentials._revoke	oauth2client.client.AssertionCredentials-class.html#_revoke
-oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS	oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS
-oauth2client.client.OAuth2Credentials._do_revoke	oauth2client.client.OAuth2Credentials-class.html#_do_revoke
-oauth2client.client.AssertionCredentials._generate_refresh_request_body	oauth2client.client.AssertionCredentials-class.html#_generate_refresh_request_body
-oauth2client.client.OAuth2Credentials._updateFromCredential	oauth2client.client.OAuth2Credentials-class.html#_updateFromCredential
-oauth2client.client.OAuth2Credentials._do_refresh_request	oauth2client.client.OAuth2Credentials-class.html#_do_refresh_request
-oauth2client.client.OAuth2Credentials.refresh	oauth2client.client.OAuth2Credentials-class.html#refresh
-oauth2client.client.OAuth2Credentials.access_token_expired	oauth2client.client.OAuth2Credentials-class.html#access_token_expired
-oauth2client.client.Storage	oauth2client.client.Storage-class.html
-oauth2client.client.Storage.acquire_lock	oauth2client.client.Storage-class.html#acquire_lock
-oauth2client.client.Storage.locked_put	oauth2client.client.Storage-class.html#locked_put
-oauth2client.client.Storage.locked_delete	oauth2client.client.Storage-class.html#locked_delete
-oauth2client.client.Storage.locked_get	oauth2client.client.Storage-class.html#locked_get
-oauth2client.client.Storage.get	oauth2client.client.Storage-class.html#get
-oauth2client.client.Storage.put	oauth2client.client.Storage-class.html#put
-oauth2client.client.Storage.release_lock	oauth2client.client.Storage-class.html#release_lock
-oauth2client.client.Storage.delete	oauth2client.client.Storage-class.html#delete
-oauth2client.client.TokenRevokeError	oauth2client.client.TokenRevokeError-class.html
-oauth2client.client.UnknownClientSecretsFlowError	oauth2client.client.UnknownClientSecretsFlowError-class.html
-oauth2client.client.VerifyJwtTokenError	oauth2client.client.VerifyJwtTokenError-class.html
-oauth2client.clientsecrets.Error	oauth2client.clientsecrets.Error-class.html
-oauth2client.clientsecrets.InvalidClientSecretsError	oauth2client.clientsecrets.InvalidClientSecretsError-class.html
-oauth2client.crypt.AppIdentityError	oauth2client.crypt.AppIdentityError-class.html
-oauth2client.django_orm.CredentialsField	oauth2client.django_orm.CredentialsField-class.html
-oauth2client.django_orm.CredentialsField.get_internal_type	oauth2client.django_orm.CredentialsField-class.html#get_internal_type
-oauth2client.django_orm.CredentialsField.__metaclass__	oauth2client.django_orm.CredentialsField-class.html#__metaclass__
-oauth2client.django_orm.CredentialsField.to_python	oauth2client.django_orm.CredentialsField-class.html#to_python
-oauth2client.django_orm.CredentialsField.__init__	oauth2client.django_orm.CredentialsField-class.html#__init__
-oauth2client.django_orm.CredentialsField.get_db_prep_value	oauth2client.django_orm.CredentialsField-class.html#get_db_prep_value
-oauth2client.django_orm.FlowField	oauth2client.django_orm.FlowField-class.html
-oauth2client.django_orm.FlowField.get_internal_type	oauth2client.django_orm.FlowField-class.html#get_internal_type
-oauth2client.django_orm.FlowField.__metaclass__	oauth2client.django_orm.FlowField-class.html#__metaclass__
-oauth2client.django_orm.FlowField.to_python	oauth2client.django_orm.FlowField-class.html#to_python
-oauth2client.django_orm.FlowField.__init__	oauth2client.django_orm.FlowField-class.html#__init__
-oauth2client.django_orm.FlowField.get_db_prep_value	oauth2client.django_orm.FlowField-class.html#get_db_prep_value
-oauth2client.django_orm.Storage	oauth2client.django_orm.Storage-class.html
-oauth2client.client.Storage.acquire_lock	oauth2client.client.Storage-class.html#acquire_lock
-oauth2client.django_orm.Storage.locked_put	oauth2client.django_orm.Storage-class.html#locked_put
-oauth2client.django_orm.Storage.__init__	oauth2client.django_orm.Storage-class.html#__init__
-oauth2client.django_orm.Storage.locked_delete	oauth2client.django_orm.Storage-class.html#locked_delete
-oauth2client.django_orm.Storage.locked_get	oauth2client.django_orm.Storage-class.html#locked_get
-oauth2client.client.Storage.get	oauth2client.client.Storage-class.html#get
-oauth2client.client.Storage.put	oauth2client.client.Storage-class.html#put
-oauth2client.client.Storage.release_lock	oauth2client.client.Storage-class.html#release_lock
-oauth2client.client.Storage.delete	oauth2client.client.Storage-class.html#delete
-oauth2client.file.CredentialsFileSymbolicLinkError	oauth2client.file.CredentialsFileSymbolicLinkError-class.html
-oauth2client.file.Storage	oauth2client.file.Storage-class.html
-oauth2client.file.Storage.acquire_lock	oauth2client.file.Storage-class.html#acquire_lock
-oauth2client.file.Storage._validate_file	oauth2client.file.Storage-class.html#_validate_file
-oauth2client.file.Storage.locked_put	oauth2client.file.Storage-class.html#locked_put
-oauth2client.file.Storage.__init__	oauth2client.file.Storage-class.html#__init__
-oauth2client.file.Storage.locked_delete	oauth2client.file.Storage-class.html#locked_delete
-oauth2client.file.Storage.locked_get	oauth2client.file.Storage-class.html#locked_get
-oauth2client.client.Storage.get	oauth2client.client.Storage-class.html#get
-oauth2client.file.Storage._create_file_if_needed	oauth2client.file.Storage-class.html#_create_file_if_needed
-oauth2client.client.Storage.put	oauth2client.client.Storage-class.html#put
-oauth2client.file.Storage.release_lock	oauth2client.file.Storage-class.html#release_lock
-oauth2client.client.Storage.delete	oauth2client.client.Storage-class.html#delete
-oauth2client.gce.AppAssertionCredentials	oauth2client.gce.AppAssertionCredentials-class.html
-oauth2client.gce.AppAssertionCredentials.from_json	oauth2client.gce.AppAssertionCredentials-class.html#from_json
-oauth2client.client.OAuth2Credentials.authorize	oauth2client.client.OAuth2Credentials-class.html#authorize
-oauth2client.client.OAuth2Credentials.revoke	oauth2client.client.OAuth2Credentials-class.html#revoke
-oauth2client.client.OAuth2Credentials.set_store	oauth2client.client.OAuth2Credentials-class.html#set_store
-oauth2client.client.OAuth2Credentials.to_json	oauth2client.client.OAuth2Credentials-class.html#to_json
-oauth2client.client.OAuth2Credentials.apply	oauth2client.client.OAuth2Credentials-class.html#apply
-oauth2client.client.Credentials.new_from_json	oauth2client.client.Credentials-class.html#new_from_json
-oauth2client.gce.AppAssertionCredentials.__init__	oauth2client.gce.AppAssertionCredentials-class.html#__init__
-oauth2client.client.OAuth2Credentials._generate_refresh_request_headers	oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_headers
-oauth2client.client.Credentials._to_json	oauth2client.client.Credentials-class.html#_to_json
-oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS	oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS
-oauth2client.client.OAuth2Credentials.__getstate__	oauth2client.client.OAuth2Credentials-class.html#__getstate__
-oauth2client.client.OAuth2Credentials.__setstate__	oauth2client.client.OAuth2Credentials-class.html#__setstate__
-oauth2client.gce.AppAssertionCredentials._refresh	oauth2client.gce.AppAssertionCredentials-class.html#_refresh
-oauth2client.client.AssertionCredentials._revoke	oauth2client.client.AssertionCredentials-class.html#_revoke
-oauth2client.client.AssertionCredentials._generate_assertion	oauth2client.client.AssertionCredentials-class.html#_generate_assertion
-oauth2client.client.OAuth2Credentials._do_revoke	oauth2client.client.OAuth2Credentials-class.html#_do_revoke
-oauth2client.client.AssertionCredentials._generate_refresh_request_body	oauth2client.client.AssertionCredentials-class.html#_generate_refresh_request_body
-oauth2client.client.OAuth2Credentials._updateFromCredential	oauth2client.client.OAuth2Credentials-class.html#_updateFromCredential
-oauth2client.client.OAuth2Credentials._do_refresh_request	oauth2client.client.OAuth2Credentials-class.html#_do_refresh_request
-oauth2client.client.OAuth2Credentials.refresh	oauth2client.client.OAuth2Credentials-class.html#refresh
-oauth2client.client.OAuth2Credentials.access_token_expired	oauth2client.client.OAuth2Credentials-class.html#access_token_expired
-oauth2client.keyring_storage.Storage	oauth2client.keyring_storage.Storage-class.html
-oauth2client.keyring_storage.Storage.acquire_lock	oauth2client.keyring_storage.Storage-class.html#acquire_lock
-oauth2client.keyring_storage.Storage.locked_put	oauth2client.keyring_storage.Storage-class.html#locked_put
-oauth2client.keyring_storage.Storage.__init__	oauth2client.keyring_storage.Storage-class.html#__init__
-oauth2client.keyring_storage.Storage.locked_delete	oauth2client.keyring_storage.Storage-class.html#locked_delete
-oauth2client.keyring_storage.Storage.locked_get	oauth2client.keyring_storage.Storage-class.html#locked_get
-oauth2client.client.Storage.get	oauth2client.client.Storage-class.html#get
-oauth2client.client.Storage.put	oauth2client.client.Storage-class.html#put
-oauth2client.keyring_storage.Storage.release_lock	oauth2client.keyring_storage.Storage-class.html#release_lock
-oauth2client.client.Storage.delete	oauth2client.client.Storage-class.html#delete
-oauth2client.locked_file.AlreadyLockedException	oauth2client.locked_file.AlreadyLockedException-class.html
-oauth2client.locked_file.CredentialsFileSymbolicLinkError	oauth2client.locked_file.CredentialsFileSymbolicLinkError-class.html
-oauth2client.locked_file.LockedFile	oauth2client.locked_file.LockedFile-class.html
-oauth2client.locked_file.LockedFile.open_and_lock	oauth2client.locked_file.LockedFile-class.html#open_and_lock
-oauth2client.locked_file.LockedFile.file_handle	oauth2client.locked_file.LockedFile-class.html#file_handle
-oauth2client.locked_file.LockedFile.is_locked	oauth2client.locked_file.LockedFile-class.html#is_locked
-oauth2client.locked_file.LockedFile.unlock_and_close	oauth2client.locked_file.LockedFile-class.html#unlock_and_close
-oauth2client.locked_file.LockedFile.filename	oauth2client.locked_file.LockedFile-class.html#filename
-oauth2client.locked_file.LockedFile.__init__	oauth2client.locked_file.LockedFile-class.html#__init__
-oauth2client.locked_file._Opener	oauth2client.locked_file._Opener-class.html
-oauth2client.locked_file._Opener.open_and_lock	oauth2client.locked_file._Opener-class.html#open_and_lock
-oauth2client.locked_file._Opener.file_handle	oauth2client.locked_file._Opener-class.html#file_handle
-oauth2client.locked_file._Opener.is_locked	oauth2client.locked_file._Opener-class.html#is_locked
-oauth2client.locked_file._Opener.unlock_and_close	oauth2client.locked_file._Opener-class.html#unlock_and_close
-oauth2client.locked_file._Opener.filename	oauth2client.locked_file._Opener-class.html#filename
-oauth2client.locked_file._Opener.__init__	oauth2client.locked_file._Opener-class.html#__init__
-oauth2client.locked_file._PosixOpener	oauth2client.locked_file._PosixOpener-class.html
-oauth2client.locked_file._PosixOpener.open_and_lock	oauth2client.locked_file._PosixOpener-class.html#open_and_lock
-oauth2client.locked_file._Opener.file_handle	oauth2client.locked_file._Opener-class.html#file_handle
-oauth2client.locked_file._Opener.is_locked	oauth2client.locked_file._Opener-class.html#is_locked
-oauth2client.locked_file._PosixOpener._posix_lockfile	oauth2client.locked_file._PosixOpener-class.html#_posix_lockfile
-oauth2client.locked_file._Opener.filename	oauth2client.locked_file._Opener-class.html#filename
-oauth2client.locked_file._PosixOpener.unlock_and_close	oauth2client.locked_file._PosixOpener-class.html#unlock_and_close
-oauth2client.locked_file._Opener.__init__	oauth2client.locked_file._Opener-class.html#__init__
-oauth2client.multistore_file.Error	oauth2client.multistore_file.Error-class.html
-oauth2client.multistore_file.NewerCredentialStoreError	oauth2client.multistore_file.NewerCredentialStoreError-class.html
-oauth2client.multistore_file._MultiStore	oauth2client.multistore_file._MultiStore-class.html
-oauth2client.multistore_file._MultiStore._get_storage	oauth2client.multistore_file._MultiStore-class.html#_get_storage
-oauth2client.multistore_file._MultiStore._delete_credential	oauth2client.multistore_file._MultiStore-class.html#_delete_credential
-oauth2client.multistore_file._MultiStore._write	oauth2client.multistore_file._MultiStore-class.html#_write
-oauth2client.multistore_file._MultiStore.__init__	oauth2client.multistore_file._MultiStore-class.html#__init__
-oauth2client.multistore_file._MultiStore._locked_json_write	oauth2client.multistore_file._MultiStore-class.html#_locked_json_write
-oauth2client.multistore_file._MultiStore._get_credential	oauth2client.multistore_file._MultiStore-class.html#_get_credential
-oauth2client.multistore_file._MultiStore._lock	oauth2client.multistore_file._MultiStore-class.html#_lock
-oauth2client.multistore_file._MultiStore._refresh_data_cache	oauth2client.multistore_file._MultiStore-class.html#_refresh_data_cache
-oauth2client.multistore_file._MultiStore._unlock	oauth2client.multistore_file._MultiStore-class.html#_unlock
-oauth2client.multistore_file._MultiStore._create_file_if_needed	oauth2client.multistore_file._MultiStore-class.html#_create_file_if_needed
-oauth2client.multistore_file._MultiStore._get_all_credential_keys	oauth2client.multistore_file._MultiStore-class.html#_get_all_credential_keys
-oauth2client.multistore_file._MultiStore._Storage	oauth2client.multistore_file._MultiStore._Storage-class.html
-oauth2client.multistore_file._MultiStore._update_credential	oauth2client.multistore_file._MultiStore-class.html#_update_credential
-oauth2client.multistore_file._MultiStore._decode_credential_from_json	oauth2client.multistore_file._MultiStore-class.html#_decode_credential_from_json
-oauth2client.multistore_file._MultiStore._locked_json_read	oauth2client.multistore_file._MultiStore-class.html#_locked_json_read
-oauth2client.multistore_file._MultiStore._Storage	oauth2client.multistore_file._MultiStore._Storage-class.html
-oauth2client.multistore_file._MultiStore._Storage.acquire_lock	oauth2client.multistore_file._MultiStore._Storage-class.html#acquire_lock
-oauth2client.multistore_file._MultiStore._Storage.locked_put	oauth2client.multistore_file._MultiStore._Storage-class.html#locked_put
-oauth2client.multistore_file._MultiStore._Storage.__init__	oauth2client.multistore_file._MultiStore._Storage-class.html#__init__
-oauth2client.multistore_file._MultiStore._Storage.locked_delete	oauth2client.multistore_file._MultiStore._Storage-class.html#locked_delete
-oauth2client.multistore_file._MultiStore._Storage.locked_get	oauth2client.multistore_file._MultiStore._Storage-class.html#locked_get
-oauth2client.client.Storage.get	oauth2client.client.Storage-class.html#get
-oauth2client.client.Storage.put	oauth2client.client.Storage-class.html#put
-oauth2client.multistore_file._MultiStore._Storage.release_lock	oauth2client.multistore_file._MultiStore._Storage-class.html#release_lock
-oauth2client.client.Storage.delete	oauth2client.client.Storage-class.html#delete
-oauth2client.tools.ClientRedirectHandler	oauth2client.tools.ClientRedirectHandler-class.html
-oauth2client.tools.ClientRedirectHandler.do_GET	oauth2client.tools.ClientRedirectHandler-class.html#do_GET
-oauth2client.tools.ClientRedirectHandler.log_message	oauth2client.tools.ClientRedirectHandler-class.html#log_message
-oauth2client.tools.ClientRedirectServer	oauth2client.tools.ClientRedirectServer-class.html
-oauth2client.tools.ClientRedirectServer.query_params	oauth2client.tools.ClientRedirectServer-class.html#query_params
diff --git a/docs/epy/apiclient-module.html b/docs/epy/apiclient-module.html
deleted file mode 100644
index ff11bf8..0000000
--- a/docs/epy/apiclient-module.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        Package&nbsp;apiclient
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package apiclient</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient-pysrc.html">source&nbsp;code</a></span></p>
-<hr />
-<div class="fields">      <p><strong>Version:</strong>
-        1.2
-      </p>
-</div><!-- ==================== SUBMODULES ==================== -->
-<a name="section-Submodules"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Submodules</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Submodules"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr><td class="summary">
-  <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="apiclient.channel-module.html">apiclient.channel</a></strong>: <em class="summary">Channel notifications support.</em>    </li>
-    <li> <strong class="uidlink"><a href="apiclient.discovery-module.html">apiclient.discovery</a></strong>: <em class="summary">Client for discovery based APIs.</em>    </li>
-    <li> <strong class="uidlink"><a href="apiclient.errors-module.html">apiclient.errors</a></strong>: <em class="summary">Errors for the library.</em>    </li>
-    <li> <strong class="uidlink"><a href="apiclient.http-module.html">apiclient.http</a></strong>: <em class="summary">Classes to encapsulate a single HTTP request.</em>    </li>
-    <li> <strong class="uidlink"><a href="apiclient.mimeparse-module.html">apiclient.mimeparse</a></strong>: <em class="summary">MIME-Type Parser</em>    </li>
-    <li> <strong class="uidlink"><a href="apiclient.model-module.html">apiclient.model</a></strong>: <em class="summary">Model objects for requests and responses.</em>    </li>
-    <li> <strong class="uidlink"><a href="apiclient.sample_tools-module.html">apiclient.sample_tools</a></strong>: <em class="summary">Utilities for making samples.</em>    </li>
-    <li> <strong class="uidlink"><a href="apiclient.schema-module.html">apiclient.schema</a></strong>: <em class="summary">Schema processing for discovery based APIs</em>    </li>
-  </ul></td></tr>
-</table>
-
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient-pysrc.html b/docs/epy/apiclient-pysrc.html
deleted file mode 100644
index 5bc17ff..0000000
--- a/docs/epy/apiclient-pysrc.html
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        Package&nbsp;apiclient
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="apiclient-module.html">Package apiclient</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2012 Google Inc.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-name">__version__</tt> <tt class="py-op">=</tt> <tt class="py-docstring">"1.2"</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.channel-module.html b/docs/epy/apiclient.channel-module.html
deleted file mode 100644
index 8db31e3..0000000
--- a/docs/epy/apiclient.channel-module.html
+++ /dev/null
@@ -1,471 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.channel</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Module&nbsp;channel
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.channel-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module channel</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.channel-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-Channel notifications support.
-
-Classes and functions to support channel subscriptions and notifications
-on those channels.
-
-Notes:
-  - This code is based on experimental APIs and is subject to change.
-  - Notification does not do deduplication of notification ids, that's up to
-    the receiver.
-  - Storing the Channel between calls is up to the caller.
-
-
-Example setting up a channel:
-
-  # Create a new channel that gets notifications via webhook.
-  channel = new_webhook_channel(&quot;https://example.com/my_web_hook&quot;)
-
-  # Store the channel, keyed by 'channel.id'. Store it before calling the
-  # watch method because notifications may start arriving before the watch
-  # method returns.
-  ...
-
-  resp = service.objects().watchAll(
-    bucket=&quot;some_bucket_id&quot;, body=channel.body()).execute()
-  channel.update(resp)
-
-  # Store the channel, keyed by 'channel.id'. Store it after being updated
-  # since the resource_id value will now be correct, and that's needed to
-  # stop a subscription.
-  ...
-
-
-An example Webhook implementation using webapp2. Note that webapp2 puts
-headers in a case insensitive dictionary, as headers aren't guaranteed to
-always be upper case.
-
-  id = self.request.headers[X_GOOG_CHANNEL_ID]
-
-  # Retrieve the channel by id.
-  channel = ...
-
-  # Parse notification from the headers, including validating the id.
-  n = notification_from_headers(channel, self.request.headers)
-
-  # Do app specific stuff with the notification here.
-  if n.resource_state == 'sync':
-    # Code to handle sync state.
-  elif n.resource_state == 'exists':
-    # Code to handle the exists state.
-  elif n.resource_state == 'not_exists':
-    # Code to handle the not exists state.
-
-
-Example of unsubscribing.
-
-  service.channels().stop(channel.body())
-
-</pre>
-
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.channel.Notification-class.html" class="summary-name">Notification</a><br />
-      A Notification from a Channel.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.channel.Channel-class.html" class="summary-name">Channel</a><br />
-      A Channel for notifications.
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_upper_header_keys"></a><span class="summary-sig-name">_upper_header_keys</span>(<span class="summary-sig-arg">headers</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.channel-pysrc.html#_upper_header_keys">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.channel-module.html#notification_from_headers" class="summary-sig-name">notification_from_headers</a>(<span class="summary-sig-arg">channel</span>,
-        <span class="summary-sig-arg">headers</span>)</span><br />
-      Parse a notification from the webhook request headers, validate
-  the notification, and return a Notification object.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.channel-pysrc.html#notification_from_headers">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.channel-module.html#new_webhook_channel" class="summary-sig-name">new_webhook_channel</a>(<span class="summary-sig-arg">url</span>,
-        <span class="summary-sig-arg">token</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">expiration</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">params</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Create a new webhook Channel.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.channel-pysrc.html#new_webhook_channel">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="EPOCH"></a><span class="summary-name">EPOCH</span> = <code title="datetime.datetime.utcfromtimestamp(0)">datetime.datetime.utcfromtimestamp(0)</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.channel-module.html#CHANNEL_PARAMS" class="summary-name">CHANNEL_PARAMS</a> = <code title="{'address': 'address', 'id': 'id', 'expiration': 'expiration', 'params\
-': 'params', 'resourceId': 'resource_id', 'resourceUri': 'resource_uri\
-', 'type': 'type', 'token': 'token',}">{'address': 'address', 'id': 'id', 'expiratio<code class="variable-ellipsis">...</code></code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="X_GOOG_CHANNEL_ID"></a><span class="summary-name">X_GOOG_CHANNEL_ID</span> = <code title="'X-GOOG-CHANNEL-ID'">'X-GOOG-CHANNEL-ID'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="X_GOOG_MESSAGE_NUMBER"></a><span class="summary-name">X_GOOG_MESSAGE_NUMBER</span> = <code title="'X-GOOG-MESSAGE-NUMBER'">'X-GOOG-MESSAGE-NUMBER'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="X_GOOG_RESOURCE_STATE"></a><span class="summary-name">X_GOOG_RESOURCE_STATE</span> = <code title="'X-GOOG-RESOURCE-STATE'">'X-GOOG-RESOURCE-STATE'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="X_GOOG_RESOURCE_URI"></a><span class="summary-name">X_GOOG_RESOURCE_URI</span> = <code title="'X-GOOG-RESOURCE-URI'">'X-GOOG-RESOURCE-URI'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="X_GOOG_RESOURCE_ID"></a><span class="summary-name">X_GOOG_RESOURCE_ID</span> = <code title="'X-GOOG-RESOURCE-ID'">'X-GOOG-RESOURCE-ID'</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="notification_from_headers"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">notification_from_headers</span>(<span class="sig-arg">channel</span>,
-        <span class="sig-arg">headers</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.channel-pysrc.html#notification_from_headers">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Parse a notification from the webhook request headers, validate
-  the notification, and return a Notification object.
-
-Args:
-  channel: Channel, The channel that the notification is associated with.
-  headers: dict, A dictionary like object that contains the request headers
-    from the webhook HTTP request.
-
-Returns:
-  A Notification object.
-
-Raises:
-  errors.InvalidNotificationError if the notification is invalid.
-  ValueError if the X-GOOG-MESSAGE-NUMBER can't be converted to an int.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="new_webhook_channel"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">new_webhook_channel</span>(<span class="sig-arg">url</span>,
-        <span class="sig-arg">token</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">expiration</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">params</span>=<span class="sig-default">None</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.channel-pysrc.html#new_webhook_channel">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Create a new webhook Channel.
-
-Args:
-  url: str, URL to post notifications to.
-  token: str, An arbitrary string associated with the channel that
-    is delivered to the target address with each notification delivered
-    over this channel.
-  expiration: datetime.datetime, A time in the future when the channel
-    should expire. Can also be None if the subscription should use the
-    default expiration. Note that different services may have different
-    limits on how long a subscription lasts. Check the response from the
-    watch() method to see the value the service has set for an expiration
-    time.
-  params: dict, Extra parameters to pass on channel creation. Currently
-    not used for webhook channels.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-VariablesDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="CHANNEL_PARAMS"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <h3 class="epydoc">CHANNEL_PARAMS</h3>
-  
-  <dl class="fields">
-  </dl>
-  <dl class="fields">
-    <dt>Value:</dt>
-      <dd><table><tr><td><pre class="variable">
-{'address': 'address', 'id': 'id', 'expiration': 'expiration', 'params<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-': 'params', 'resourceId': 'resource_id', 'resourceUri': 'resource_uri<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-', 'type': 'type', 'token': 'token',}
-</pre></td></tr></table>
-</dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.channel-pysrc.html b/docs/epy/apiclient.channel-pysrc.html
deleted file mode 100644
index 3bfc25d..0000000
--- a/docs/epy/apiclient.channel-pysrc.html
+++ /dev/null
@@ -1,391 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.channel</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Module&nbsp;channel
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.channel-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="apiclient.channel-module.html">Module apiclient.channel</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-docstring">"""Channel notifications support.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Classes and functions to support channel subscriptions and notifications</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">on those channels.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">Notes:</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">  - This code is based on experimental APIs and is subject to change.</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">  - Notification does not do deduplication of notification ids, that's up to</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">    the receiver.</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">  - Storing the Channel between calls is up to the caller.</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">Example setting up a channel:</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">  # Create a new channel that gets notifications via webhook.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">  channel = new_webhook_channel("https://example.com/my_web_hook")</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">  # Store the channel, keyed by 'channel.id'. Store it before calling the</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">  # watch method because notifications may start arriving before the watch</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">  # method returns.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">  ...</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">  resp = service.objects().watchAll(</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">    bucket="some_bucket_id", body=channel.body()).execute()</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">  channel.update(resp)</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">  # Store the channel, keyed by 'channel.id'. Store it after being updated</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-docstring">  # since the resource_id value will now be correct, and that's needed to</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-docstring">  # stop a subscription.</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-docstring">  ...</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-docstring">An example Webhook implementation using webapp2. Note that webapp2 puts</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring">headers in a case insensitive dictionary, as headers aren't guaranteed to</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-docstring">always be upper case.</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-docstring">  id = self.request.headers[X_GOOG_CHANNEL_ID]</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-docstring">  # Retrieve the channel by id.</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-docstring">  channel = ...</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-docstring">  # Parse notification from the headers, including validating the id.</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-docstring">  n = notification_from_headers(channel, self.request.headers)</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">  # Do app specific stuff with the notification here.</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">  if n.resource_state == 'sync':</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring">    # Code to handle sync state.</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring">  elif n.resource_state == 'exists':</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-docstring">    # Code to handle the exists state.</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring">  elif n.resource_state == 'not_exists':</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">    # Code to handle the not exists state.</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">Example of unsubscribing.</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">  service.channels().stop(channel.body())</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">datetime</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">uuid</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package apiclient=apiclient-module.html"><a title="apiclient" class="py-name" href="#" onclick="return doclink('link-0', 'apiclient', 'link-0');">apiclient</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module apiclient.errors=apiclient.errors-module.html"><a title="apiclient.errors" class="py-name" href="#" onclick="return doclink('link-1', 'errors', 'link-1');">errors</a></tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name" targets="Package oauth2client=oauth2client-module.html"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-2', 'oauth2client', 'link-2');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module oauth2client.util=oauth2client.util-module.html"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-3', 'util', 'link-3');">util</a></tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-comment"># The unix time epoch starts at midnight 1970.</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable apiclient.channel.EPOCH=apiclient.channel-module.html#EPOCH"><a title="apiclient.channel.EPOCH" class="py-name" href="#" onclick="return doclink('link-4', 'EPOCH', 'link-4');">EPOCH</a></tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">utcfromtimestamp</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-comment"># Map the names of the parameters in the JSON channel description to</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-comment"># the parameter names we use in the Channel class.</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt id="link-5" class="py-name" targets="Variable apiclient.channel.CHANNEL_PARAMS=apiclient.channel-module.html#CHANNEL_PARAMS"><a title="apiclient.channel.CHANNEL_PARAMS" class="py-name" href="#" onclick="return doclink('link-5', 'CHANNEL_PARAMS', 'link-5');">CHANNEL_PARAMS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">    <tt class="py-string">'address'</tt><tt class="py-op">:</tt> <tt class="py-string">'address'</tt><tt class="py-op">,</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">    <tt class="py-string">'id'</tt><tt class="py-op">:</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">    <tt class="py-string">'expiration'</tt><tt class="py-op">:</tt> <tt class="py-string">'expiration'</tt><tt class="py-op">,</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">    <tt class="py-string">'params'</tt><tt class="py-op">:</tt> <tt class="py-string">'params'</tt><tt class="py-op">,</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">    <tt class="py-string">'resourceId'</tt><tt class="py-op">:</tt> <tt class="py-string">'resource_id'</tt><tt class="py-op">,</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">    <tt class="py-string">'resourceUri'</tt><tt class="py-op">:</tt> <tt class="py-string">'resource_uri'</tt><tt class="py-op">,</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">    <tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'type'</tt><tt class="py-op">,</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">    <tt class="py-string">'token'</tt><tt class="py-op">:</tt> <tt class="py-string">'token'</tt><tt class="py-op">,</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">    <tt class="py-op">}</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt id="link-6" class="py-name" targets="Variable apiclient.channel.X_GOOG_CHANNEL_ID=apiclient.channel-module.html#X_GOOG_CHANNEL_ID"><a title="apiclient.channel.X_GOOG_CHANNEL_ID" class="py-name" href="#" onclick="return doclink('link-6', 'X_GOOG_CHANNEL_ID', 'link-6');">X_GOOG_CHANNEL_ID</a></tt>     <tt class="py-op">=</tt> <tt class="py-string">'X-GOOG-CHANNEL-ID'</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt id="link-7" class="py-name" targets="Variable apiclient.channel.X_GOOG_MESSAGE_NUMBER=apiclient.channel-module.html#X_GOOG_MESSAGE_NUMBER"><a title="apiclient.channel.X_GOOG_MESSAGE_NUMBER" class="py-name" href="#" onclick="return doclink('link-7', 'X_GOOG_MESSAGE_NUMBER', 'link-7');">X_GOOG_MESSAGE_NUMBER</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'X-GOOG-MESSAGE-NUMBER'</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt id="link-8" class="py-name" targets="Variable apiclient.channel.X_GOOG_RESOURCE_STATE=apiclient.channel-module.html#X_GOOG_RESOURCE_STATE"><a title="apiclient.channel.X_GOOG_RESOURCE_STATE" class="py-name" href="#" onclick="return doclink('link-8', 'X_GOOG_RESOURCE_STATE', 'link-8');">X_GOOG_RESOURCE_STATE</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'X-GOOG-RESOURCE-STATE'</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt id="link-9" class="py-name" targets="Variable apiclient.channel.X_GOOG_RESOURCE_URI=apiclient.channel-module.html#X_GOOG_RESOURCE_URI"><a title="apiclient.channel.X_GOOG_RESOURCE_URI" class="py-name" href="#" onclick="return doclink('link-9', 'X_GOOG_RESOURCE_URI', 'link-9');">X_GOOG_RESOURCE_URI</a></tt>   <tt class="py-op">=</tt> <tt class="py-string">'X-GOOG-RESOURCE-URI'</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt id="link-10" class="py-name" targets="Variable apiclient.channel.X_GOOG_RESOURCE_ID=apiclient.channel-module.html#X_GOOG_RESOURCE_ID"><a title="apiclient.channel.X_GOOG_RESOURCE_ID" class="py-name" href="#" onclick="return doclink('link-10', 'X_GOOG_RESOURCE_ID', 'link-10');">X_GOOG_RESOURCE_ID</a></tt>    <tt class="py-op">=</tt> <tt class="py-string">'X-GOOG-RESOURCE-ID'</tt> </tt>
-<a name="_upper_header_keys"></a><div id="_upper_header_keys-def"><a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <a class="py-toggle" href="#" id="_upper_header_keys-toggle" onclick="return toggle('_upper_header_keys');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.channel-module.html#_upper_header_keys">_upper_header_keys</a><tt class="py-op">(</tt><tt class="py-param">headers</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_upper_header_keys-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_upper_header_keys-expanded"><a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">  <tt class="py-name">new_headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">k</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-name">new_headers</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">v</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">new_headers</tt> </tt>
-</div><a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"> </tt>
-<a name="Notification"></a><div id="Notification-def"><a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <a class="py-toggle" href="#" id="Notification-toggle" onclick="return toggle('Notification');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.channel.Notification-class.html">Notification</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Notification-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Notification-expanded"><a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">  <tt class="py-docstring">"""A Notification from a Channel.</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt class="py-docstring">  Notifications are not usually constructed directly, but are returned</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"><tt class="py-docstring">  from functions like notification_from_headers().</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-docstring">  Attributes:</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring">    message_number: int, The unique id number of this notification.</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-docstring">    state: str, The state of the resource being monitored.</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring">    uri: str, The address of the resource being monitored.</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring">    resource_id: str, The unique identifier of the version of the resource at</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">      this event.</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Function oauth2client.util.positional()=oauth2client.util-module.html#positional"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-11', 'positional', 'link-11');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
-<a name="Notification.__init__"></a><div id="Notification.__init__-def"><a name="L110"></a><tt class="py-lineno">110</tt> <a class="py-toggle" href="#" id="Notification.__init__-toggle" onclick="return toggle('Notification.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.channel.Notification-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">message_number</tt><tt class="py-op">,</tt> <tt class="py-param">state</tt><tt class="py-op">,</tt> <tt class="py-param">resource_uri</tt><tt class="py-op">,</tt> <tt class="py-param">resource_id</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Notification.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Notification.__init__-expanded"><a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">    <tt class="py-docstring">"""Notification constructor.</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-docstring">      message_number: int, The unique id number of this notification.</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring">      state: str, The state of the resource being monitored. Can be one</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">        of "exists", "not_exists", or "sync".</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">      resource_uri: str, The address of the resource being monitored.</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-docstring">      resource_id: str, The identifier of the watched resource.</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">message_number</tt> <tt class="py-op">=</tt> <tt class="py-name">message_number</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt class="py-name">state</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resource_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">resource_uri</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resource_id</tt> <tt class="py-op">=</tt> <tt class="py-name">resource_id</tt> </tt>
-</div></div><a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"> </tt>
-<a name="Channel"></a><div id="Channel-def"><a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <a class="py-toggle" href="#" id="Channel-toggle" onclick="return toggle('Channel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.channel.Channel-class.html">Channel</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Channel-expanded"><a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">  <tt class="py-docstring">"""A Channel for notifications.</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">  Usually not constructed directly, instead it is returned from helper</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">  functions like new_webhook_channel().</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">  Attributes:</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-docstring">    type: str, The type of delivery mechanism used by this channel. For</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">      example, 'web_hook'.</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring">    id: str, A UUID for the channel.</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring">    token: str, An arbitrary string associated with the channel that</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-docstring">      is delivered to the target address with each event delivered</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-docstring">      over this channel.</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-docstring">    address: str, The address of the receiving entity where events are</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-docstring">      delivered. Specific to the channel type.</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"><tt class="py-docstring">    expiration: int, The time, in milliseconds from the epoch, when this</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"><tt class="py-docstring">      channel will expire.</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"><tt class="py-docstring">    params: dict, A dictionary of string to string, with additional parameters</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-docstring">      controlling delivery channel behavior.</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-docstring">    resource_id: str, An opaque id that identifies the resource that is</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-docstring">      being watched. Stable across different API versions.</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-docstring">    resource_uri: str, The canonicalized ID of the watched resource.</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-12', 'positional', 'link-11');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
-<a name="Channel.__init__"></a><div id="Channel.__init__-def"><a name="L151"></a><tt class="py-lineno">151</tt> <a class="py-toggle" href="#" id="Channel.__init__-toggle" onclick="return toggle('Channel.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.channel.Channel-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">type</tt><tt class="py-op">,</tt> <tt class="py-param">id</tt><tt class="py-op">,</tt> <tt class="py-param">token</tt><tt class="py-op">,</tt> <tt class="py-param">address</tt><tt class="py-op">,</tt> <tt class="py-param">expiration</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">               <tt class="py-param">params</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">resource_id</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-param">resource_uri</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Channel.__init__-expanded"><a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create a new Channel.</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">    In user code, this Channel constructor will not typically be called</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">    manually since there are functions for creating channels for each specific</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-docstring">    type with a more customized set of arguments to pass.</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-docstring">      type: str, The type of delivery mechanism used by this channel. For</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-docstring">        example, 'web_hook'.</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring">      id: str, A UUID for the channel.</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-docstring">      token: str, An arbitrary string associated with the channel that</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"><tt class="py-docstring">        is delivered to the target address with each event delivered</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"><tt class="py-docstring">        over this channel.</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"><tt class="py-docstring">      address: str,  The address of the receiving entity where events are</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"><tt class="py-docstring">        delivered. Specific to the channel type.</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-docstring">      expiration: int, The time, in milliseconds from the epoch, when this</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-docstring">        channel will expire.</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-docstring">      params: dict, A dictionary of string to string, with additional parameters</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-docstring">        controlling delivery channel behavior.</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-docstring">      resource_id: str, An opaque id that identifies the resource that is</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-docstring">        being watched. Stable across different API versions.</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-docstring">      resource_uri: str, The canonicalized ID of the watched resource.</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">type</tt> <tt class="py-op">=</tt> <tt class="py-name">type</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">id</tt> <tt class="py-op">=</tt> <tt class="py-name">id</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">token</tt> <tt class="py-op">=</tt> <tt class="py-name">token</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">address</tt> <tt class="py-op">=</tt> <tt class="py-name">address</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">expiration</tt> <tt class="py-op">=</tt> <tt class="py-name">expiration</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-name">params</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resource_id</tt> <tt class="py-op">=</tt> <tt class="py-name">resource_id</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resource_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">resource_uri</tt> </tt>
-</div><a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"> </tt>
-<a name="Channel.body"></a><div id="Channel.body-def"><a name="L185"></a><tt class="py-lineno">185</tt> <a class="py-toggle" href="#" id="Channel.body-toggle" onclick="return toggle('Channel.body');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.channel.Channel-class.html#body">body</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.body-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Channel.body-expanded"><a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">    <tt class="py-docstring">"""Build a body from the Channel.</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-docstring">    Constructs a dictionary that's appropriate for passing into watch()</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"><tt class="py-docstring">    methods as the value of body argument.</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"><tt class="py-docstring">      A dictionary representation of the channel.</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">        <tt class="py-string">'id'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">,</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-string">'token'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">token</tt><tt class="py-op">,</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">type</tt><tt class="py-op">,</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt class="py-string">'address'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">address</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-op">}</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">:</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">      <tt class="py-name">result</tt><tt class="py-op">[</tt><tt class="py-string">'params'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">params</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resource_id</tt><tt class="py-op">:</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">      <tt class="py-name">result</tt><tt class="py-op">[</tt><tt class="py-string">'resourceId'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resource_id</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resource_uri</tt><tt class="py-op">:</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">      <tt class="py-name">result</tt><tt class="py-op">[</tt><tt class="py-string">'resourceUri'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resource_uri</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">expiration</tt><tt class="py-op">:</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">      <tt class="py-name">result</tt><tt class="py-op">[</tt><tt class="py-string">'expiration'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">expiration</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line"> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
-</div><a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"> </tt>
-<a name="Channel.update"></a><div id="Channel.update-def"><a name="L211"></a><tt class="py-lineno">211</tt> <a class="py-toggle" href="#" id="Channel.update-toggle" onclick="return toggle('Channel.update');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.channel.Channel-class.html#update">update</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.update-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Channel.update-expanded"><a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">    <tt class="py-docstring">"""Update a channel with information from the response of watch().</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"><tt class="py-docstring">    When a request is sent to watch() a resource, the response returned</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"><tt class="py-docstring">    from the watch() request is a dictionary with updated channel information,</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"><tt class="py-docstring">    such as the resource_id, which is needed when stopping a subscription.</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"><tt class="py-docstring">      resp: dict, The response from a watch() method.</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">json_name</tt><tt class="py-op">,</tt> <tt class="py-name">param_name</tt> <tt class="py-keyword">in</tt> <tt id="link-13" class="py-name"><a title="apiclient.channel.CHANNEL_PARAMS" class="py-name" href="#" onclick="return doclink('link-13', 'CHANNEL_PARAMS', 'link-5');">CHANNEL_PARAMS</a></tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">      <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method apiclient.schema.Schemas.get()=apiclient.schema.Schemas-class.html#get,Method oauth2client.client.MemoryCache.get()=oauth2client.client.MemoryCache-class.html#get,Method oauth2client.client.Storage.get()=oauth2client.client.Storage-class.html#get"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-14', 'get', 'link-14');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">json_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">param_name</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"> </tt>
-<a name="notification_from_headers"></a><div id="notification_from_headers-def"><a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt> <a class="py-toggle" href="#" id="notification_from_headers-toggle" onclick="return toggle('notification_from_headers');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.channel-module.html#notification_from_headers">notification_from_headers</a><tt class="py-op">(</tt><tt class="py-param">channel</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="notification_from_headers-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="notification_from_headers-expanded"><a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">  <tt class="py-docstring">"""Parse a notification from the webhook request headers, validate</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">    the notification, and return a Notification object.</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"><tt class="py-docstring">    channel: Channel, The channel that the notification is associated with.</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"><tt class="py-docstring">    headers: dict, A dictionary like object that contains the request headers</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"><tt class="py-docstring">      from the webhook HTTP request.</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"><tt class="py-docstring">    A Notification object.</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"><tt class="py-docstring">  Raises:</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"><tt class="py-docstring">    errors.InvalidNotificationError if the notification is invalid.</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"><tt class="py-docstring">    ValueError if the X-GOOG-MESSAGE-NUMBER can't be converted to an int.</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">  <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name" targets="Function apiclient.channel._upper_header_keys()=apiclient.channel-module.html#_upper_header_keys"><a title="apiclient.channel._upper_header_keys" class="py-name" href="#" onclick="return doclink('link-15', '_upper_header_keys', 'link-15');">_upper_header_keys</a></tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">  <tt class="py-name">channel_id</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-16" class="py-name"><a title="apiclient.channel.X_GOOG_CHANNEL_ID" class="py-name" href="#" onclick="return doclink('link-16', 'X_GOOG_CHANNEL_ID', 'link-6');">X_GOOG_CHANNEL_ID</a></tt><tt class="py-op">]</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt id="link-17" class="py-name" targets="Module apiclient.channel=apiclient.channel-module.html"><a title="apiclient.channel" class="py-name" href="#" onclick="return doclink('link-17', 'channel', 'link-17');">channel</a></tt><tt class="py-op">.</tt><tt class="py-name">id</tt> <tt class="py-op">!=</tt> <tt class="py-name">channel_id</tt><tt class="py-op">:</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-18" class="py-name"><a title="apiclient.errors" class="py-name" href="#" onclick="return doclink('link-18', 'errors', 'link-1');">errors</a></tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Class apiclient.errors.InvalidNotificationError=apiclient.errors.InvalidNotificationError-class.html"><a title="apiclient.errors.InvalidNotificationError" class="py-name" href="#" onclick="return doclink('link-19', 'InvalidNotificationError', 'link-19');">InvalidNotificationError</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">        <tt class="py-string">'Channel id mismatch: %s != %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-20" class="py-name"><a title="apiclient.channel" class="py-name" href="#" onclick="return doclink('link-20', 'channel', 'link-17');">channel</a></tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">,</tt> <tt class="py-name">channel_id</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">    <tt class="py-name">message_number</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-21" class="py-name"><a title="apiclient.channel.X_GOOG_MESSAGE_NUMBER" class="py-name" href="#" onclick="return doclink('link-21', 'X_GOOG_MESSAGE_NUMBER', 'link-7');">X_GOOG_MESSAGE_NUMBER</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">    <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-22" class="py-name"><a title="apiclient.channel.X_GOOG_RESOURCE_STATE" class="py-name" href="#" onclick="return doclink('link-22', 'X_GOOG_RESOURCE_STATE', 'link-8');">X_GOOG_RESOURCE_STATE</a></tt><tt class="py-op">]</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">    <tt class="py-name">resource_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-23" class="py-name"><a title="apiclient.channel.X_GOOG_RESOURCE_URI" class="py-name" href="#" onclick="return doclink('link-23', 'X_GOOG_RESOURCE_URI', 'link-9');">X_GOOG_RESOURCE_URI</a></tt><tt class="py-op">]</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">    <tt class="py-name">resource_id</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-24" class="py-name"><a title="apiclient.channel.X_GOOG_RESOURCE_ID" class="py-name" href="#" onclick="return doclink('link-24', 'X_GOOG_RESOURCE_ID', 'link-10');">X_GOOG_RESOURCE_ID</a></tt><tt class="py-op">]</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-25" class="py-name" targets="Class apiclient.channel.Notification=apiclient.channel.Notification-class.html"><a title="apiclient.channel.Notification" class="py-name" href="#" onclick="return doclink('link-25', 'Notification', 'link-25');">Notification</a></tt><tt class="py-op">(</tt><tt class="py-name">message_number</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt><tt class="py-op">,</tt> <tt class="py-name">resource_uri</tt><tt class="py-op">,</tt> <tt class="py-name">resource_id</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"> </tt>
-<a name="new_webhook_channel"></a><div id="new_webhook_channel-def"><a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-26', 'positional', 'link-11');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt> <a class="py-toggle" href="#" id="new_webhook_channel-toggle" onclick="return toggle('new_webhook_channel');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.channel-module.html#new_webhook_channel">new_webhook_channel</a><tt class="py-op">(</tt><tt class="py-param">url</tt><tt class="py-op">,</tt> <tt class="py-param">token</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">expiration</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">params</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="new_webhook_channel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="new_webhook_channel-expanded"><a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create a new webhook Channel.</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line"><tt class="py-docstring">      url: str, URL to post notifications to.</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"><tt class="py-docstring">      token: str, An arbitrary string associated with the channel that</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line"><tt class="py-docstring">        is delivered to the target address with each notification delivered</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line"><tt class="py-docstring">        over this channel.</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"><tt class="py-docstring">      expiration: datetime.datetime, A time in the future when the channel</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"><tt class="py-docstring">        should expire. Can also be None if the subscription should use the</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line"><tt class="py-docstring">        default expiration. Note that different services may have different</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"><tt class="py-docstring">        limits on how long a subscription lasts. Check the response from the</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"><tt class="py-docstring">        watch() method to see the value the service has set for an expiration</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line"><tt class="py-docstring">        time.</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line"><tt class="py-docstring">      params: dict, Extra parameters to pass on channel creation. Currently</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line"><tt class="py-docstring">        not used for webhook channels.</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">    <tt class="py-name">expiration_ms</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">expiration</tt><tt class="py-op">:</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">      <tt class="py-name">delta</tt> <tt class="py-op">=</tt> <tt class="py-name">expiration</tt> <tt class="py-op">-</tt> <tt id="link-27" class="py-name"><a title="apiclient.channel.EPOCH" class="py-name" href="#" onclick="return doclink('link-27', 'EPOCH', 'link-4');">EPOCH</a></tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">      <tt class="py-name">expiration_ms</tt> <tt class="py-op">=</tt> <tt class="py-name">delta</tt><tt class="py-op">.</tt><tt class="py-name">microseconds</tt><tt class="py-op">/</tt><tt class="py-number">1000</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">          <tt class="py-name">delta</tt><tt class="py-op">.</tt><tt class="py-name">seconds</tt> <tt class="py-op">+</tt> <tt class="py-name">delta</tt><tt class="py-op">.</tt><tt class="py-name">days</tt><tt class="py-op">*</tt><tt class="py-number">24</tt><tt class="py-op">*</tt><tt class="py-number">3600</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-number">1000</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">expiration_ms</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">        <tt class="py-name">expiration_ms</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line"> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-28" class="py-name" targets="Class apiclient.channel.Channel=apiclient.channel.Channel-class.html"><a title="apiclient.channel.Channel" class="py-name" href="#" onclick="return doclink('link-28', 'Channel', 'link-28');">Channel</a></tt><tt class="py-op">(</tt><tt class="py-string">'web_hook'</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">uuid</tt><tt class="py-op">.</tt><tt class="py-name">uuid4</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">                   <tt class="py-name">token</tt><tt class="py-op">,</tt> <tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-name">expiration</tt><tt class="py-op">=</tt><tt class="py-name">expiration_ms</tt><tt class="py-op">,</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">                   <tt class="py-name">params</tt><tt class="py-op">=</tt><tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.channel.Channel-class.html b/docs/epy/apiclient.channel.Channel-class.html
deleted file mode 100644
index e3dd58e..0000000
--- a/docs/epy/apiclient.channel.Channel-class.html
+++ /dev/null
@@ -1,392 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.channel.Channel</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.channel-module.html">Module&nbsp;channel</a> ::
-        Class&nbsp;Channel
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.channel.Channel-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Channel</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.channel-pysrc.html#Channel">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien" name="uml_class_diagram_for_apiclien">
-<area shape="rect" id="node0" href="apiclient.channel.Channel-class.html#__init__" title="Create a new Channel." alt="" coords="17,39,627,57"/>
-<area shape="rect" id="node0" href="apiclient.channel.Channel-class.html#body" title="Build a body from the Channel." alt="" coords="17,57,627,76"/>
-<area shape="rect" id="node0" href="apiclient.channel.Channel-class.html#update" title="Update a channel with information from the response of watch()." alt="" coords="17,76,627,95"/>
-<area shape="rect" id="node1" href="apiclient.channel.Channel-class.html" title="A Channel for notifications." alt="" coords="5,6,637,101"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien.gif" alt='' usemap="#uml_class_diagram_for_apiclien" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-A Channel for notifications.
-
-Usually not constructed directly, instead it is returned from helper
-functions like new_webhook_channel().
-
-Attributes:
-  type: str, The type of delivery mechanism used by this channel. For
-    example, 'web_hook'.
-  id: str, A UUID for the channel.
-  token: str, An arbitrary string associated with the channel that
-    is delivered to the target address with each event delivered
-    over this channel.
-  address: str, The address of the receiving entity where events are
-    delivered. Specific to the channel type.
-  expiration: int, The time, in milliseconds from the epoch, when this
-    channel will expire.
-  params: dict, A dictionary of string to string, with additional parameters
-    controlling delivery channel behavior.
-  resource_id: str, An opaque id that identifies the resource that is
-    being watched. Stable across different API versions.
-  resource_uri: str, The canonicalized ID of the watched resource.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.channel.Channel-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">type</span>,
-        <span class="summary-sig-arg">id</span>,
-        <span class="summary-sig-arg">token</span>,
-        <span class="summary-sig-arg">address</span>,
-        <span class="summary-sig-arg">expiration</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">params</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">resource_id</span>=<span class="summary-sig-default">&quot;&quot;</span>,
-        <span class="summary-sig-arg">resource_uri</span>=<span class="summary-sig-default">&quot;&quot;</span>)</span><br />
-      Create a new Channel.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.channel-pysrc.html#Channel.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.channel.Channel-class.html#body" class="summary-sig-name">body</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Build a body from the Channel.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.channel-pysrc.html#Channel.body">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.channel.Channel-class.html#update" class="summary-sig-name">update</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">resp</span>)</span><br />
-      Update a channel with information from the response of watch().</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.channel-pysrc.html#Channel.update">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">type</span>,
-        <span class="sig-arg">id</span>,
-        <span class="sig-arg">token</span>,
-        <span class="sig-arg">address</span>,
-        <span class="sig-arg">expiration</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">params</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">resource_id</span>=<span class="sig-default">&quot;&quot;</span>,
-        <span class="sig-arg">resource_uri</span>=<span class="sig-default">&quot;&quot;</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.channel-pysrc.html#Channel.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Create a new Channel.
-
-In user code, this Channel constructor will not typically be called
-manually since there are functions for creating channels for each specific
-type with a more customized set of arguments to pass.
-
-Args:
-  type: str, The type of delivery mechanism used by this channel. For
-    example, 'web_hook'.
-  id: str, A UUID for the channel.
-  token: str, An arbitrary string associated with the channel that
-    is delivered to the target address with each event delivered
-    over this channel.
-  address: str,  The address of the receiving entity where events are
-    delivered. Specific to the channel type.
-  expiration: int, The time, in milliseconds from the epoch, when this
-    channel will expire.
-  params: dict, A dictionary of string to string, with additional parameters
-    controlling delivery channel behavior.
-  resource_id: str, An opaque id that identifies the resource that is
-    being watched. Stable across different API versions.
-  resource_uri: str, The canonicalized ID of the watched resource.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(5)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="body"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">body</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.channel-pysrc.html#Channel.body">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Build a body from the Channel.
-
-Constructs a dictionary that's appropriate for passing into watch()
-methods as the value of body argument.
-
-Returns:
-  A dictionary representation of the channel.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="update"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">update</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">resp</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.channel-pysrc.html#Channel.update">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Update a channel with information from the response of watch().
-
-When a request is sent to watch() a resource, the response returned
-from the watch() request is a dictionary with updated channel information,
-such as the resource_id, which is needed when stopping a subscription.
-
-Args:
-  resp: dict, The response from a watch() method.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.channel.Notification-class.html b/docs/epy/apiclient.channel.Notification-class.html
deleted file mode 100644
index 4185174..0000000
--- a/docs/epy/apiclient.channel.Notification-class.html
+++ /dev/null
@@ -1,265 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.channel.Notification</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.channel-module.html">Module&nbsp;channel</a> ::
-        Class&nbsp;Notification
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.channel.Notification-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Notification</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.channel-pysrc.html#Notification">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_2" name="uml_class_diagram_for_apiclien_2">
-<area shape="rect" id="node1" href="apiclient.channel.Notification-class.html#__init__" title="Notification constructor." alt="" coords="17,39,401,57"/>
-<area shape="rect" id="node1" href="apiclient.channel.Notification-class.html" title="A Notification from a Channel." alt="" coords="5,6,413,63"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_2.gif" alt='' usemap="#uml_class_diagram_for_apiclien_2" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-A Notification from a Channel.
-
-Notifications are not usually constructed directly, but are returned
-from functions like notification_from_headers().
-
-Attributes:
-  message_number: int, The unique id number of this notification.
-  state: str, The state of the resource being monitored.
-  uri: str, The address of the resource being monitored.
-  resource_id: str, The unique identifier of the version of the resource at
-    this event.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.channel.Notification-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">message_number</span>,
-        <span class="summary-sig-arg">state</span>,
-        <span class="summary-sig-arg">resource_uri</span>,
-        <span class="summary-sig-arg">resource_id</span>)</span><br />
-      Notification constructor.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.channel-pysrc.html#Notification.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">message_number</span>,
-        <span class="sig-arg">state</span>,
-        <span class="sig-arg">resource_uri</span>,
-        <span class="sig-arg">resource_id</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.channel-pysrc.html#Notification.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Notification constructor.
-
-Args:
-  message_number: int, The unique id number of this notification.
-  state: str, The state of the resource being monitored. Can be one
-    of &quot;exists&quot;, &quot;not_exists&quot;, or &quot;sync&quot;.
-  resource_uri: str, The address of the resource being monitored.
-  resource_id: str, The identifier of the watched resource.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(5)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.discovery-module.html b/docs/epy/apiclient.discovery-module.html
deleted file mode 100644
index a431623..0000000
--- a/docs/epy/apiclient.discovery-module.html
+++ /dev/null
@@ -1,1090 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.discovery</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Module&nbsp;discovery
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.discovery-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module discovery</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.discovery-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-Client for discovery based APIs.
-
-A client library for Google's discovery based APIs.
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        jcgregorio@google.com (Joe Gregorio)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.discovery.ResourceMethodParameters-class.html" class="summary-name" onclick="show_private();">ResourceMethodParameters</a><br />
-      Represents the parameters associated with a method.
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.discovery.Resource-class.html" class="summary-name" onclick="show_private();">Resource</a><br />
-      A class for interacting with a resource.
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.discovery-module.html#fix_method_name" class="summary-sig-name">fix_method_name</a>(<span class="summary-sig-arg">name</span>)</span><br />
-      Fix method names to avoid reserved word conflicts.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#fix_method_name">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.discovery-module.html#key2param" class="summary-sig-name">key2param</a>(<span class="summary-sig-arg">key</span>)</span><br />
-      Converts key names into parameter names.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#key2param">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.discovery-module.html#build" class="summary-sig-name">build</a>(<span class="summary-sig-arg">serviceName</span>,
-        <span class="summary-sig-arg">version</span>,
-        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">discoveryServiceUrl</span>=<span class="summary-sig-default">DISCOVERY_URI</span>,
-        <span class="summary-sig-arg">developerKey</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">model</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">requestBuilder</span>=<span class="summary-sig-default">HttpRequest</span>)</span><br />
-      Construct a Resource for interacting with an API.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#build">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.discovery-module.html#build_from_document" class="summary-sig-name">build_from_document</a>(<span class="summary-sig-arg">service</span>,
-        <span class="summary-sig-arg">base</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">future</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">developerKey</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">model</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">requestBuilder</span>=<span class="summary-sig-default">HttpRequest</span>)</span><br />
-      Create a Resource for interacting with an API.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#build_from_document">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.discovery-module.html#_cast" class="summary-sig-name" onclick="show_private();">_cast</a>(<span class="summary-sig-arg">value</span>,
-        <span class="summary-sig-arg">schema_type</span>)</span><br />
-      Convert value to a string based on JSON Schema type.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#_cast">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.discovery-module.html#_media_size_to_long" class="summary-sig-name" onclick="show_private();">_media_size_to_long</a>(<span class="summary-sig-arg">maxSize</span>)</span><br />
-      Convert a string media size, such as 10GB or 3TB into an integer.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#_media_size_to_long">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.discovery-module.html#_media_path_url_from_info" class="summary-sig-name" onclick="show_private();">_media_path_url_from_info</a>(<span class="summary-sig-arg">root_desc</span>,
-        <span class="summary-sig-arg">path_url</span>)</span><br />
-      Creates an absolute media path URL.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#_media_path_url_from_info">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.discovery-module.html#_fix_up_parameters" class="summary-sig-name" onclick="show_private();">_fix_up_parameters</a>(<span class="summary-sig-arg">method_desc</span>,
-        <span class="summary-sig-arg">root_desc</span>,
-        <span class="summary-sig-arg">http_method</span>)</span><br />
-      Updates parameters of an API method with values specific to this library.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#_fix_up_parameters">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.discovery-module.html#_fix_up_media_upload" class="summary-sig-name" onclick="show_private();">_fix_up_media_upload</a>(<span class="summary-sig-arg">method_desc</span>,
-        <span class="summary-sig-arg">root_desc</span>,
-        <span class="summary-sig-arg">path_url</span>,
-        <span class="summary-sig-arg">parameters</span>)</span><br />
-      Updates parameters of API by adding 'media_body' if supported by method.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#_fix_up_media_upload">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.discovery-module.html#_fix_up_method_description" class="summary-sig-name" onclick="show_private();">_fix_up_method_description</a>(<span class="summary-sig-arg">method_desc</span>,
-        <span class="summary-sig-arg">root_desc</span>)</span><br />
-      Updates a method description in a discovery document.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#_fix_up_method_description">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.discovery-module.html#createMethod" class="summary-sig-name" onclick="show_private();">createMethod</a>(<span class="summary-sig-arg">methodName</span>,
-        <span class="summary-sig-arg">methodDesc</span>,
-        <span class="summary-sig-arg">rootDesc</span>,
-        <span class="summary-sig-arg">schema</span>)</span><br />
-      Creates a method for attaching to a Resource.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#createMethod">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.discovery-module.html#createNextMethod" class="summary-sig-name" onclick="show_private();">createNextMethod</a>(<span class="summary-sig-arg">methodName</span>)</span><br />
-      Creates any _next methods for attaching to a Resource.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#createNextMethod">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="URITEMPLATE"></a><span class="summary-name">URITEMPLATE</span> = <code title="re.compile('{[^}]*}')">re.compile('{[^}]*}')</code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="VARNAME"></a><span class="summary-name">VARNAME</span> = <code title="re.compile('[a-zA-Z0-9_-]+')">re.compile('[a-zA-Z0-9_-]+')</code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.discovery-module.html#DISCOVERY_URI" class="summary-name" onclick="show_private();">DISCOVERY_URI</a> = <code title="'https://www.googleapis.com/discovery/v1/apis/' '{api}/{apiVersion}/re\
-st'">'https://www.googleapis.com/discovery/v1/apis/<code class="variable-ellipsis">...</code></code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="DEFAULT_METHOD_DOC"></a><span class="summary-name">DEFAULT_METHOD_DOC</span> = <code title="'A description of how to use this function'">'A description of how to use this function'</code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="HTTP_PAYLOAD_METHODS"></a><span class="summary-name">HTTP_PAYLOAD_METHODS</span> = <code title="frozenset(['PUT', 'POST', 'PATCH'])">frozenset(['PUT', 'POST', 'PATCH'])</code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="_MEDIA_SIZE_BIT_SHIFTS"></a><span class="summary-name">_MEDIA_SIZE_BIT_SHIFTS</span> = <code title="{'KB': 10, 'MB': 20, 'GB': 30, 'TB': 40}">{'KB': 10, 'MB': 20, 'GB': 30, 'TB': 40}</code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.discovery-module.html#BODY_PARAMETER_DEFAULT_VALUE" class="summary-name" onclick="show_private();">BODY_PARAMETER_DEFAULT_VALUE</a> = <code title="{'description': 'The request body.', 'type': 'object', 'required': Tru\
-e,}">{'description': 'The request bo<code class="variable-ellipsis">...</code></code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.discovery-module.html#MEDIA_BODY_PARAMETER_DEFAULT_VALUE" class="summary-name" onclick="show_private();">MEDIA_BODY_PARAMETER_DEFAULT_VALUE</a> = <code title="{'description':('The filename of the media request body, or an instanc\
-e ' 'of a MediaUpload object.'), 'type': 'string', 'required': False,}">{'description':('The file<code class="variable-ellipsis">...</code></code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.discovery-module.html#STACK_QUERY_PARAMETERS" class="summary-name" onclick="show_private();">STACK_QUERY_PARAMETERS</a> = <code title="frozenset(['trace', 'pp', 'userip', 'strict'])">frozenset(['trace', 'pp', 'userip', '<code class="variable-ellipsis">...</code></code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.discovery-module.html#STACK_QUERY_PARAMETER_DEFAULT_VALUE" class="summary-name" onclick="show_private();">STACK_QUERY_PARAMETER_DEFAULT_VALUE</a> = <code title="{'type': 'string', 'location': 'query'}">{'type': 'string', 'loca<code class="variable-ellipsis">...</code></code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="RESERVED_WORDS"></a><span class="summary-name">RESERVED_WORDS</span> = <code title="frozenset(['body'])">frozenset(['body'])</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="fix_method_name"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">fix_method_name</span>(<span class="sig-arg">name</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.discovery-pysrc.html#fix_method_name">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Fix method names to avoid reserved word conflicts.
-
-Args:
-  name: string, method name.
-
-Returns:
-  The name with a '_' prefixed if the name is a reserved word.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="key2param"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">key2param</span>(<span class="sig-arg">key</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.discovery-pysrc.html#key2param">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Converts key names into parameter names.
-
-For example, converting &quot;max-results&quot; -&gt; &quot;max_results&quot;
-
-Args:
-  key: string, the method key name.
-
-Returns:
-  A safe method name based on the key name.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="build"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">build</span>(<span class="sig-arg">serviceName</span>,
-        <span class="sig-arg">version</span>,
-        <span class="sig-arg">http</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">discoveryServiceUrl</span>=<span class="sig-default">DISCOVERY_URI</span>,
-        <span class="sig-arg">developerKey</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">model</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">requestBuilder</span>=<span class="sig-default">HttpRequest</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.discovery-pysrc.html#build">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Construct a Resource for interacting with an API.
-
-Construct a Resource object for interacting with an API. The serviceName and
-version are the names from the Discovery service.
-
-Args:
-  serviceName: string, name of the service.
-  version: string, the version of the service.
-  http: httplib2.Http, An instance of httplib2.Http or something that acts
-    like it that HTTP requests will be made through.
-  discoveryServiceUrl: string, a URI Template that points to the location of
-    the discovery service. It should have two parameters {api} and
-    {apiVersion} that when filled in produce an absolute URI to the discovery
-    document for that service.
-  developerKey: string, key obtained from
-    https://code.google.com/apis/console.
-  model: apiclient.Model, converts to and from the wire format.
-  requestBuilder: apiclient.http.HttpRequest, encapsulator for an HTTP
-    request.
-
-Returns:
-  A Resource object with methods for interacting with the service.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@positional(2)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="build_from_document"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">build_from_document</span>(<span class="sig-arg">service</span>,
-        <span class="sig-arg">base</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">future</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">http</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">developerKey</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">model</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">requestBuilder</span>=<span class="sig-default">HttpRequest</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.discovery-pysrc.html#build_from_document">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Create a Resource for interacting with an API.
-
-Same as `build()`, but constructs the Resource object from a discovery
-document that is it given, as opposed to retrieving one over HTTP.
-
-Args:
-  service: string or object, the JSON discovery document describing the API.
-    The value passed in may either be the JSON string or the deserialized
-    JSON.
-  base: string, base URI for all HTTP requests, usually the discovery URI.
-    This parameter is no longer used as rootUrl and servicePath are included
-    within the discovery document. (deprecated)
-  future: string, discovery document with future capabilities (deprecated).
-  http: httplib2.Http, An instance of httplib2.Http or something that acts
-    like it that HTTP requests will be made through.
-  developerKey: string, Key for controlling API usage, generated
-    from the API Console.
-  model: Model class instance that serializes and de-serializes requests and
-    responses.
-  requestBuilder: Takes an http request and packages it up to be executed.
-
-Returns:
-  A Resource object with methods for interacting with the service.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@positional(1)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_cast"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_cast</span>(<span class="sig-arg">value</span>,
-        <span class="sig-arg">schema_type</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.discovery-pysrc.html#_cast">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Convert value to a string based on JSON Schema type.
-
-See http://tools.ietf.org/html/draft-zyp-json-schema-03 for more details on
-JSON Schema.
-
-Args:
-  value: any, the value to convert
-  schema_type: string, the type that value should be interpreted as
-
-Returns:
-  A string representation of 'value' based on the schema_type.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_media_size_to_long"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_media_size_to_long</span>(<span class="sig-arg">maxSize</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.discovery-pysrc.html#_media_size_to_long">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Convert a string media size, such as 10GB or 3TB into an integer.
-
-Args:
-  maxSize: string, size as a string, such as 2MB or 7GB.
-
-Returns:
-  The size as an integer value.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_media_path_url_from_info"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_media_path_url_from_info</span>(<span class="sig-arg">root_desc</span>,
-        <span class="sig-arg">path_url</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.discovery-pysrc.html#_media_path_url_from_info">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Creates an absolute media path URL.
-
-Constructed using the API root URI and service path from the discovery
-document and the relative path for the API method.
-
-Args:
-  root_desc: Dictionary; the entire original deserialized discovery document.
-  path_url: String; the relative URL for the API method. Relative to the API
-      root, which is specified in the discovery document.
-
-Returns:
-  String; the absolute URI for media upload for the API method.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_fix_up_parameters"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_fix_up_parameters</span>(<span class="sig-arg">method_desc</span>,
-        <span class="sig-arg">root_desc</span>,
-        <span class="sig-arg">http_method</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.discovery-pysrc.html#_fix_up_parameters">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Updates parameters of an API method with values specific to this library.
-
-Specifically, adds whatever global parameters are specified by the API to the
-parameters for the individual method. Also adds parameters which don't
-appear in the discovery document, but are available to all discovery based
-APIs (these are listed in STACK_QUERY_PARAMETERS).
-
-SIDE EFFECTS: This updates the parameters dictionary object in the method
-description.
-
-Args:
-  method_desc: Dictionary with metadata describing an API method. Value comes
-      from the dictionary of methods stored in the 'methods' key in the
-      deserialized discovery document.
-  root_desc: Dictionary; the entire original deserialized discovery document.
-  http_method: String; the HTTP method used to call the API method described
-      in method_desc.
-
-Returns:
-  The updated Dictionary stored in the 'parameters' key of the method
-      description dictionary.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_fix_up_media_upload"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_fix_up_media_upload</span>(<span class="sig-arg">method_desc</span>,
-        <span class="sig-arg">root_desc</span>,
-        <span class="sig-arg">path_url</span>,
-        <span class="sig-arg">parameters</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.discovery-pysrc.html#_fix_up_media_upload">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Updates parameters of API by adding 'media_body' if supported by method.
-
-SIDE EFFECTS: If the method supports media upload and has a required body,
-sets body to be optional (required=False) instead. Also, if there is a
-'mediaUpload' in the method description, adds 'media_upload' key to
-parameters.
-
-Args:
-  method_desc: Dictionary with metadata describing an API method. Value comes
-      from the dictionary of methods stored in the 'methods' key in the
-      deserialized discovery document.
-  root_desc: Dictionary; the entire original deserialized discovery document.
-  path_url: String; the relative URL for the API method. Relative to the API
-      root, which is specified in the discovery document.
-  parameters: A dictionary describing method parameters for method described
-      in method_desc.
-
-Returns:
-  Triple (accept, max_size, media_path_url) where:
-    - accept is a list of strings representing what content types are
-      accepted for media upload. Defaults to empty list if not in the
-      discovery document.
-    - max_size is a long representing the max size in bytes allowed for a
-      media upload. Defaults to 0L if not in the discovery document.
-    - media_path_url is a String; the absolute URI for media upload for the
-      API method. Constructed using the API root URI and service path from
-      the discovery document and the relative path for the API method. If
-      media upload is not supported, this is None.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_fix_up_method_description"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_fix_up_method_description</span>(<span class="sig-arg">method_desc</span>,
-        <span class="sig-arg">root_desc</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.discovery-pysrc.html#_fix_up_method_description">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Updates a method description in a discovery document.
-
-SIDE EFFECTS: Changes the parameters dictionary in the method description with
-extra parameters which are used locally.
-
-Args:
-  method_desc: Dictionary with metadata describing an API method. Value comes
-      from the dictionary of methods stored in the 'methods' key in the
-      deserialized discovery document.
-  root_desc: Dictionary; the entire original deserialized discovery document.
-
-Returns:
-  Tuple (path_url, http_method, method_id, accept, max_size, media_path_url)
-  where:
-    - path_url is a String; the relative URL for the API method. Relative to
-      the API root, which is specified in the discovery document.
-    - http_method is a String; the HTTP method used to call the API method
-      described in the method description.
-    - method_id is a String; the name of the RPC method associated with the
-      API method, and is in the method description in the 'id' key.
-    - accept is a list of strings representing what content types are
-      accepted for media upload. Defaults to empty list if not in the
-      discovery document.
-    - max_size is a long representing the max size in bytes allowed for a
-      media upload. Defaults to 0L if not in the discovery document.
-    - media_path_url is a String; the absolute URI for media upload for the
-      API method. Constructed using the API root URI and service path from
-      the discovery document and the relative path for the API method. If
-      media upload is not supported, this is None.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="createMethod"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">createMethod</span>(<span class="sig-arg">methodName</span>,
-        <span class="sig-arg">methodDesc</span>,
-        <span class="sig-arg">rootDesc</span>,
-        <span class="sig-arg">schema</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.discovery-pysrc.html#createMethod">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Creates a method for attaching to a Resource.
-
-Args:
-  methodName: string, name of the method to use.
-  methodDesc: object, fragment of deserialized discovery document that
-    describes the method.
-  rootDesc: object, the entire deserialized discovery document.
-  schema: object, mapping of schema names to schema descriptions.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="createNextMethod"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">createNextMethod</span>(<span class="sig-arg">methodName</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.discovery-pysrc.html#createNextMethod">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Creates any _next methods for attaching to a Resource.
-
-The _next methods allow for easy iteration through list() responses.
-
-Args:
-  methodName: string, name of the method to use.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-VariablesDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="DISCOVERY_URI"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <h3 class="epydoc">DISCOVERY_URI</h3>
-  
-  <dl class="fields">
-  </dl>
-  <dl class="fields">
-    <dt>Value:</dt>
-      <dd><table><tr><td><pre class="variable">
-'https://www.googleapis.com/discovery/v1/apis/' '{api}/{apiVersion}/re<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-st'
-</pre></td></tr></table>
-</dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="BODY_PARAMETER_DEFAULT_VALUE"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <h3 class="epydoc">BODY_PARAMETER_DEFAULT_VALUE</h3>
-  
-  <dl class="fields">
-  </dl>
-  <dl class="fields">
-    <dt>Value:</dt>
-      <dd><table><tr><td><pre class="variable">
-{'description': 'The request body.', 'type': 'object', 'required': Tru<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-e,}
-</pre></td></tr></table>
-</dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="MEDIA_BODY_PARAMETER_DEFAULT_VALUE"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <h3 class="epydoc">MEDIA_BODY_PARAMETER_DEFAULT_VALUE</h3>
-  
-  <dl class="fields">
-  </dl>
-  <dl class="fields">
-    <dt>Value:</dt>
-      <dd><table><tr><td><pre class="variable">
-{'description':('The filename of the media request body, or an instanc<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-e ' 'of a MediaUpload object.'), 'type': 'string', 'required': False,}
-</pre></td></tr></table>
-</dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="STACK_QUERY_PARAMETERS"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <h3 class="epydoc">STACK_QUERY_PARAMETERS</h3>
-  
-  <dl class="fields">
-  </dl>
-  <dl class="fields">
-    <dt>Value:</dt>
-      <dd><table><tr><td><pre class="variable">
-frozenset(['trace', 'pp', 'userip', 'strict'])
-</pre></td></tr></table>
-</dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="STACK_QUERY_PARAMETER_DEFAULT_VALUE"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <h3 class="epydoc">STACK_QUERY_PARAMETER_DEFAULT_VALUE</h3>
-  
-  <dl class="fields">
-  </dl>
-  <dl class="fields">
-    <dt>Value:</dt>
-      <dd><table><tr><td><pre class="variable">
-{'type': 'string', 'location': 'query'}
-</pre></td></tr></table>
-</dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.discovery-pysrc.html b/docs/epy/apiclient.discovery-pysrc.html
deleted file mode 100644
index 90332c0..0000000
--- a/docs/epy/apiclient.discovery-pysrc.html
+++ /dev/null
@@ -1,1224 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.discovery</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Module&nbsp;discovery
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.discovery-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="apiclient.discovery-module.html">Module apiclient.discovery</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010 Google Inc.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">"""Client for discovery based APIs.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">A client library for Google's discovery based APIs.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-name">__all__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">    <tt class="py-string">'build'</tt><tt class="py-op">,</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">    <tt class="py-string">'build_from_document'</tt><tt class="py-op">,</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">    <tt class="py-string">'fix_method_name'</tt><tt class="py-op">,</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">    <tt class="py-string">'key2param'</tt><tt class="py-op">,</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">    <tt class="py-op">]</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-comment"># Standard library imports</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">email</tt><tt class="py-op">.</tt><tt class="py-name">mime</tt><tt class="py-op">.</tt><tt class="py-name">multipart</tt> <tt class="py-keyword">import</tt> <tt class="py-name">MIMEMultipart</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">email</tt><tt class="py-op">.</tt><tt class="py-name">mime</tt><tt class="py-op">.</tt><tt class="py-name">nonmultipart</tt> <tt class="py-keyword">import</tt> <tt class="py-name">MIMENonMultipart</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">keyword</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">mimetypes</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urlparse</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">urlparse</tt> <tt class="py-keyword">import</tt> <tt class="py-name">parse_qsl</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">cgi</tt> <tt class="py-keyword">import</tt> <tt class="py-name">parse_qsl</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-comment"># Third-party imports</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">httplib2</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Module apiclient.mimeparse=apiclient.mimeparse-module.html"><a title="apiclient.mimeparse" class="py-name" href="#" onclick="return doclink('link-0', 'mimeparse', 'link-0');">mimeparse</a></tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">uritemplate</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-comment"># Local imports</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package apiclient=apiclient-module.html"><a title="apiclient" class="py-name" href="#" onclick="return doclink('link-1', 'apiclient', 'link-1');">apiclient</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module apiclient.errors=apiclient.errors-module.html"><a title="apiclient.errors" class="py-name" href="#" onclick="return doclink('link-2', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class apiclient.errors.HttpError=apiclient.errors.HttpError-class.html"><a title="apiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-3', 'HttpError', 'link-3');">HttpError</a></tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="apiclient" class="py-name" href="#" onclick="return doclink('link-4', 'apiclient', 'link-1');">apiclient</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="apiclient.errors" class="py-name" href="#" onclick="return doclink('link-5', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class apiclient.errors.InvalidJsonError=apiclient.errors.InvalidJsonError-class.html"><a title="apiclient.errors.InvalidJsonError" class="py-name" href="#" onclick="return doclink('link-6', 'InvalidJsonError', 'link-6');">InvalidJsonError</a></tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="apiclient" class="py-name" href="#" onclick="return doclink('link-7', 'apiclient', 'link-1');">apiclient</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="apiclient.errors" class="py-name" href="#" onclick="return doclink('link-8', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Class apiclient.errors.MediaUploadSizeError=apiclient.errors.MediaUploadSizeError-class.html"><a title="apiclient.errors.MediaUploadSizeError" class="py-name" href="#" onclick="return doclink('link-9', 'MediaUploadSizeError', 'link-9');">MediaUploadSizeError</a></tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-10" class="py-name"><a title="apiclient" class="py-name" href="#" onclick="return doclink('link-10', 'apiclient', 'link-1');">apiclient</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="apiclient.errors" class="py-name" href="#" onclick="return doclink('link-11', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-12" class="py-name" targets="Class apiclient.errors.UnacceptableMimeTypeError=apiclient.errors.UnacceptableMimeTypeError-class.html"><a title="apiclient.errors.UnacceptableMimeTypeError" class="py-name" href="#" onclick="return doclink('link-12', 'UnacceptableMimeTypeError', 'link-12');">UnacceptableMimeTypeError</a></tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-13" class="py-name"><a title="apiclient" class="py-name" href="#" onclick="return doclink('link-13', 'apiclient', 'link-1');">apiclient</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="apiclient.errors" class="py-name" href="#" onclick="return doclink('link-14', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-15" class="py-name" targets="Class apiclient.errors.UnknownApiNameOrVersion=apiclient.errors.UnknownApiNameOrVersion-class.html"><a title="apiclient.errors.UnknownApiNameOrVersion" class="py-name" href="#" onclick="return doclink('link-15', 'UnknownApiNameOrVersion', 'link-15');">UnknownApiNameOrVersion</a></tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-16" class="py-name"><a title="apiclient" class="py-name" href="#" onclick="return doclink('link-16', 'apiclient', 'link-1');">apiclient</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="apiclient.errors" class="py-name" href="#" onclick="return doclink('link-17', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-18" class="py-name" targets="Class apiclient.errors.UnknownFileType=apiclient.errors.UnknownFileType-class.html"><a title="apiclient.errors.UnknownFileType" class="py-name" href="#" onclick="return doclink('link-18', 'UnknownFileType', 'link-18');">UnknownFileType</a></tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-19" class="py-name"><a title="apiclient" class="py-name" href="#" onclick="return doclink('link-19', 'apiclient', 'link-1');">apiclient</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Module apiclient.http=apiclient.http-module.html,Method oauth2client.appengine.OAuth2Decorator.http()=oauth2client.appengine.OAuth2Decorator-class.html#http"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-20', 'http', 'link-20');">http</a></tt> <tt class="py-keyword">import</tt> <tt id="link-21" class="py-name" targets="Class apiclient.http.HttpRequest=apiclient.http.HttpRequest-class.html"><a title="apiclient.http.HttpRequest" class="py-name" href="#" onclick="return doclink('link-21', 'HttpRequest', 'link-21');">HttpRequest</a></tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-22" class="py-name"><a title="apiclient" class="py-name" href="#" onclick="return doclink('link-22', 'apiclient', 'link-1');">apiclient</a></tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-23', 'http', 'link-20');">http</a></tt> <tt class="py-keyword">import</tt> <tt id="link-24" class="py-name" targets="Class apiclient.http.MediaFileUpload=apiclient.http.MediaFileUpload-class.html"><a title="apiclient.http.MediaFileUpload" class="py-name" href="#" onclick="return doclink('link-24', 'MediaFileUpload', 'link-24');">MediaFileUpload</a></tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-25" class="py-name"><a title="apiclient" class="py-name" href="#" onclick="return doclink('link-25', 'apiclient', 'link-1');">apiclient</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-26', 'http', 'link-20');">http</a></tt> <tt class="py-keyword">import</tt> <tt id="link-27" class="py-name" targets="Class apiclient.http.MediaUpload=apiclient.http.MediaUpload-class.html"><a title="apiclient.http.MediaUpload" class="py-name" href="#" onclick="return doclink('link-27', 'MediaUpload', 'link-27');">MediaUpload</a></tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-28" class="py-name"><a title="apiclient" class="py-name" href="#" onclick="return doclink('link-28', 'apiclient', 'link-1');">apiclient</a></tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Module apiclient.model=apiclient.model-module.html"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-29', 'model', 'link-29');">model</a></tt> <tt class="py-keyword">import</tt> <tt id="link-30" class="py-name" targets="Class apiclient.model.JsonModel=apiclient.model.JsonModel-class.html"><a title="apiclient.model.JsonModel" class="py-name" href="#" onclick="return doclink('link-30', 'JsonModel', 'link-30');">JsonModel</a></tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-31" class="py-name"><a title="apiclient" class="py-name" href="#" onclick="return doclink('link-31', 'apiclient', 'link-1');">apiclient</a></tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-32', 'model', 'link-29');">model</a></tt> <tt class="py-keyword">import</tt> <tt id="link-33" class="py-name" targets="Class apiclient.model.MediaModel=apiclient.model.MediaModel-class.html"><a title="apiclient.model.MediaModel" class="py-name" href="#" onclick="return doclink('link-33', 'MediaModel', 'link-33');">MediaModel</a></tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-34" class="py-name"><a title="apiclient" class="py-name" href="#" onclick="return doclink('link-34', 'apiclient', 'link-1');">apiclient</a></tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-35', 'model', 'link-29');">model</a></tt> <tt class="py-keyword">import</tt> <tt id="link-36" class="py-name" targets="Class apiclient.model.RawModel=apiclient.model.RawModel-class.html"><a title="apiclient.model.RawModel" class="py-name" href="#" onclick="return doclink('link-36', 'RawModel', 'link-36');">RawModel</a></tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-37" class="py-name"><a title="apiclient" class="py-name" href="#" onclick="return doclink('link-37', 'apiclient', 'link-1');">apiclient</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Module apiclient.schema=apiclient.schema-module.html"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-38', 'schema', 'link-38');">schema</a></tt> <tt class="py-keyword">import</tt> <tt id="link-39" class="py-name" targets="Class apiclient.schema.Schemas=apiclient.schema.Schemas-class.html"><a title="apiclient.schema.Schemas" class="py-name" href="#" onclick="return doclink('link-39', 'Schemas', 'link-39');">Schemas</a></tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-40" class="py-name" targets="Package oauth2client=oauth2client-module.html"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-40', 'oauth2client', 'link-40');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Module oauth2client.anyjson=oauth2client.anyjson-module.html"><a title="oauth2client.anyjson" class="py-name" href="#" onclick="return doclink('link-41', 'anyjson', 'link-41');">anyjson</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-42" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-42', 'oauth2client', 'link-40');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-43" class="py-name" targets="Module oauth2client.util=oauth2client.util-module.html"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-43', 'util', 'link-43');">util</a></tt> <tt class="py-keyword">import</tt> <tt id="link-44" class="py-name" targets="Function oauth2client.util._add_query_parameter()=oauth2client.util-module.html#_add_query_parameter"><a title="oauth2client.util._add_query_parameter" class="py-name" href="#" onclick="return doclink('link-44', '_add_query_parameter', 'link-44');">_add_query_parameter</a></tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-45" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-45', 'oauth2client', 'link-40');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-46', 'util', 'link-43');">util</a></tt> <tt class="py-keyword">import</tt> <tt id="link-47" class="py-name" targets="Function oauth2client.util.positional()=oauth2client.util-module.html#positional"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-47', 'positional', 'link-47');">positional</a></tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-comment"># The client library requires a version of httplib2 that supports RETRIES.</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">RETRIES</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt id="link-48" class="py-name" targets="Variable apiclient.discovery.logger=apiclient.discovery-module.html#logger,Variable oauth2client.appengine.logger=oauth2client.appengine-module.html#logger,Variable oauth2client.client.logger=oauth2client.client-module.html#logger,Variable oauth2client.crypt.logger=oauth2client.crypt-module.html#logger,Variable oauth2client.gce.logger=oauth2client.gce-module.html#logger,Variable oauth2client.locked_file.logger=oauth2client.locked_file-module.html#logger,Variable oauth2client.multistore_file.logger=oauth2client.multistore_file-module.html#logger,Variable oauth2client.util.logger=oauth2client.util-module.html#logger"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-48', 'logger', 'link-48');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-name">__name__</tt><tt class="py-op">)</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt id="link-49" class="py-name" targets="Variable apiclient.discovery.URITEMPLATE=apiclient.discovery-module.html#URITEMPLATE"><a title="apiclient.discovery.URITEMPLATE" class="py-name" href="#" onclick="return doclink('link-49', 'URITEMPLATE', 'link-49');">URITEMPLATE</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'{[^}]*}'</tt><tt class="py-op">)</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt id="link-50" class="py-name" targets="Variable apiclient.discovery.VARNAME=apiclient.discovery-module.html#VARNAME"><a title="apiclient.discovery.VARNAME" class="py-name" href="#" onclick="return doclink('link-50', 'VARNAME', 'link-50');">VARNAME</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'[a-zA-Z0-9_-]+'</tt><tt class="py-op">)</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt id="link-51" class="py-name" targets="Variable apiclient.discovery.DISCOVERY_URI=apiclient.discovery-module.html#DISCOVERY_URI"><a title="apiclient.discovery.DISCOVERY_URI" class="py-name" href="#" onclick="return doclink('link-51', 'DISCOVERY_URI', 'link-51');">DISCOVERY_URI</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'https://www.googleapis.com/discovery/v1/apis/'</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">                 <tt class="py-string">'{api}/{apiVersion}/rest'</tt><tt class="py-op">)</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt id="link-52" class="py-name" targets="Variable apiclient.discovery.DEFAULT_METHOD_DOC=apiclient.discovery-module.html#DEFAULT_METHOD_DOC"><a title="apiclient.discovery.DEFAULT_METHOD_DOC" class="py-name" href="#" onclick="return doclink('link-52', 'DEFAULT_METHOD_DOC', 'link-52');">DEFAULT_METHOD_DOC</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'A description of how to use this function'</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt id="link-53" class="py-name" targets="Variable apiclient.discovery.HTTP_PAYLOAD_METHODS=apiclient.discovery-module.html#HTTP_PAYLOAD_METHODS"><a title="apiclient.discovery.HTTP_PAYLOAD_METHODS" class="py-name" href="#" onclick="return doclink('link-53', 'HTTP_PAYLOAD_METHODS', 'link-53');">HTTP_PAYLOAD_METHODS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">frozenset</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">'PUT'</tt><tt class="py-op">,</tt> <tt class="py-string">'POST'</tt><tt class="py-op">,</tt> <tt class="py-string">'PATCH'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt id="link-54" class="py-name" targets="Variable apiclient.discovery._MEDIA_SIZE_BIT_SHIFTS=apiclient.discovery-module.html#_MEDIA_SIZE_BIT_SHIFTS"><a title="apiclient.discovery._MEDIA_SIZE_BIT_SHIFTS" class="py-name" href="#" onclick="return doclink('link-54', '_MEDIA_SIZE_BIT_SHIFTS', 'link-54');">_MEDIA_SIZE_BIT_SHIFTS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'KB'</tt><tt class="py-op">:</tt> <tt class="py-number">10</tt><tt class="py-op">,</tt> <tt class="py-string">'MB'</tt><tt class="py-op">:</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-string">'GB'</tt><tt class="py-op">:</tt> <tt class="py-number">30</tt><tt class="py-op">,</tt> <tt class="py-string">'TB'</tt><tt class="py-op">:</tt> <tt class="py-number">40</tt><tt class="py-op">}</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt id="link-55" class="py-name" targets="Variable apiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE=apiclient.discovery-module.html#BODY_PARAMETER_DEFAULT_VALUE"><a title="apiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-55', 'BODY_PARAMETER_DEFAULT_VALUE', 'link-55');">BODY_PARAMETER_DEFAULT_VALUE</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">    <tt class="py-string">'description'</tt><tt class="py-op">:</tt> <tt class="py-string">'The request body.'</tt><tt class="py-op">,</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">    <tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'object'</tt><tt class="py-op">,</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">    <tt class="py-string">'required'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt id="link-56" class="py-name" targets="Variable apiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE=apiclient.discovery-module.html#MEDIA_BODY_PARAMETER_DEFAULT_VALUE"><a title="apiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-56', 'MEDIA_BODY_PARAMETER_DEFAULT_VALUE', 'link-56');">MEDIA_BODY_PARAMETER_DEFAULT_VALUE</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">    <tt class="py-string">'description'</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt class="py-string">'The filename of the media request body, or an instance '</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">                    <tt class="py-string">'of a MediaUpload object.'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">    <tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'string'</tt><tt class="py-op">,</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">    <tt class="py-string">'required'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-comment"># Parameters accepted by the stack, but not visible via discovery.</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-comment"># TODO(dhermes): Remove 'userip' in 'v2'.</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt id="link-57" class="py-name" targets="Variable apiclient.discovery.STACK_QUERY_PARAMETERS=apiclient.discovery-module.html#STACK_QUERY_PARAMETERS"><a title="apiclient.discovery.STACK_QUERY_PARAMETERS" class="py-name" href="#" onclick="return doclink('link-57', 'STACK_QUERY_PARAMETERS', 'link-57');">STACK_QUERY_PARAMETERS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">frozenset</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">'trace'</tt><tt class="py-op">,</tt> <tt class="py-string">'pp'</tt><tt class="py-op">,</tt> <tt class="py-string">'userip'</tt><tt class="py-op">,</tt> <tt class="py-string">'strict'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt id="link-58" class="py-name" targets="Variable apiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE=apiclient.discovery-module.html#STACK_QUERY_PARAMETER_DEFAULT_VALUE"><a title="apiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-58', 'STACK_QUERY_PARAMETER_DEFAULT_VALUE', 'link-58');">STACK_QUERY_PARAMETER_DEFAULT_VALUE</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'string'</tt><tt class="py-op">,</tt> <tt class="py-string">'location'</tt><tt class="py-op">:</tt> <tt class="py-string">'query'</tt><tt class="py-op">}</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt class="py-comment"># Library-specific reserved words beyond Python keywords.</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"><tt id="link-59" class="py-name" targets="Variable apiclient.discovery.RESERVED_WORDS=apiclient.discovery-module.html#RESERVED_WORDS"><a title="apiclient.discovery.RESERVED_WORDS" class="py-name" href="#" onclick="return doclink('link-59', 'RESERVED_WORDS', 'link-59');">RESERVED_WORDS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">frozenset</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">'body'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="fix_method_name"></a><div id="fix_method_name-def"><a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="fix_method_name-toggle" onclick="return toggle('fix_method_name');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery-module.html#fix_method_name">fix_method_name</a><tt class="py-op">(</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="fix_method_name-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="fix_method_name-expanded"><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">  <tt class="py-docstring">"""Fix method names to avoid reserved word conflicts.</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">    name: string, method name.</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-docstring">    The name with a '_' prefixed if the name is a reserved word.</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">keyword</tt><tt class="py-op">.</tt><tt class="py-name">iskeyword</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt id="link-60" class="py-name"><a title="apiclient.discovery.RESERVED_WORDS" class="py-name" href="#" onclick="return doclink('link-60', 'RESERVED_WORDS', 'link-59');">RESERVED_WORDS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">'_'</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">name</tt> </tt>
-</div><a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"> </tt>
-<a name="key2param"></a><div id="key2param-def"><a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <a class="py-toggle" href="#" id="key2param-toggle" onclick="return toggle('key2param');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery-module.html#key2param">key2param</a><tt class="py-op">(</tt><tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="key2param-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="key2param-expanded"><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">  <tt class="py-docstring">"""Converts key names into parameter names.</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-docstring">  For example, converting "max-results" -&gt; "max_results"</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">    key: string, the method key name.</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">    A safe method name based on the key name.</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">  <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">  <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">key</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">isalpha</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">    <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">)</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">key</tt><tt class="py-op">:</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">isalnum</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">      <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">      <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'_'</tt><tt class="py-op">)</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"> </tt>
-<a name="build"></a><div id="build-def"><a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">positional</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <a class="py-toggle" href="#" id="build-toggle" onclick="return toggle('build');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery-module.html#build">build</a><tt class="py-op">(</tt><tt class="py-param">serviceName</tt><tt class="py-op">,</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">          <tt class="py-param">version</tt><tt class="py-op">,</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">          <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">          <tt class="py-param">discoveryServiceUrl</tt><tt class="py-op">=</tt><tt id="link-61" class="py-name"><a title="apiclient.discovery.DISCOVERY_URI" class="py-name" href="#" onclick="return doclink('link-61', 'DISCOVERY_URI', 'link-51');">DISCOVERY_URI</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">          <tt class="py-param">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">          <tt class="py-param">model</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">          <tt class="py-param">requestBuilder</tt><tt class="py-op">=</tt><tt id="link-62" class="py-name"><a title="apiclient.http.HttpRequest" class="py-name" href="#" onclick="return doclink('link-62', 'HttpRequest', 'link-21');">HttpRequest</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="build-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="build-expanded"><a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">  <tt class="py-docstring">"""Construct a Resource for interacting with an API.</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">  Construct a Resource object for interacting with an API. The serviceName and</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">  version are the names from the Discovery service.</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">    serviceName: string, name of the service.</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-docstring">    version: string, the version of the service.</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring">    http: httplib2.Http, An instance of httplib2.Http or something that acts</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-docstring">      like it that HTTP requests will be made through.</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-docstring">    discoveryServiceUrl: string, a URI Template that points to the location of</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-docstring">      the discovery service. It should have two parameters {api} and</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring">      {apiVersion} that when filled in produce an absolute URI to the discovery</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-docstring">      document for that service.</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"><tt class="py-docstring">    developerKey: string, key obtained from</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"><tt class="py-docstring">      https://code.google.com/apis/console.</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"><tt class="py-docstring">    model: apiclient.Model, converts to and from the wire format.</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"><tt class="py-docstring">    requestBuilder: apiclient.http.HttpRequest, encapsulator for an HTTP</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-docstring">      request.</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-docstring">    A Resource object with methods for interacting with the service.</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">  <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">      <tt class="py-string">'api'</tt><tt class="py-op">:</tt> <tt class="py-name">serviceName</tt><tt class="py-op">,</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">      <tt class="py-string">'apiVersion'</tt><tt class="py-op">:</tt> <tt class="py-name">version</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">      <tt class="py-op">}</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt id="link-63" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-63', 'http', 'link-20');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">    <tt id="link-64" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-64', 'http', 'link-20');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Http</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">  <tt class="py-name">requested_url</tt> <tt class="py-op">=</tt> <tt class="py-name">uritemplate</tt><tt class="py-op">.</tt><tt class="py-name">expand</tt><tt class="py-op">(</tt><tt class="py-name">discoveryServiceUrl</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">  <tt class="py-comment"># REMOTE_ADDR is defined by the CGI spec [RFC3875] as the environment</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">  <tt class="py-comment"># variable that contains the network address of the client sending the</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">  <tt class="py-comment"># request. If it exists then add that to the request for the discovery</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">  <tt class="py-comment"># document to avoid exceeding the quota on discovery requests.</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-string">'REMOTE_ADDR'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">:</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">    <tt class="py-name">requested_url</tt> <tt class="py-op">=</tt> <tt id="link-65" class="py-name"><a title="oauth2client.util._add_query_parameter" class="py-name" href="#" onclick="return doclink('link-65', '_add_query_parameter', 'link-44');">_add_query_parameter</a></tt><tt class="py-op">(</tt><tt class="py-name">requested_url</tt><tt class="py-op">,</tt> <tt class="py-string">'userIp'</tt><tt class="py-op">,</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">                                         <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'REMOTE_ADDR'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">  <tt id="link-66" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-66', 'logger', 'link-48');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'URL being requested: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">requested_url</tt><tt class="py-op">)</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">  <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-67" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-67', 'http', 'link-20');">http</a></tt><tt class="py-op">.</tt><tt id="link-68" class="py-name" targets="Method apiclient.http.HttpMock.request()=apiclient.http.HttpMock-class.html#request,Method apiclient.http.HttpMockSequence.request()=apiclient.http.HttpMockSequence-class.html#request,Method apiclient.model.BaseModel.request()=apiclient.model.BaseModel-class.html#request,Method apiclient.model.Model.request()=apiclient.model.Model-class.html#request"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-68', 'request', 'link-68');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">requested_url</tt><tt class="py-op">)</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">404</tt><tt class="py-op">:</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-69" class="py-name"><a title="apiclient.errors.UnknownApiNameOrVersion" class="py-name" href="#" onclick="return doclink('link-69', 'UnknownApiNameOrVersion', 'link-15');">UnknownApiNameOrVersion</a></tt><tt class="py-op">(</tt><tt class="py-string">"name: %s  version: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">serviceName</tt><tt class="py-op">,</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">                                                            <tt class="py-name">version</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">400</tt><tt class="py-op">:</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-70" class="py-name"><a title="apiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-70', 'HttpError', 'link-3');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">requested_url</tt><tt class="py-op">)</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line"> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">  <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">    <tt class="py-name">service</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name" targets="Function oauth2client.clientsecrets.loads()=oauth2client.clientsecrets-module.html#loads"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-71', 'loads', 'link-71');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">  <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">    <tt id="link-72" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-72', 'logger', 'link-48');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">'Failed to parse as JSON: '</tt> <tt class="py-op">+</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-73" class="py-name"><a title="apiclient.errors.InvalidJsonError" class="py-name" href="#" onclick="return doclink('link-73', 'InvalidJsonError', 'link-6');">InvalidJsonError</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line"> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-74" class="py-name" targets="Function apiclient.discovery.build_from_document()=apiclient.discovery-module.html#build_from_document"><a title="apiclient.discovery.build_from_document" class="py-name" href="#" onclick="return doclink('link-74', 'build_from_document', 'link-74');">build_from_document</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">base</tt><tt class="py-op">=</tt><tt class="py-name">discoveryServiceUrl</tt><tt class="py-op">,</tt> <tt id="link-75" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-75', 'http', 'link-20');">http</a></tt><tt class="py-op">=</tt><tt id="link-76" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-76', 'http', 'link-20');">http</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">      <tt class="py-name">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">developerKey</tt><tt class="py-op">,</tt> <tt id="link-77" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-77', 'model', 'link-29');">model</a></tt><tt class="py-op">=</tt><tt id="link-78" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-78', 'model', 'link-29');">model</a></tt><tt class="py-op">,</tt> <tt class="py-name">requestBuilder</tt><tt class="py-op">=</tt><tt class="py-name">requestBuilder</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line"> </tt>
-<a name="build_from_document"></a><div id="build_from_document-def"><a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt> <a class="py-toggle" href="#" id="build_from_document-toggle" onclick="return toggle('build_from_document');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery-module.html#build_from_document">build_from_document</a><tt class="py-op">(</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">    <tt class="py-param">service</tt><tt class="py-op">,</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">    <tt class="py-param">base</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">    <tt class="py-param">future</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">    <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">    <tt class="py-param">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">    <tt class="py-param">model</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">    <tt class="py-param">requestBuilder</tt><tt class="py-op">=</tt><tt id="link-79" class="py-name"><a title="apiclient.http.HttpRequest" class="py-name" href="#" onclick="return doclink('link-79', 'HttpRequest', 'link-21');">HttpRequest</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="build_from_document-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="build_from_document-expanded"><a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">  <tt class="py-docstring">"""Create a Resource for interacting with an API.</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"><tt class="py-docstring">  Same as `build()`, but constructs the Resource object from a discovery</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"><tt class="py-docstring">  document that is it given, as opposed to retrieving one over HTTP.</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring">    service: string or object, the JSON discovery document describing the API.</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-docstring">      The value passed in may either be the JSON string or the deserialized</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-docstring">      JSON.</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"><tt class="py-docstring">    base: string, base URI for all HTTP requests, usually the discovery URI.</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">      This parameter is no longer used as rootUrl and servicePath are included</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring">      within the discovery document. (deprecated)</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring">    future: string, discovery document with future capabilities (deprecated).</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"><tt class="py-docstring">    http: httplib2.Http, An instance of httplib2.Http or something that acts</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"><tt class="py-docstring">      like it that HTTP requests will be made through.</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"><tt class="py-docstring">    developerKey: string, Key for controlling API usage, generated</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-docstring">      from the API Console.</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-docstring">    model: Model class instance that serializes and de-serializes requests and</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"><tt class="py-docstring">      responses.</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"><tt class="py-docstring">    requestBuilder: Takes an http request and packages it up to be executed.</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"><tt class="py-docstring">    A Resource object with methods for interacting with the service.</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">  <tt class="py-comment"># future is no longer used.</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">  <tt class="py-name">future</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">    <tt class="py-name">service</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-80', 'loads', 'link-71');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">)</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">  <tt class="py-name">base</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urljoin</tt><tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">[</tt><tt class="py-string">'rootUrl'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">service</tt><tt class="py-op">[</tt><tt class="py-string">'servicePath'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">  <tt id="link-81" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-81', 'schema', 'link-38');">schema</a></tt> <tt class="py-op">=</tt> <tt id="link-82" class="py-name"><a title="apiclient.schema.Schemas" class="py-name" href="#" onclick="return doclink('link-82', 'Schemas', 'link-39');">Schemas</a></tt><tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">)</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt id="link-83" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-83', 'model', 'link-29');">model</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">    <tt class="py-name">features</tt> <tt class="py-op">=</tt> <tt class="py-name">service</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name" targets="Method apiclient.schema.Schemas.get()=apiclient.schema.Schemas-class.html#get,Method oauth2client.client.MemoryCache.get()=oauth2client.client.MemoryCache-class.html#get,Method oauth2client.client.Storage.get()=oauth2client.client.Storage-class.html#get"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-84', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'features'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">    <tt id="link-85" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-85', 'model', 'link-29');">model</a></tt> <tt class="py-op">=</tt> <tt id="link-86" class="py-name"><a title="apiclient.model.JsonModel" class="py-name" href="#" onclick="return doclink('link-86', 'JsonModel', 'link-30');">JsonModel</a></tt><tt class="py-op">(</tt><tt class="py-string">'dataWrapper'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">features</tt><tt class="py-op">)</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-87" class="py-name" targets="Class apiclient.discovery.Resource=apiclient.discovery.Resource-class.html"><a title="apiclient.discovery.Resource" class="py-name" href="#" onclick="return doclink('link-87', 'Resource', 'link-87');">Resource</a></tt><tt class="py-op">(</tt><tt id="link-88" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-88', 'http', 'link-20');">http</a></tt><tt class="py-op">=</tt><tt id="link-89" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-89', 'http', 'link-20');">http</a></tt><tt class="py-op">,</tt> <tt class="py-name">baseUrl</tt><tt class="py-op">=</tt><tt class="py-name">base</tt><tt class="py-op">,</tt> <tt id="link-90" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-90', 'model', 'link-29');">model</a></tt><tt class="py-op">=</tt><tt id="link-91" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-91', 'model', 'link-29');">model</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">                  <tt class="py-name">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">developerKey</tt><tt class="py-op">,</tt> <tt class="py-name">requestBuilder</tt><tt class="py-op">=</tt><tt class="py-name">requestBuilder</tt><tt class="py-op">,</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">                  <tt class="py-name">resourceDesc</tt><tt class="py-op">=</tt><tt class="py-name">service</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">=</tt><tt class="py-name">service</tt><tt class="py-op">,</tt> <tt id="link-92" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-92', 'schema', 'link-38');">schema</a></tt><tt class="py-op">=</tt><tt id="link-93" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-93', 'schema', 'link-38');">schema</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line"> </tt>
-<a name="_cast"></a><div id="_cast-def"><a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line"> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt> <a class="py-toggle" href="#" id="_cast-toggle" onclick="return toggle('_cast');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery-module.html#_cast">_cast</a><tt class="py-op">(</tt><tt class="py-param">value</tt><tt class="py-op">,</tt> <tt class="py-param">schema_type</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_cast-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_cast-expanded"><a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">  <tt class="py-docstring">"""Convert value to a string based on JSON Schema type.</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line"><tt class="py-docstring">  See http://tools.ietf.org/html/draft-zyp-json-schema-03 for more details on</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line"><tt class="py-docstring">  JSON Schema.</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line"><tt class="py-docstring">    value: any, the value to convert</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"><tt class="py-docstring">    schema_type: string, the type that value should be interpreted as</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line"><tt class="py-docstring">    A string representation of 'value' based on the schema_type.</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">schema_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'string'</tt><tt class="py-op">:</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">u''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">value</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">  <tt class="py-keyword">elif</tt> <tt class="py-name">schema_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'integer'</tt><tt class="py-op">:</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">  <tt class="py-keyword">elif</tt> <tt class="py-name">schema_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'number'</tt><tt class="py-op">:</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">  <tt class="py-keyword">elif</tt> <tt class="py-name">schema_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'boolean'</tt><tt class="py-op">:</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">bool</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">u''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">value</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"> </tt>
-<a name="_media_size_to_long"></a><div id="_media_size_to_long-def"><a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line"> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt> <a class="py-toggle" href="#" id="_media_size_to_long-toggle" onclick="return toggle('_media_size_to_long');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery-module.html#_media_size_to_long">_media_size_to_long</a><tt class="py-op">(</tt><tt class="py-param">maxSize</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_media_size_to_long-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_media_size_to_long-expanded"><a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">  <tt class="py-docstring">"""Convert a string media size, such as 10GB or 3TB into an integer.</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"><tt class="py-docstring">    maxSize: string, size as a string, such as 2MB or 7GB.</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line"><tt class="py-docstring">    The size as an integer value.</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">maxSize</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-number">0L</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">  <tt class="py-name">units</tt> <tt class="py-op">=</tt> <tt class="py-name">maxSize</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">  <tt class="py-name">bit_shift</tt> <tt class="py-op">=</tt> <tt id="link-94" class="py-name"><a title="apiclient.discovery._MEDIA_SIZE_BIT_SHIFTS" class="py-name" href="#" onclick="return doclink('link-94', '_MEDIA_SIZE_BIT_SHIFTS', 'link-54');">_MEDIA_SIZE_BIT_SHIFTS</a></tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-95', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">units</tt><tt class="py-op">)</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">bit_shift</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">maxSize</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;&lt;</tt> <tt class="py-name">bit_shift</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">maxSize</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"> </tt>
-<a name="_media_path_url_from_info"></a><div id="_media_path_url_from_info-def"><a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt> <a class="py-toggle" href="#" id="_media_path_url_from_info-toggle" onclick="return toggle('_media_path_url_from_info');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery-module.html#_media_path_url_from_info">_media_path_url_from_info</a><tt class="py-op">(</tt><tt class="py-param">root_desc</tt><tt class="py-op">,</tt> <tt class="py-param">path_url</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_media_path_url_from_info-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_media_path_url_from_info-expanded"><a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">  <tt class="py-docstring">"""Creates an absolute media path URL.</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line"><tt class="py-docstring">  Constructed using the API root URI and service path from the discovery</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line"><tt class="py-docstring">  document and the relative path for the API method.</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line"><tt class="py-docstring">    root_desc: Dictionary; the entire original deserialized discovery document.</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line"><tt class="py-docstring">    path_url: String; the relative URL for the API method. Relative to the API</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line"><tt class="py-docstring">        root, which is specified in the discovery document.</tt> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line"><tt class="py-docstring">    String; the absolute URI for media upload for the API method.</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-string">'%(root)supload/%(service_path)s%(path)s'</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">      <tt class="py-string">'root'</tt><tt class="py-op">:</tt> <tt class="py-name">root_desc</tt><tt class="py-op">[</tt><tt class="py-string">'rootUrl'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">      <tt class="py-string">'service_path'</tt><tt class="py-op">:</tt> <tt class="py-name">root_desc</tt><tt class="py-op">[</tt><tt class="py-string">'servicePath'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">      <tt class="py-string">'path'</tt><tt class="py-op">:</tt> <tt class="py-name">path_url</tt><tt class="py-op">,</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">  <tt class="py-op">}</tt> </tt>
-</div><a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line"> </tt>
-<a name="_fix_up_parameters"></a><div id="_fix_up_parameters-def"><a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line"> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt> <a class="py-toggle" href="#" id="_fix_up_parameters-toggle" onclick="return toggle('_fix_up_parameters');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery-module.html#_fix_up_parameters">_fix_up_parameters</a><tt class="py-op">(</tt><tt class="py-param">method_desc</tt><tt class="py-op">,</tt> <tt class="py-param">root_desc</tt><tt class="py-op">,</tt> <tt class="py-param">http_method</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_fix_up_parameters-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_fix_up_parameters-expanded"><a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">  <tt class="py-docstring">"""Updates parameters of an API method with values specific to this library.</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line"><tt class="py-docstring">  Specifically, adds whatever global parameters are specified by the API to the</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line"><tt class="py-docstring">  parameters for the individual method. Also adds parameters which don't</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line"><tt class="py-docstring">  appear in the discovery document, but are available to all discovery based</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line"><tt class="py-docstring">  APIs (these are listed in STACK_QUERY_PARAMETERS).</tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line"><tt class="py-docstring">  SIDE EFFECTS: This updates the parameters dictionary object in the method</tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line"><tt class="py-docstring">  description.</tt> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line"><tt class="py-docstring">    method_desc: Dictionary with metadata describing an API method. Value comes</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"><tt class="py-docstring">        from the dictionary of methods stored in the 'methods' key in the</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"><tt class="py-docstring">        deserialized discovery document.</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"><tt class="py-docstring">    root_desc: Dictionary; the entire original deserialized discovery document.</tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line"><tt class="py-docstring">    http_method: String; the HTTP method used to call the API method described</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line"><tt class="py-docstring">        in method_desc.</tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line"><tt class="py-docstring">    The updated Dictionary stored in the 'parameters' key of the method</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line"><tt class="py-docstring">        description dictionary.</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">  <tt class="py-name">parameters</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line"> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">  <tt class="py-comment"># Add in the parameters common to all methods.</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">description</tt> <tt class="py-keyword">in</tt> <tt class="py-name">root_desc</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-96', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">    <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">description</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line"> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">  <tt class="py-comment"># Add in undocumented query parameters.</tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt id="link-97" class="py-name"><a title="apiclient.discovery.STACK_QUERY_PARAMETERS" class="py-name" href="#" onclick="return doclink('link-97', 'STACK_QUERY_PARAMETERS', 'link-57');">STACK_QUERY_PARAMETERS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">    <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-98" class="py-name"><a title="apiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-98', 'STACK_QUERY_PARAMETER_DEFAULT_VALUE', 'link-58');">STACK_QUERY_PARAMETER_DEFAULT_VALUE</a></tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line"> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">  <tt class="py-comment"># Add 'body' (our own reserved word) to parameters if the method supports</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">  <tt class="py-comment"># a request payload.</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">http_method</tt> <tt class="py-keyword">in</tt> <tt id="link-99" class="py-name"><a title="apiclient.discovery.HTTP_PAYLOAD_METHODS" class="py-name" href="#" onclick="return doclink('link-99', 'HTTP_PAYLOAD_METHODS', 'link-53');">HTTP_PAYLOAD_METHODS</a></tt> <tt class="py-keyword">and</tt> <tt class="py-string">'request'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">method_desc</tt><tt class="py-op">:</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">    <tt id="link-100" class="py-name" targets="Method apiclient.channel.Channel.body()=apiclient.channel.Channel-class.html#body"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-100', 'body', 'link-100');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-101" class="py-name"><a title="apiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-101', 'BODY_PARAMETER_DEFAULT_VALUE', 'link-55');">BODY_PARAMETER_DEFAULT_VALUE</a></tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">    <tt id="link-102" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-102', 'body', 'link-100');">body</a></tt><tt class="py-op">.</tt><tt id="link-103" class="py-name" targets="Method apiclient.channel.Channel.update()=apiclient.channel.Channel-class.html#update"><a title="apiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-103', 'update', 'link-103');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'request'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">    <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-string">'body'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-104" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-104', 'body', 'link-100');">body</a></tt> </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line"> </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">parameters</tt> </tt>
-</div><a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line"> </tt>
-<a name="_fix_up_media_upload"></a><div id="_fix_up_media_upload-def"><a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line"> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt> <a class="py-toggle" href="#" id="_fix_up_media_upload-toggle" onclick="return toggle('_fix_up_media_upload');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery-module.html#_fix_up_media_upload">_fix_up_media_upload</a><tt class="py-op">(</tt><tt class="py-param">method_desc</tt><tt class="py-op">,</tt> <tt class="py-param">root_desc</tt><tt class="py-op">,</tt> <tt class="py-param">path_url</tt><tt class="py-op">,</tt> <tt class="py-param">parameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_fix_up_media_upload-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_fix_up_media_upload-expanded"><a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">  <tt class="py-docstring">"""Updates parameters of API by adding 'media_body' if supported by method.</tt> </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line"><tt class="py-docstring">  SIDE EFFECTS: If the method supports media upload and has a required body,</tt> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line"><tt class="py-docstring">  sets body to be optional (required=False) instead. Also, if there is a</tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line"><tt class="py-docstring">  'mediaUpload' in the method description, adds 'media_upload' key to</tt> </tt>
-<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line"><tt class="py-docstring">  parameters.</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line"><tt class="py-docstring">    method_desc: Dictionary with metadata describing an API method. Value comes</tt> </tt>
-<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line"><tt class="py-docstring">        from the dictionary of methods stored in the 'methods' key in the</tt> </tt>
-<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line"><tt class="py-docstring">        deserialized discovery document.</tt> </tt>
-<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line"><tt class="py-docstring">    root_desc: Dictionary; the entire original deserialized discovery document.</tt> </tt>
-<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line"><tt class="py-docstring">    path_url: String; the relative URL for the API method. Relative to the API</tt> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line"><tt class="py-docstring">        root, which is specified in the discovery document.</tt> </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line"><tt class="py-docstring">    parameters: A dictionary describing method parameters for method described</tt> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line"><tt class="py-docstring">        in method_desc.</tt> </tt>
-<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line"><tt class="py-docstring">    Triple (accept, max_size, media_path_url) where:</tt> </tt>
-<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line"><tt class="py-docstring">      - accept is a list of strings representing what content types are</tt> </tt>
-<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line"><tt class="py-docstring">        accepted for media upload. Defaults to empty list if not in the</tt> </tt>
-<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line"><tt class="py-docstring">        discovery document.</tt> </tt>
-<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line"><tt class="py-docstring">      - max_size is a long representing the max size in bytes allowed for a</tt> </tt>
-<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line"><tt class="py-docstring">        media upload. Defaults to 0L if not in the discovery document.</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line"><tt class="py-docstring">      - media_path_url is a String; the absolute URI for media upload for the</tt> </tt>
-<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line"><tt class="py-docstring">        API method. Constructed using the API root URI and service path from</tt> </tt>
-<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line"><tt class="py-docstring">        the discovery document and the relative path for the API method. If</tt> </tt>
-<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line"><tt class="py-docstring">        media upload is not supported, this is None.</tt> </tt>
-<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">  <tt class="py-name">media_upload</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-105', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'mediaUpload'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">  <tt id="link-106" class="py-name" targets="Variable apiclient.model.BaseModel.accept=apiclient.model.BaseModel-class.html#accept,Variable apiclient.model.JsonModel.accept=apiclient.model.JsonModel-class.html#accept,Variable apiclient.model.MediaModel.accept=apiclient.model.MediaModel-class.html#accept,Variable apiclient.model.ProtocolBufferModel.accept=apiclient.model.ProtocolBufferModel-class.html#accept,Variable apiclient.model.RawModel.accept=apiclient.model.RawModel-class.html#accept"><a title="apiclient.model.BaseModel.accept
-apiclient.model.JsonModel.accept
-apiclient.model.MediaModel.accept
-apiclient.model.ProtocolBufferModel.accept
-apiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-106', 'accept', 'link-106');">accept</a></tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-107', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'accept'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">  <tt class="py-name">max_size</tt> <tt class="py-op">=</tt> <tt id="link-108" class="py-name" targets="Function apiclient.discovery._media_size_to_long()=apiclient.discovery-module.html#_media_size_to_long"><a title="apiclient.discovery._media_size_to_long" class="py-name" href="#" onclick="return doclink('link-108', '_media_size_to_long', 'link-108');">_media_size_to_long</a></tt><tt class="py-op">(</tt><tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-109', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'maxSize'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">  <tt class="py-name">media_path_url</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line"> </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">media_upload</tt><tt class="py-op">:</tt> </tt>
-<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">    <tt class="py-name">media_path_url</tt> <tt class="py-op">=</tt> <tt id="link-110" class="py-name" targets="Function apiclient.discovery._media_path_url_from_info()=apiclient.discovery-module.html#_media_path_url_from_info"><a title="apiclient.discovery._media_path_url_from_info" class="py-name" href="#" onclick="return doclink('link-110', '_media_path_url_from_info', 'link-110');">_media_path_url_from_info</a></tt><tt class="py-op">(</tt><tt class="py-name">root_desc</tt><tt class="py-op">,</tt> <tt class="py-name">path_url</tt><tt class="py-op">)</tt> </tt>
-<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">    <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-string">'media_body'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-111" class="py-name"><a title="apiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-111', 'MEDIA_BODY_PARAMETER_DEFAULT_VALUE', 'link-56');">MEDIA_BODY_PARAMETER_DEFAULT_VALUE</a></tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'body'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">:</tt> </tt>
-<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line">      <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-string">'body'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'required'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line"> </tt>
-<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-112" class="py-name"><a title="apiclient.model.BaseModel.accept
-apiclient.model.JsonModel.accept
-apiclient.model.MediaModel.accept
-apiclient.model.ProtocolBufferModel.accept
-apiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-112', 'accept', 'link-106');">accept</a></tt><tt class="py-op">,</tt> <tt class="py-name">max_size</tt><tt class="py-op">,</tt> <tt class="py-name">media_path_url</tt> </tt>
-</div><a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line"> </tt>
-<a name="_fix_up_method_description"></a><div id="_fix_up_method_description-def"><a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line"> </tt>
-<a name="L418"></a><tt class="py-lineno">418</tt> <a class="py-toggle" href="#" id="_fix_up_method_description-toggle" onclick="return toggle('_fix_up_method_description');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery-module.html#_fix_up_method_description">_fix_up_method_description</a><tt class="py-op">(</tt><tt class="py-param">method_desc</tt><tt class="py-op">,</tt> <tt class="py-param">root_desc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_fix_up_method_description-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_fix_up_method_description-expanded"><a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">  <tt class="py-docstring">"""Updates a method description in a discovery document.</tt> </tt>
-<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line"><tt class="py-docstring">  SIDE EFFECTS: Changes the parameters dictionary in the method description with</tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line"><tt class="py-docstring">  extra parameters which are used locally.</tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line"><tt class="py-docstring">    method_desc: Dictionary with metadata describing an API method. Value comes</tt> </tt>
-<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line"><tt class="py-docstring">        from the dictionary of methods stored in the 'methods' key in the</tt> </tt>
-<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line"><tt class="py-docstring">        deserialized discovery document.</tt> </tt>
-<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line"><tt class="py-docstring">    root_desc: Dictionary; the entire original deserialized discovery document.</tt> </tt>
-<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line"><tt class="py-docstring">    Tuple (path_url, http_method, method_id, accept, max_size, media_path_url)</tt> </tt>
-<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line"><tt class="py-docstring">    where:</tt> </tt>
-<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line"><tt class="py-docstring">      - path_url is a String; the relative URL for the API method. Relative to</tt> </tt>
-<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line"><tt class="py-docstring">        the API root, which is specified in the discovery document.</tt> </tt>
-<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line"><tt class="py-docstring">      - http_method is a String; the HTTP method used to call the API method</tt> </tt>
-<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line"><tt class="py-docstring">        described in the method description.</tt> </tt>
-<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line"><tt class="py-docstring">      - method_id is a String; the name of the RPC method associated with the</tt> </tt>
-<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line"><tt class="py-docstring">        API method, and is in the method description in the 'id' key.</tt> </tt>
-<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line"><tt class="py-docstring">      - accept is a list of strings representing what content types are</tt> </tt>
-<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line"><tt class="py-docstring">        accepted for media upload. Defaults to empty list if not in the</tt> </tt>
-<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line"><tt class="py-docstring">        discovery document.</tt> </tt>
-<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line"><tt class="py-docstring">      - max_size is a long representing the max size in bytes allowed for a</tt> </tt>
-<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line"><tt class="py-docstring">        media upload. Defaults to 0L if not in the discovery document.</tt> </tt>
-<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line"><tt class="py-docstring">      - media_path_url is a String; the absolute URI for media upload for the</tt> </tt>
-<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line"><tt class="py-docstring">        API method. Constructed using the API root URI and service path from</tt> </tt>
-<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line"><tt class="py-docstring">        the discovery document and the relative path for the API method. If</tt> </tt>
-<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line"><tt class="py-docstring">        media upload is not supported, this is None.</tt> </tt>
-<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">  <tt class="py-name">path_url</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'path'</tt><tt class="py-op">]</tt> </tt>
-<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">  <tt class="py-name">http_method</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'httpMethod'</tt><tt class="py-op">]</tt> </tt>
-<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">  <tt class="py-name">method_id</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'id'</tt><tt class="py-op">]</tt> </tt>
-<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line"> </tt>
-<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line">  <tt class="py-name">parameters</tt> <tt class="py-op">=</tt> <tt id="link-113" class="py-name" targets="Function apiclient.discovery._fix_up_parameters()=apiclient.discovery-module.html#_fix_up_parameters"><a title="apiclient.discovery._fix_up_parameters" class="py-name" href="#" onclick="return doclink('link-113', '_fix_up_parameters', 'link-113');">_fix_up_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">method_desc</tt><tt class="py-op">,</tt> <tt class="py-name">root_desc</tt><tt class="py-op">,</tt> <tt class="py-name">http_method</tt><tt class="py-op">)</tt> </tt>
-<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line">  <tt class="py-comment"># Order is important. `_fix_up_media_upload` needs `method_desc` to have a</tt> </tt>
-<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">  <tt class="py-comment"># 'parameters' key and needs to know if there is a 'body' parameter because it</tt> </tt>
-<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line">  <tt class="py-comment"># also sets a 'media_body' parameter.</tt> </tt>
-<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">  <tt id="link-114" class="py-name"><a title="apiclient.model.BaseModel.accept
-apiclient.model.JsonModel.accept
-apiclient.model.MediaModel.accept
-apiclient.model.ProtocolBufferModel.accept
-apiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-114', 'accept', 'link-106');">accept</a></tt><tt class="py-op">,</tt> <tt class="py-name">max_size</tt><tt class="py-op">,</tt> <tt class="py-name">media_path_url</tt> <tt class="py-op">=</tt> <tt id="link-115" class="py-name" targets="Function apiclient.discovery._fix_up_media_upload()=apiclient.discovery-module.html#_fix_up_media_upload"><a title="apiclient.discovery._fix_up_media_upload" class="py-name" href="#" onclick="return doclink('link-115', '_fix_up_media_upload', 'link-115');">_fix_up_media_upload</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">      <tt class="py-name">method_desc</tt><tt class="py-op">,</tt> <tt class="py-name">root_desc</tt><tt class="py-op">,</tt> <tt class="py-name">path_url</tt><tt class="py-op">,</tt> <tt class="py-name">parameters</tt><tt class="py-op">)</tt> </tt>
-<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line"> </tt>
-<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">path_url</tt><tt class="py-op">,</tt> <tt class="py-name">http_method</tt><tt class="py-op">,</tt> <tt class="py-name">method_id</tt><tt class="py-op">,</tt> <tt id="link-116" class="py-name"><a title="apiclient.model.BaseModel.accept
-apiclient.model.JsonModel.accept
-apiclient.model.MediaModel.accept
-apiclient.model.ProtocolBufferModel.accept
-apiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-116', 'accept', 'link-106');">accept</a></tt><tt class="py-op">,</tt> <tt class="py-name">max_size</tt><tt class="py-op">,</tt> <tt class="py-name">media_path_url</tt> </tt>
-</div><a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line"> </tt>
-<a name="ResourceMethodParameters"></a><div id="ResourceMethodParameters-def"><a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line"> </tt>
-<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line"><tt class="py-comment"># TODO(dhermes): Convert this class to ResourceMethod and make it callable</tt> </tt>
-<a name="L464"></a><tt class="py-lineno">464</tt> <a class="py-toggle" href="#" id="ResourceMethodParameters-toggle" onclick="return toggle('ResourceMethodParameters');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.discovery.ResourceMethodParameters-class.html">ResourceMethodParameters</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ResourceMethodParameters-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ResourceMethodParameters-expanded"><a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">  <tt class="py-docstring">"""Represents the parameters associated with a method.</tt> </tt>
-<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line"><tt class="py-docstring">  Attributes:</tt> </tt>
-<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line"><tt class="py-docstring">    argmap: Map from method parameter name (string) to query parameter name</tt> </tt>
-<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line"><tt class="py-docstring">        (string).</tt> </tt>
-<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line"><tt class="py-docstring">    required_params: List of required parameters (represented by parameter</tt> </tt>
-<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line"><tt class="py-docstring">        name as string).</tt> </tt>
-<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line"><tt class="py-docstring">    repeated_params: List of repeated parameters (represented by parameter</tt> </tt>
-<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line"><tt class="py-docstring">        name as string).</tt> </tt>
-<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line"><tt class="py-docstring">    pattern_params: Map from method parameter name (string) to regular</tt> </tt>
-<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line"><tt class="py-docstring">        expression (as a string). If the pattern is set for a parameter, the</tt> </tt>
-<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line"><tt class="py-docstring">        value for that parameter must match the regular expression.</tt> </tt>
-<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line"><tt class="py-docstring">    query_params: List of parameters (represented by parameter name as string)</tt> </tt>
-<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line"><tt class="py-docstring">        that will be used in the query string.</tt> </tt>
-<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line"><tt class="py-docstring">    path_params: Set of parameters (represented by parameter name as string)</tt> </tt>
-<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line"><tt class="py-docstring">        that will be used in the base URL path.</tt> </tt>
-<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line"><tt class="py-docstring">    param_types: Map from method parameter name (string) to parameter type. Type</tt> </tt>
-<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line"><tt class="py-docstring">        can be any valid JSON schema type; valid values are 'any', 'array',</tt> </tt>
-<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line"><tt class="py-docstring">        'boolean', 'integer', 'number', 'object', or 'string'. Reference:</tt> </tt>
-<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line"><tt class="py-docstring">        http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1</tt> </tt>
-<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line"><tt class="py-docstring">    enum_params: Map from method parameter name (string) to list of strings,</tt> </tt>
-<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line"><tt class="py-docstring">       where each list of strings is the list of acceptable enum values.</tt> </tt>
-<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line"> </tt>
-<a name="ResourceMethodParameters.__init__"></a><div id="ResourceMethodParameters.__init__-def"><a name="L489"></a><tt class="py-lineno">489</tt> <a class="py-toggle" href="#" id="ResourceMethodParameters.__init__-toggle" onclick="return toggle('ResourceMethodParameters.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery.ResourceMethodParameters-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">method_desc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ResourceMethodParameters.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ResourceMethodParameters.__init__-expanded"><a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for ResourceMethodParameters.</tt> </tt>
-<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line"><tt class="py-docstring">    Sets default values and defers to set_parameters to populate.</tt> </tt>
-<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line"><tt class="py-docstring">      method_desc: Dictionary with metadata describing an API method. Value</tt> </tt>
-<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line"><tt class="py-docstring">          comes from the dictionary of methods stored in the 'methods' key in</tt> </tt>
-<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line"><tt class="py-docstring">          the deserialized discovery document.</tt> </tt>
-<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">required_params</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pattern_params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name" targets="Variable oauth2client.tools.ClientRedirectServer.query_params=oauth2client.tools.ClientRedirectServer-class.html#query_params"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-117', 'query_params', 'link-117');">query_params</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line">    <tt class="py-comment"># TODO(dhermes): Change path_params to a list if the extra URITEMPLATE</tt> </tt>
-<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line">    <tt class="py-comment">#                parsing is gotten rid of.</tt> </tt>
-<a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">path_params</tt> <tt class="py-op">=</tt> <tt id="link-118" class="py-name" targets="Method oauth2client.client.MemoryCache.set()=oauth2client.client.MemoryCache-class.html#set"><a title="oauth2client.client.MemoryCache.set" class="py-name" href="#" onclick="return doclink('link-118', 'set', 'link-118');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">param_types</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">enum_params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line"> </tt>
-<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name" targets="Method apiclient.discovery.ResourceMethodParameters.set_parameters()=apiclient.discovery.ResourceMethodParameters-class.html#set_parameters"><a title="apiclient.discovery.ResourceMethodParameters.set_parameters" class="py-name" href="#" onclick="return doclink('link-119', 'set_parameters', 'link-119');">set_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">method_desc</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line"> </tt>
-<a name="ResourceMethodParameters.set_parameters"></a><div id="ResourceMethodParameters.set_parameters-def"><a name="L512"></a><tt class="py-lineno">512</tt> <a class="py-toggle" href="#" id="ResourceMethodParameters.set_parameters-toggle" onclick="return toggle('ResourceMethodParameters.set_parameters');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery.ResourceMethodParameters-class.html#set_parameters">set_parameters</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">method_desc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ResourceMethodParameters.set_parameters-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ResourceMethodParameters.set_parameters-expanded"><a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line">    <tt class="py-docstring">"""Populates maps and lists based on method description.</tt> </tt>
-<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line"><tt class="py-docstring">    Iterates through each parameter for the method and parses the values from</tt> </tt>
-<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line"><tt class="py-docstring">    the parameter dictionary.</tt> </tt>
-<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line"><tt class="py-docstring">      method_desc: Dictionary with metadata describing an API method. Value</tt> </tt>
-<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line"><tt class="py-docstring">          comes from the dictionary of methods stored in the 'methods' key in</tt> </tt>
-<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line"><tt class="py-docstring">          the deserialized discovery document.</tt> </tt>
-<a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">arg</tt><tt class="py-op">,</tt> <tt class="py-name">desc</tt> <tt class="py-keyword">in</tt> <tt class="py-name">method_desc</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-120', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">      <tt class="py-name">param</tt> <tt class="py-op">=</tt> <tt id="link-121" class="py-name" targets="Function apiclient.discovery.key2param()=apiclient.discovery-module.html#key2param"><a title="apiclient.discovery.key2param" class="py-name" href="#" onclick="return doclink('link-121', 'key2param', 'link-121');">key2param</a></tt><tt class="py-op">(</tt><tt class="py-name">arg</tt><tt class="py-op">)</tt> </tt>
-<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">[</tt><tt class="py-name">param</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">arg</tt> </tt>
-<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line"> </tt>
-<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-122', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'pattern'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pattern_params</tt><tt class="py-op">[</tt><tt class="py-name">param</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">desc</tt><tt class="py-op">[</tt><tt class="py-string">'pattern'</tt><tt class="py-op">]</tt> </tt>
-<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-123', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'enum'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">enum_params</tt><tt class="py-op">[</tt><tt class="py-name">param</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">desc</tt><tt class="py-op">[</tt><tt class="py-string">'enum'</tt><tt class="py-op">]</tt> </tt>
-<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-124', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'required'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">required_params</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">param</tt><tt class="py-op">)</tt> </tt>
-<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-125', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'repeated'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">param</tt><tt class="py-op">)</tt> </tt>
-<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-126', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'location'</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'query'</tt><tt class="py-op">:</tt> </tt>
-<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-127', 'query_params', 'link-117');">query_params</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">param</tt><tt class="py-op">)</tt> </tt>
-<a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-128', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'location'</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'path'</tt><tt class="py-op">:</tt> </tt>
-<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">path_params</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name" targets="Method apiclient.http.BatchHttpRequest.add()=apiclient.http.BatchHttpRequest-class.html#add"><a title="apiclient.http.BatchHttpRequest.add" class="py-name" href="#" onclick="return doclink('link-129', 'add', 'link-129');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">param</tt><tt class="py-op">)</tt> </tt>
-<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">param_types</tt><tt class="py-op">[</tt><tt class="py-name">param</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-130', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'type'</tt><tt class="py-op">,</tt> <tt class="py-string">'string'</tt><tt class="py-op">)</tt> </tt>
-<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line"> </tt>
-<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line">    <tt class="py-comment"># TODO(dhermes): Determine if this is still necessary. Discovery based APIs</tt> </tt>
-<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line">    <tt class="py-comment">#                should have all path parameters already marked with</tt> </tt>
-<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">    <tt class="py-comment">#                'location: path'.</tt> </tt>
-<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">match</tt> <tt class="py-keyword">in</tt> <tt id="link-131" class="py-name"><a title="apiclient.discovery.URITEMPLATE" class="py-name" href="#" onclick="return doclink('link-131', 'URITEMPLATE', 'link-49');">URITEMPLATE</a></tt><tt class="py-op">.</tt><tt class="py-name">finditer</tt><tt class="py-op">(</tt><tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'path'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">namematch</tt> <tt class="py-keyword">in</tt> <tt id="link-132" class="py-name"><a title="apiclient.discovery.VARNAME" class="py-name" href="#" onclick="return doclink('link-132', 'VARNAME', 'link-50');">VARNAME</a></tt><tt class="py-op">.</tt><tt class="py-name">finditer</tt><tt class="py-op">(</tt><tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line">        <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt id="link-133" class="py-name"><a title="apiclient.discovery.key2param" class="py-name" href="#" onclick="return doclink('link-133', 'key2param', 'link-121');">key2param</a></tt><tt class="py-op">(</tt><tt class="py-name">namematch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">path_params</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="apiclient.http.BatchHttpRequest.add" class="py-name" href="#" onclick="return doclink('link-134', 'add', 'link-129');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
-<a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-135', 'query_params', 'link-117');">query_params</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L549"></a><tt class="py-lineno">549</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-136', 'query_params', 'link-117');">query_params</a></tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line"> </tt>
-<a name="createMethod"></a><div id="createMethod-def"><a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line"> </tt>
-<a name="L552"></a><tt class="py-lineno">552</tt> <a class="py-toggle" href="#" id="createMethod-toggle" onclick="return toggle('createMethod');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery-module.html#createMethod">createMethod</a><tt class="py-op">(</tt><tt class="py-param">methodName</tt><tt class="py-op">,</tt> <tt class="py-param">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-param">rootDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="createMethod-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="createMethod-expanded"><a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line">  <tt class="py-docstring">"""Creates a method for attaching to a Resource.</tt> </tt>
-<a name="L554"></a><tt class="py-lineno">554</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line"><tt class="py-docstring">    methodName: string, name of the method to use.</tt> </tt>
-<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line"><tt class="py-docstring">    methodDesc: object, fragment of deserialized discovery document that</tt> </tt>
-<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line"><tt class="py-docstring">      describes the method.</tt> </tt>
-<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line"><tt class="py-docstring">    rootDesc: object, the entire deserialized discovery document.</tt> </tt>
-<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line"><tt class="py-docstring">    schema: object, mapping of schema names to schema descriptions.</tt> </tt>
-<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line">  <tt class="py-name">methodName</tt> <tt class="py-op">=</tt> <tt id="link-137" class="py-name" targets="Function apiclient.discovery.fix_method_name()=apiclient.discovery-module.html#fix_method_name"><a title="apiclient.discovery.fix_method_name" class="py-name" href="#" onclick="return doclink('link-137', 'fix_method_name', 'link-137');">fix_method_name</a></tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">)</tt> </tt>
-<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line">  <tt class="py-op">(</tt><tt class="py-name">pathUrl</tt><tt class="py-op">,</tt> <tt class="py-name">httpMethod</tt><tt class="py-op">,</tt> <tt class="py-name">methodId</tt><tt class="py-op">,</tt> <tt id="link-138" class="py-name"><a title="apiclient.model.BaseModel.accept
-apiclient.model.JsonModel.accept
-apiclient.model.MediaModel.accept
-apiclient.model.ProtocolBufferModel.accept
-apiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-138', 'accept', 'link-106');">accept</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line">   <tt class="py-name">maxSize</tt><tt class="py-op">,</tt> <tt class="py-name">mediaPathUrl</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt id="link-139" class="py-name" targets="Function apiclient.discovery._fix_up_method_description()=apiclient.discovery-module.html#_fix_up_method_description"><a title="apiclient.discovery._fix_up_method_description" class="py-name" href="#" onclick="return doclink('link-139', '_fix_up_method_description', 'link-139');">_fix_up_method_description</a></tt><tt class="py-op">(</tt><tt class="py-name">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">)</tt> </tt>
-<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line"> </tt>
-<a name="L566"></a><tt class="py-lineno">566</tt>  <tt class="py-line">  <tt class="py-name">parameters</tt> <tt class="py-op">=</tt> <tt id="link-140" class="py-name" targets="Class apiclient.discovery.ResourceMethodParameters=apiclient.discovery.ResourceMethodParameters-class.html"><a title="apiclient.discovery.ResourceMethodParameters" class="py-name" href="#" onclick="return doclink('link-140', 'ResourceMethodParameters', 'link-140');">ResourceMethodParameters</a></tt><tt class="py-op">(</tt><tt class="py-name">methodDesc</tt><tt class="py-op">)</tt> </tt>
-<a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line"> </tt>
-<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line">  <tt class="py-keyword">def</tt> <tt class="py-def-name">method</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L569"></a><tt class="py-lineno">569</tt>  <tt class="py-line">    <tt class="py-comment"># Don't bother with doc string, it will be over-written by createMethod.</tt> </tt>
-<a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line"> </tt>
-<a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">iterkeys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L572"></a><tt class="py-lineno">572</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">:</tt> </tt>
-<a name="L573"></a><tt class="py-lineno">573</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">'Got an unexpected keyword argument "%s"'</tt> <tt class="py-op">%</tt> <tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
-<a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line"> </tt>
-<a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line">    <tt class="py-comment"># Remove args that have a value of None.</tt> </tt>
-<a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line">    <tt class="py-name">keys</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L577"></a><tt class="py-lineno">577</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">keys</tt><tt class="py-op">:</tt> </tt>
-<a name="L578"></a><tt class="py-lineno">578</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
-<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line"> </tt>
-<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">required_params</tt><tt class="py-op">:</tt> </tt>
-<a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L583"></a><tt class="py-lineno">583</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">'Missing required parameter "%s"'</tt> <tt class="py-op">%</tt> <tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
-<a name="L584"></a><tt class="py-lineno">584</tt>  <tt class="py-line"> </tt>
-<a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">regex</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">pattern_params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L586"></a><tt class="py-lineno">586</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L587"></a><tt class="py-lineno">587</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line">          <tt class="py-name">pvalues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
-<a name="L589"></a><tt class="py-lineno">589</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line">          <tt class="py-name">pvalues</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
-<a name="L591"></a><tt class="py-lineno">591</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">pvalue</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pvalues</tt><tt class="py-op">:</tt> </tt>
-<a name="L592"></a><tt class="py-lineno">592</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-name">regex</tt><tt class="py-op">,</tt> <tt class="py-name">pvalue</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L593"></a><tt class="py-lineno">593</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt> </tt>
-<a name="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line">                <tt class="py-string">'Parameter "%s" value "%s" does not match the pattern "%s"'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line">                <tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">pvalue</tt><tt class="py-op">,</tt> <tt class="py-name">regex</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L596"></a><tt class="py-lineno">596</tt>  <tt class="py-line"> </tt>
-<a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">enums</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">enum_params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L599"></a><tt class="py-lineno">599</tt>  <tt class="py-line">        <tt class="py-comment"># We need to handle the case of a repeated enum</tt> </tt>
-<a name="L600"></a><tt class="py-lineno">600</tt>  <tt class="py-line">        <tt class="py-comment"># name differently, since we want to handle both</tt> </tt>
-<a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line">        <tt class="py-comment"># arg='value' and arg=['value1', 'value2']</tt> </tt>
-<a name="L602"></a><tt class="py-lineno">602</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt> <tt class="py-keyword">and</tt> </tt>
-<a name="L603"></a><tt class="py-lineno">603</tt>  <tt class="py-line">            <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L604"></a><tt class="py-lineno">604</tt>  <tt class="py-line">          <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
-<a name="L605"></a><tt class="py-lineno">605</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L606"></a><tt class="py-lineno">606</tt>  <tt class="py-line">          <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
-<a name="L607"></a><tt class="py-lineno">607</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">values</tt><tt class="py-op">:</tt> </tt>
-<a name="L608"></a><tt class="py-lineno">608</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enums</tt><tt class="py-op">:</tt> </tt>
-<a name="L609"></a><tt class="py-lineno">609</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt> </tt>
-<a name="L610"></a><tt class="py-lineno">610</tt>  <tt class="py-line">                <tt class="py-string">'Parameter "%s" value "%s" is not an allowed value in "%s"'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L611"></a><tt class="py-lineno">611</tt>  <tt class="py-line">                <tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">enums</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L612"></a><tt class="py-lineno">612</tt>  <tt class="py-line"> </tt>
-<a name="L613"></a><tt class="py-lineno">613</tt>  <tt class="py-line">    <tt class="py-name">actual_query_params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L614"></a><tt class="py-lineno">614</tt>  <tt class="py-line">    <tt class="py-name">actual_path_params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L615"></a><tt class="py-lineno">615</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L616"></a><tt class="py-lineno">616</tt>  <tt class="py-line">      <tt class="py-name">to_type</tt> <tt class="py-op">=</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">param_types</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-141', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-string">'string'</tt><tt class="py-op">)</tt> </tt>
-<a name="L617"></a><tt class="py-lineno">617</tt>  <tt class="py-line">      <tt class="py-comment"># For repeated parameters we cast each member of the list.</tt> </tt>
-<a name="L618"></a><tt class="py-lineno">618</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt> <tt class="py-keyword">and</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L619"></a><tt class="py-lineno">619</tt>  <tt class="py-line">        <tt class="py-name">cast_value</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-142" class="py-name" targets="Function apiclient.discovery._cast()=apiclient.discovery-module.html#_cast"><a title="apiclient.discovery._cast" class="py-name" href="#" onclick="return doclink('link-142', '_cast', 'link-142');">_cast</a></tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">to_type</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">value</tt><tt class="py-op">]</tt> </tt>
-<a name="L620"></a><tt class="py-lineno">620</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L621"></a><tt class="py-lineno">621</tt>  <tt class="py-line">        <tt class="py-name">cast_value</tt> <tt class="py-op">=</tt> <tt id="link-143" class="py-name"><a title="apiclient.discovery._cast" class="py-name" href="#" onclick="return doclink('link-143', '_cast', 'link-142');">_cast</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">to_type</tt><tt class="py-op">)</tt> </tt>
-<a name="L622"></a><tt class="py-lineno">622</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-144', 'query_params', 'link-117');">query_params</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L623"></a><tt class="py-lineno">623</tt>  <tt class="py-line">        <tt class="py-name">actual_query_params</tt><tt class="py-op">[</tt><tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">cast_value</tt> </tt>
-<a name="L624"></a><tt class="py-lineno">624</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">path_params</tt><tt class="py-op">:</tt> </tt>
-<a name="L625"></a><tt class="py-lineno">625</tt>  <tt class="py-line">        <tt class="py-name">actual_path_params</tt><tt class="py-op">[</tt><tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">cast_value</tt> </tt>
-<a name="L626"></a><tt class="py-lineno">626</tt>  <tt class="py-line">    <tt class="py-name">body_value</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-145', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'body'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L627"></a><tt class="py-lineno">627</tt>  <tt class="py-line">    <tt class="py-name">media_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-146', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'media_body'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L628"></a><tt class="py-lineno">628</tt>  <tt class="py-line"> </tt>
-<a name="L629"></a><tt class="py-lineno">629</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_developerKey</tt><tt class="py-op">:</tt> </tt>
-<a name="L630"></a><tt class="py-lineno">630</tt>  <tt class="py-line">      <tt class="py-name">actual_query_params</tt><tt class="py-op">[</tt><tt class="py-string">'key'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_developerKey</tt> </tt>
-<a name="L631"></a><tt class="py-lineno">631</tt>  <tt class="py-line"> </tt>
-<a name="L632"></a><tt class="py-lineno">632</tt>  <tt class="py-line">    <tt id="link-147" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-147', 'model', 'link-29');">model</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt> </tt>
-<a name="L633"></a><tt class="py-lineno">633</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">methodName</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'_media'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L634"></a><tt class="py-lineno">634</tt>  <tt class="py-line">      <tt id="link-148" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-148', 'model', 'link-29');">model</a></tt> <tt class="py-op">=</tt> <tt id="link-149" class="py-name"><a title="apiclient.model.MediaModel" class="py-name" href="#" onclick="return doclink('link-149', 'MediaModel', 'link-33');">MediaModel</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L635"></a><tt class="py-lineno">635</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-string">'response'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">:</tt> </tt>
-<a name="L636"></a><tt class="py-lineno">636</tt>  <tt class="py-line">      <tt id="link-150" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-150', 'model', 'link-29');">model</a></tt> <tt class="py-op">=</tt> <tt id="link-151" class="py-name"><a title="apiclient.model.RawModel" class="py-name" href="#" onclick="return doclink('link-151', 'RawModel', 'link-36');">RawModel</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L637"></a><tt class="py-lineno">637</tt>  <tt class="py-line"> </tt>
-<a name="L638"></a><tt class="py-lineno">638</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L639"></a><tt class="py-lineno">639</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">,</tt> <tt class="py-name">query</tt><tt class="py-op">,</tt> <tt id="link-152" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-152', 'body', 'link-100');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-153" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-153', 'model', 'link-29');">model</a></tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-154', 'request', 'link-68');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">,</tt> </tt>
-<a name="L640"></a><tt class="py-lineno">640</tt>  <tt class="py-line">        <tt class="py-name">actual_path_params</tt><tt class="py-op">,</tt> <tt class="py-name">actual_query_params</tt><tt class="py-op">,</tt> <tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
-<a name="L641"></a><tt class="py-lineno">641</tt>  <tt class="py-line"> </tt>
-<a name="L642"></a><tt class="py-lineno">642</tt>  <tt class="py-line">    <tt class="py-name">expanded_url</tt> <tt class="py-op">=</tt> <tt class="py-name">uritemplate</tt><tt class="py-op">.</tt><tt class="py-name">expand</tt><tt class="py-op">(</tt><tt class="py-name">pathUrl</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
-<a name="L643"></a><tt class="py-lineno">643</tt>  <tt class="py-line">    <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urljoin</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_baseUrl</tt><tt class="py-op">,</tt> <tt class="py-name">expanded_url</tt> <tt class="py-op">+</tt> <tt class="py-name">query</tt><tt class="py-op">)</tt> </tt>
-<a name="L644"></a><tt class="py-lineno">644</tt>  <tt class="py-line"> </tt>
-<a name="L645"></a><tt class="py-lineno">645</tt>  <tt class="py-line">    <tt id="link-155" class="py-name" targets="Method apiclient.http.MediaIoBaseUpload.resumable()=apiclient.http.MediaIoBaseUpload-class.html#resumable,Method apiclient.http.MediaUpload.resumable()=apiclient.http.MediaUpload-class.html#resumable"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-155', 'resumable', 'link-155');">resumable</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L646"></a><tt class="py-lineno">646</tt>  <tt class="py-line">    <tt class="py-name">multipart_boundary</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L647"></a><tt class="py-lineno">647</tt>  <tt class="py-line"> </tt>
-<a name="L648"></a><tt class="py-lineno">648</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">media_filename</tt><tt class="py-op">:</tt> </tt>
-<a name="L649"></a><tt class="py-lineno">649</tt>  <tt class="py-line">      <tt class="py-comment"># Ensure we end up with a valid MediaUpload object.</tt> </tt>
-<a name="L650"></a><tt class="py-lineno">650</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L651"></a><tt class="py-lineno">651</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">media_mime_type</tt><tt class="py-op">,</tt> <tt class="py-name">encoding</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">mimetypes</tt><tt class="py-op">.</tt><tt class="py-name">guess_type</tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L652"></a><tt class="py-lineno">652</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">media_mime_type</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L653"></a><tt class="py-lineno">653</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-156" class="py-name"><a title="apiclient.errors.UnknownFileType" class="py-name" href="#" onclick="return doclink('link-156', 'UnknownFileType', 'link-18');">UnknownFileType</a></tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L654"></a><tt class="py-lineno">654</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-157" class="py-name"><a title="apiclient.mimeparse" class="py-name" href="#" onclick="return doclink('link-157', 'mimeparse', 'link-0');">mimeparse</a></tt><tt class="py-op">.</tt><tt id="link-158" class="py-name" targets="Function apiclient.mimeparse.best_match()=apiclient.mimeparse-module.html#best_match"><a title="apiclient.mimeparse.best_match" class="py-name" href="#" onclick="return doclink('link-158', 'best_match', 'link-158');">best_match</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">media_mime_type</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">','</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-159" class="py-name"><a title="apiclient.model.BaseModel.accept
-apiclient.model.JsonModel.accept
-apiclient.model.MediaModel.accept
-apiclient.model.ProtocolBufferModel.accept
-apiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-159', 'accept', 'link-106');">accept</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L655"></a><tt class="py-lineno">655</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-160" class="py-name"><a title="apiclient.errors.UnacceptableMimeTypeError" class="py-name" href="#" onclick="return doclink('link-160', 'UnacceptableMimeTypeError', 'link-12');">UnacceptableMimeTypeError</a></tt><tt class="py-op">(</tt><tt class="py-name">media_mime_type</tt><tt class="py-op">)</tt> </tt>
-<a name="L656"></a><tt class="py-lineno">656</tt>  <tt class="py-line">        <tt class="py-name">media_upload</tt> <tt class="py-op">=</tt> <tt id="link-161" class="py-name"><a title="apiclient.http.MediaFileUpload" class="py-name" href="#" onclick="return doclink('link-161', 'MediaFileUpload', 'link-24');">MediaFileUpload</a></tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">,</tt> </tt>
-<a name="L657"></a><tt class="py-lineno">657</tt>  <tt class="py-line">                                       <tt id="link-162" class="py-name" targets="Method apiclient.http.MediaIoBaseUpload.mimetype()=apiclient.http.MediaIoBaseUpload-class.html#mimetype,Method apiclient.http.MediaUpload.mimetype()=apiclient.http.MediaUpload-class.html#mimetype"><a title="apiclient.http.MediaIoBaseUpload.mimetype
-apiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-162', 'mimetype', 'link-162');">mimetype</a></tt><tt class="py-op">=</tt><tt class="py-name">media_mime_type</tt><tt class="py-op">)</tt> </tt>
-<a name="L658"></a><tt class="py-lineno">658</tt>  <tt class="py-line">      <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">,</tt> <tt id="link-163" class="py-name"><a title="apiclient.http.MediaUpload" class="py-name" href="#" onclick="return doclink('link-163', 'MediaUpload', 'link-27');">MediaUpload</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L659"></a><tt class="py-lineno">659</tt>  <tt class="py-line">        <tt class="py-name">media_upload</tt> <tt class="py-op">=</tt> <tt class="py-name">media_filename</tt> </tt>
-<a name="L660"></a><tt class="py-lineno">660</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L661"></a><tt class="py-lineno">661</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">'media_filename must be str or MediaUpload.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L662"></a><tt class="py-lineno">662</tt>  <tt class="py-line"> </tt>
-<a name="L663"></a><tt class="py-lineno">663</tt>  <tt class="py-line">      <tt class="py-comment"># Check the maxSize</tt> </tt>
-<a name="L664"></a><tt class="py-lineno">664</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">maxSize</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt> <tt class="py-keyword">and</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name" targets="Method apiclient.http.MediaIoBaseUpload.size()=apiclient.http.MediaIoBaseUpload-class.html#size,Method apiclient.http.MediaUpload.size()=apiclient.http.MediaUpload-class.html#size"><a title="apiclient.http.MediaIoBaseUpload.size
-apiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-164', 'size', 'link-164');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">maxSize</tt><tt class="py-op">:</tt> </tt>
-<a name="L665"></a><tt class="py-lineno">665</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt id="link-165" class="py-name"><a title="apiclient.errors.MediaUploadSizeError" class="py-name" href="#" onclick="return doclink('link-165', 'MediaUploadSizeError', 'link-9');">MediaUploadSizeError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Media larger than: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">maxSize</tt><tt class="py-op">)</tt> </tt>
-<a name="L666"></a><tt class="py-lineno">666</tt>  <tt class="py-line"> </tt>
-<a name="L667"></a><tt class="py-lineno">667</tt>  <tt class="py-line">      <tt class="py-comment"># Use the media path uri for media uploads</tt> </tt>
-<a name="L668"></a><tt class="py-lineno">668</tt>  <tt class="py-line">      <tt class="py-name">expanded_url</tt> <tt class="py-op">=</tt> <tt class="py-name">uritemplate</tt><tt class="py-op">.</tt><tt class="py-name">expand</tt><tt class="py-op">(</tt><tt class="py-name">mediaPathUrl</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
-<a name="L669"></a><tt class="py-lineno">669</tt>  <tt class="py-line">      <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urljoin</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_baseUrl</tt><tt class="py-op">,</tt> <tt class="py-name">expanded_url</tt> <tt class="py-op">+</tt> <tt class="py-name">query</tt><tt class="py-op">)</tt> </tt>
-<a name="L670"></a><tt class="py-lineno">670</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-166', 'resumable', 'link-155');">resumable</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L671"></a><tt class="py-lineno">671</tt>  <tt class="py-line">        <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt id="link-167" class="py-name"><a title="oauth2client.util._add_query_parameter" class="py-name" href="#" onclick="return doclink('link-167', '_add_query_parameter', 'link-44');">_add_query_parameter</a></tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-string">'uploadType'</tt><tt class="py-op">,</tt> <tt class="py-string">'resumable'</tt><tt class="py-op">)</tt> </tt>
-<a name="L672"></a><tt class="py-lineno">672</tt>  <tt class="py-line"> </tt>
-<a name="L673"></a><tt class="py-lineno">673</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-168', 'resumable', 'link-155');">resumable</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L674"></a><tt class="py-lineno">674</tt>  <tt class="py-line">        <tt class="py-comment"># This is all we need to do for resumable, if the body exists it gets</tt> </tt>
-<a name="L675"></a><tt class="py-lineno">675</tt>  <tt class="py-line">        <tt class="py-comment"># sent in the first request, otherwise an empty body is sent.</tt> </tt>
-<a name="L676"></a><tt class="py-lineno">676</tt>  <tt class="py-line">        <tt id="link-169" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-169', 'resumable', 'link-155');">resumable</a></tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt> </tt>
-<a name="L677"></a><tt class="py-lineno">677</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L678"></a><tt class="py-lineno">678</tt>  <tt class="py-line">        <tt class="py-comment"># A non-resumable upload</tt> </tt>
-<a name="L679"></a><tt class="py-lineno">679</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-170" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-170', 'body', 'link-100');">body</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L680"></a><tt class="py-lineno">680</tt>  <tt class="py-line">          <tt class="py-comment"># This is a simple media upload</tt> </tt>
-<a name="L681"></a><tt class="py-lineno">681</tt>  <tt class="py-line">          <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.mimetype
-apiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-171', 'mimetype', 'link-162');">mimetype</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L682"></a><tt class="py-lineno">682</tt>  <tt class="py-line">          <tt id="link-172" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-172', 'body', 'link-100');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name" targets="Method apiclient.http.MediaIoBaseUpload.getbytes()=apiclient.http.MediaIoBaseUpload-class.html#getbytes,Method apiclient.http.MediaUpload.getbytes()=apiclient.http.MediaUpload-class.html#getbytes"><a title="apiclient.http.MediaIoBaseUpload.getbytes
-apiclient.http.MediaUpload.getbytes" class="py-name" href="#" onclick="return doclink('link-173', 'getbytes', 'link-173');">getbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.size
-apiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-174', 'size', 'link-164');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L683"></a><tt class="py-lineno">683</tt>  <tt class="py-line">          <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt id="link-175" class="py-name"><a title="oauth2client.util._add_query_parameter" class="py-name" href="#" onclick="return doclink('link-175', '_add_query_parameter', 'link-44');">_add_query_parameter</a></tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-string">'uploadType'</tt><tt class="py-op">,</tt> <tt class="py-string">'media'</tt><tt class="py-op">)</tt> </tt>
-<a name="L684"></a><tt class="py-lineno">684</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L685"></a><tt class="py-lineno">685</tt>  <tt class="py-line">          <tt class="py-comment"># This is a multipart/related upload.</tt> </tt>
-<a name="L686"></a><tt class="py-lineno">686</tt>  <tt class="py-line">          <tt class="py-name">msgRoot</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMEMultipart</tt><tt class="py-op">(</tt><tt class="py-string">'related'</tt><tt class="py-op">)</tt> </tt>
-<a name="L687"></a><tt class="py-lineno">687</tt>  <tt class="py-line">          <tt class="py-comment"># msgRoot should not write out it's own headers</tt> </tt>
-<a name="L688"></a><tt class="py-lineno">688</tt>  <tt class="py-line">          <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">msgRoot</tt><tt class="py-op">,</tt> <tt class="py-string">'_write_headers'</tt><tt class="py-op">,</tt> <tt class="py-keyword">lambda</tt> <tt class="py-name">self</tt><tt class="py-op">:</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L689"></a><tt class="py-lineno">689</tt>  <tt class="py-line"> </tt>
-<a name="L690"></a><tt class="py-lineno">690</tt>  <tt class="py-line">          <tt class="py-comment"># attach the body as one part</tt> </tt>
-<a name="L691"></a><tt class="py-lineno">691</tt>  <tt class="py-line">          <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMENonMultipart</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L692"></a><tt class="py-lineno">692</tt>  <tt class="py-line">          <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_payload</tt><tt class="py-op">(</tt><tt id="link-176" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-176', 'body', 'link-100');">body</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L693"></a><tt class="py-lineno">693</tt>  <tt class="py-line">          <tt class="py-name">msgRoot</tt><tt class="py-op">.</tt><tt class="py-name">attach</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L694"></a><tt class="py-lineno">694</tt>  <tt class="py-line"> </tt>
-<a name="L695"></a><tt class="py-lineno">695</tt>  <tt class="py-line">          <tt class="py-comment"># attach the media as the second part</tt> </tt>
-<a name="L696"></a><tt class="py-lineno">696</tt>  <tt class="py-line">          <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMENonMultipart</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.mimetype
-apiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-177', 'mimetype', 'link-162');">mimetype</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L697"></a><tt class="py-lineno">697</tt>  <tt class="py-line">          <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'Content-Transfer-Encoding'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'binary'</tt> </tt>
-<a name="L698"></a><tt class="py-lineno">698</tt>  <tt class="py-line"> </tt>
-<a name="L699"></a><tt class="py-lineno">699</tt>  <tt class="py-line">          <tt class="py-name">payload</tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.getbytes
-apiclient.http.MediaUpload.getbytes" class="py-name" href="#" onclick="return doclink('link-178', 'getbytes', 'link-173');">getbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.size
-apiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-179', 'size', 'link-164');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L700"></a><tt class="py-lineno">700</tt>  <tt class="py-line">          <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_payload</tt><tt class="py-op">(</tt><tt class="py-name">payload</tt><tt class="py-op">)</tt> </tt>
-<a name="L701"></a><tt class="py-lineno">701</tt>  <tt class="py-line">          <tt class="py-name">msgRoot</tt><tt class="py-op">.</tt><tt class="py-name">attach</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L702"></a><tt class="py-lineno">702</tt>  <tt class="py-line">          <tt id="link-180" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-180', 'body', 'link-100');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">msgRoot</tt><tt class="py-op">.</tt><tt class="py-name">as_string</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L703"></a><tt class="py-lineno">703</tt>  <tt class="py-line"> </tt>
-<a name="L704"></a><tt class="py-lineno">704</tt>  <tt class="py-line">          <tt class="py-name">multipart_boundary</tt> <tt class="py-op">=</tt> <tt class="py-name">msgRoot</tt><tt class="py-op">.</tt><tt class="py-name">get_boundary</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L705"></a><tt class="py-lineno">705</tt>  <tt class="py-line">          <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'multipart/related; '</tt> </tt>
-<a name="L706"></a><tt class="py-lineno">706</tt>  <tt class="py-line">                                     <tt class="py-string">'boundary="%s"'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">multipart_boundary</tt> </tt>
-<a name="L707"></a><tt class="py-lineno">707</tt>  <tt class="py-line">          <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt id="link-181" class="py-name"><a title="oauth2client.util._add_query_parameter" class="py-name" href="#" onclick="return doclink('link-181', '_add_query_parameter', 'link-44');">_add_query_parameter</a></tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-string">'uploadType'</tt><tt class="py-op">,</tt> <tt class="py-string">'multipart'</tt><tt class="py-op">)</tt> </tt>
-<a name="L708"></a><tt class="py-lineno">708</tt>  <tt class="py-line"> </tt>
-<a name="L709"></a><tt class="py-lineno">709</tt>  <tt class="py-line">    <tt id="link-182" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-182', 'logger', 'link-48');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'URL being requested: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">url</tt><tt class="py-op">)</tt> </tt>
-<a name="L710"></a><tt class="py-lineno">710</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requestBuilder</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_http</tt><tt class="py-op">,</tt> </tt>
-<a name="L711"></a><tt class="py-lineno">711</tt>  <tt class="py-line">                                <tt id="link-183" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-183', 'model', 'link-29');">model</a></tt><tt class="py-op">.</tt><tt id="link-184" class="py-name" targets="Method apiclient.model.BaseModel.response()=apiclient.model.BaseModel-class.html#response,Method apiclient.model.Model.response()=apiclient.model.Model-class.html#response"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-184', 'response', 'link-184');">response</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L712"></a><tt class="py-lineno">712</tt>  <tt class="py-line">                                <tt class="py-name">url</tt><tt class="py-op">,</tt> </tt>
-<a name="L713"></a><tt class="py-lineno">713</tt>  <tt class="py-line">                                <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-name">httpMethod</tt><tt class="py-op">,</tt> </tt>
-<a name="L714"></a><tt class="py-lineno">714</tt>  <tt class="py-line">                                <tt id="link-185" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-185', 'body', 'link-100');">body</a></tt><tt class="py-op">=</tt><tt id="link-186" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-186', 'body', 'link-100');">body</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L715"></a><tt class="py-lineno">715</tt>  <tt class="py-line">                                <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">,</tt> </tt>
-<a name="L716"></a><tt class="py-lineno">716</tt>  <tt class="py-line">                                <tt class="py-name">methodId</tt><tt class="py-op">=</tt><tt class="py-name">methodId</tt><tt class="py-op">,</tt> </tt>
-<a name="L717"></a><tt class="py-lineno">717</tt>  <tt class="py-line">                                <tt id="link-187" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-187', 'resumable', 'link-155');">resumable</a></tt><tt class="py-op">=</tt><tt id="link-188" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-188', 'resumable', 'link-155');">resumable</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L718"></a><tt class="py-lineno">718</tt>  <tt class="py-line"> </tt>
-<a name="L719"></a><tt class="py-lineno">719</tt>  <tt class="py-line">  <tt class="py-name">docs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">methodDesc</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-189', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt id="link-190" class="py-name"><a title="apiclient.discovery.DEFAULT_METHOD_DOC" class="py-name" href="#" onclick="return doclink('link-190', 'DEFAULT_METHOD_DOC', 'link-52');">DEFAULT_METHOD_DOC</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'\n\n'</tt><tt class="py-op">]</tt> </tt>
-<a name="L720"></a><tt class="py-lineno">720</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L721"></a><tt class="py-lineno">721</tt>  <tt class="py-line">    <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'Args:\n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L722"></a><tt class="py-lineno">722</tt>  <tt class="py-line"> </tt>
-<a name="L723"></a><tt class="py-lineno">723</tt>  <tt class="py-line">  <tt class="py-comment"># Skip undocumented params and params common to all methods.</tt> </tt>
-<a name="L724"></a><tt class="py-lineno">724</tt>  <tt class="py-line">  <tt class="py-name">skip_parameters</tt> <tt class="py-op">=</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-191', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L725"></a><tt class="py-lineno">725</tt>  <tt class="py-line">  <tt class="py-name">skip_parameters</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt id="link-192" class="py-name"><a title="apiclient.discovery.STACK_QUERY_PARAMETERS" class="py-name" href="#" onclick="return doclink('link-192', 'STACK_QUERY_PARAMETERS', 'link-57');">STACK_QUERY_PARAMETERS</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L726"></a><tt class="py-lineno">726</tt>  <tt class="py-line"> </tt>
-<a name="L727"></a><tt class="py-lineno">727</tt>  <tt class="py-line">  <tt class="py-name">all_args</tt> <tt class="py-op">=</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L728"></a><tt class="py-lineno">728</tt>  <tt class="py-line">  <tt class="py-name">args_ordered</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-193" class="py-name"><a title="apiclient.discovery.key2param" class="py-name" href="#" onclick="return doclink('link-193', 'key2param', 'link-121');">key2param</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-194', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameterOrder'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-<a name="L729"></a><tt class="py-lineno">729</tt>  <tt class="py-line"> </tt>
-<a name="L730"></a><tt class="py-lineno">730</tt>  <tt class="py-line">  <tt class="py-comment"># Move body to the front of the line.</tt> </tt>
-<a name="L731"></a><tt class="py-lineno">731</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-string">'body'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">all_args</tt><tt class="py-op">:</tt> </tt>
-<a name="L732"></a><tt class="py-lineno">732</tt>  <tt class="py-line">    <tt class="py-name">args_ordered</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'body'</tt><tt class="py-op">)</tt> </tt>
-<a name="L733"></a><tt class="py-lineno">733</tt>  <tt class="py-line"> </tt>
-<a name="L734"></a><tt class="py-lineno">734</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">all_args</tt><tt class="py-op">:</tt> </tt>
-<a name="L735"></a><tt class="py-lineno">735</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args_ordered</tt><tt class="py-op">:</tt> </tt>
-<a name="L736"></a><tt class="py-lineno">736</tt>  <tt class="py-line">      <tt class="py-name">args_ordered</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
-<a name="L737"></a><tt class="py-lineno">737</tt>  <tt class="py-line"> </tt>
-<a name="L738"></a><tt class="py-lineno">738</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">arg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args_ordered</tt><tt class="py-op">:</tt> </tt>
-<a name="L739"></a><tt class="py-lineno">739</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">arg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">skip_parameters</tt><tt class="py-op">:</tt> </tt>
-<a name="L740"></a><tt class="py-lineno">740</tt>  <tt class="py-line">      <tt class="py-keyword">continue</tt> </tt>
-<a name="L741"></a><tt class="py-lineno">741</tt>  <tt class="py-line"> </tt>
-<a name="L742"></a><tt class="py-lineno">742</tt>  <tt class="py-line">    <tt class="py-name">repeated</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L743"></a><tt class="py-lineno">743</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">arg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt><tt class="py-op">:</tt> </tt>
-<a name="L744"></a><tt class="py-lineno">744</tt>  <tt class="py-line">      <tt class="py-name">repeated</tt> <tt class="py-op">=</tt> <tt class="py-string">' (repeated)'</tt> </tt>
-<a name="L745"></a><tt class="py-lineno">745</tt>  <tt class="py-line">    <tt class="py-name">required</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L746"></a><tt class="py-lineno">746</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">arg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">required_params</tt><tt class="py-op">:</tt> </tt>
-<a name="L747"></a><tt class="py-lineno">747</tt>  <tt class="py-line">      <tt class="py-name">required</tt> <tt class="py-op">=</tt> <tt class="py-string">' (required)'</tt> </tt>
-<a name="L748"></a><tt class="py-lineno">748</tt>  <tt class="py-line">    <tt class="py-name">paramdesc</tt> <tt class="py-op">=</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">[</tt><tt class="py-string">'parameters'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">[</tt><tt class="py-name">arg</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
-<a name="L749"></a><tt class="py-lineno">749</tt>  <tt class="py-line">    <tt class="py-name">paramdoc</tt> <tt class="py-op">=</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-195', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">'A parameter'</tt><tt class="py-op">)</tt> </tt>
-<a name="L750"></a><tt class="py-lineno">750</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'$ref'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">:</tt> </tt>
-<a name="L751"></a><tt class="py-lineno">751</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
-<a name="L752"></a><tt class="py-lineno">752</tt>  <tt class="py-line">          <tt class="py-op">(</tt><tt class="py-string">'  %s: object, %s%s%s\n    The object takes the'</tt> </tt>
-<a name="L753"></a><tt class="py-lineno">753</tt>  <tt class="py-line">          <tt class="py-string">' form of:\n\n%s\n\n'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">arg</tt><tt class="py-op">,</tt> <tt class="py-name">paramdoc</tt><tt class="py-op">,</tt> <tt class="py-name">required</tt><tt class="py-op">,</tt> <tt class="py-name">repeated</tt><tt class="py-op">,</tt> </tt>
-<a name="L754"></a><tt class="py-lineno">754</tt>  <tt class="py-line">            <tt id="link-196" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-196', 'schema', 'link-38');">schema</a></tt><tt class="py-op">.</tt><tt id="link-197" class="py-name" targets="Method apiclient.schema.Schemas.prettyPrintByName()=apiclient.schema.Schemas-class.html#prettyPrintByName"><a title="apiclient.schema.Schemas.prettyPrintByName" class="py-name" href="#" onclick="return doclink('link-197', 'prettyPrintByName', 'link-197');">prettyPrintByName</a></tt><tt class="py-op">(</tt><tt class="py-name">paramdesc</tt><tt class="py-op">[</tt><tt class="py-string">'$ref'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L755"></a><tt class="py-lineno">755</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L756"></a><tt class="py-lineno">756</tt>  <tt class="py-line">      <tt class="py-name">paramtype</tt> <tt class="py-op">=</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-198', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'type'</tt><tt class="py-op">,</tt> <tt class="py-string">'string'</tt><tt class="py-op">)</tt> </tt>
-<a name="L757"></a><tt class="py-lineno">757</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'  %s: %s, %s%s%s\n'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">arg</tt><tt class="py-op">,</tt> <tt class="py-name">paramtype</tt><tt class="py-op">,</tt> <tt class="py-name">paramdoc</tt><tt class="py-op">,</tt> <tt class="py-name">required</tt><tt class="py-op">,</tt> </tt>
-<a name="L758"></a><tt class="py-lineno">758</tt>  <tt class="py-line">                                          <tt class="py-name">repeated</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L759"></a><tt class="py-lineno">759</tt>  <tt class="py-line">    <tt class="py-name">enum</tt> <tt class="py-op">=</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-199', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'enum'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L760"></a><tt class="py-lineno">760</tt>  <tt class="py-line">    <tt class="py-name">enumDesc</tt> <tt class="py-op">=</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-200', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'enumDescriptions'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L761"></a><tt class="py-lineno">761</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">enum</tt> <tt class="py-keyword">and</tt> <tt class="py-name">enumDesc</tt><tt class="py-op">:</tt> </tt>
-<a name="L762"></a><tt class="py-lineno">762</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'    Allowed values\n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L763"></a><tt class="py-lineno">763</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">desc</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">zip</tt><tt class="py-op">(</tt><tt class="py-name">enum</tt><tt class="py-op">,</tt> <tt class="py-name">enumDesc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L764"></a><tt class="py-lineno">764</tt>  <tt class="py-line">        <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'      %s - %s\n'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">desc</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L765"></a><tt class="py-lineno">765</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-string">'response'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">:</tt> </tt>
-<a name="L766"></a><tt class="py-lineno">766</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">methodName</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'_media'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L767"></a><tt class="py-lineno">767</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'\nReturns:\n  The media object as a string.\n\n    '</tt><tt class="py-op">)</tt> </tt>
-<a name="L768"></a><tt class="py-lineno">768</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L769"></a><tt class="py-lineno">769</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'\nReturns:\n  An object of the form:\n\n    '</tt><tt class="py-op">)</tt> </tt>
-<a name="L770"></a><tt class="py-lineno">770</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-201" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-201', 'schema', 'link-38');">schema</a></tt><tt class="py-op">.</tt><tt id="link-202" class="py-name" targets="Method apiclient.schema.Schemas.prettyPrintSchema()=apiclient.schema.Schemas-class.html#prettyPrintSchema"><a title="apiclient.schema.Schemas.prettyPrintSchema" class="py-name" href="#" onclick="return doclink('link-202', 'prettyPrintSchema', 'link-202');">prettyPrintSchema</a></tt><tt class="py-op">(</tt><tt class="py-name">methodDesc</tt><tt class="py-op">[</tt><tt class="py-string">'response'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L771"></a><tt class="py-lineno">771</tt>  <tt class="py-line"> </tt>
-<a name="L772"></a><tt class="py-lineno">772</tt>  <tt class="py-line">  <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-string">'__doc__'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">docs</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L773"></a><tt class="py-lineno">773</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L774"></a><tt class="py-lineno">774</tt>  <tt class="py-line"> </tt>
-<a name="createNextMethod"></a><div id="createNextMethod-def"><a name="L775"></a><tt class="py-lineno">775</tt>  <tt class="py-line"> </tt>
-<a name="L776"></a><tt class="py-lineno">776</tt> <a class="py-toggle" href="#" id="createNextMethod-toggle" onclick="return toggle('createNextMethod');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery-module.html#createNextMethod">createNextMethod</a><tt class="py-op">(</tt><tt class="py-param">methodName</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="createNextMethod-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="createNextMethod-expanded"><a name="L777"></a><tt class="py-lineno">777</tt>  <tt class="py-line">  <tt class="py-docstring">"""Creates any _next methods for attaching to a Resource.</tt> </tt>
-<a name="L778"></a><tt class="py-lineno">778</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L779"></a><tt class="py-lineno">779</tt>  <tt class="py-line"><tt class="py-docstring">  The _next methods allow for easy iteration through list() responses.</tt> </tt>
-<a name="L780"></a><tt class="py-lineno">780</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L781"></a><tt class="py-lineno">781</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L782"></a><tt class="py-lineno">782</tt>  <tt class="py-line"><tt class="py-docstring">    methodName: string, name of the method to use.</tt> </tt>
-<a name="L783"></a><tt class="py-lineno">783</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L784"></a><tt class="py-lineno">784</tt>  <tt class="py-line">  <tt class="py-name">methodName</tt> <tt class="py-op">=</tt> <tt id="link-203" class="py-name"><a title="apiclient.discovery.fix_method_name" class="py-name" href="#" onclick="return doclink('link-203', 'fix_method_name', 'link-137');">fix_method_name</a></tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">)</tt> </tt>
-<a name="L785"></a><tt class="py-lineno">785</tt>  <tt class="py-line"> </tt>
-<a name="L786"></a><tt class="py-lineno">786</tt>  <tt class="py-line">  <tt class="py-keyword">def</tt> <tt class="py-def-name">methodNext</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">previous_request</tt><tt class="py-op">,</tt> <tt class="py-param">previous_response</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L787"></a><tt class="py-lineno">787</tt>  <tt class="py-line">    <tt class="py-docstring">"""Retrieves the next page of results.</tt> </tt>
-<a name="L788"></a><tt class="py-lineno">788</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L789"></a><tt class="py-lineno">789</tt>  <tt class="py-line"><tt class="py-docstring">Args:</tt> </tt>
-<a name="L790"></a><tt class="py-lineno">790</tt>  <tt class="py-line"><tt class="py-docstring">  previous_request: The request for the previous page. (required)</tt> </tt>
-<a name="L791"></a><tt class="py-lineno">791</tt>  <tt class="py-line"><tt class="py-docstring">  previous_response: The response from the request for the previous page. (required)</tt> </tt>
-<a name="L792"></a><tt class="py-lineno">792</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L793"></a><tt class="py-lineno">793</tt>  <tt class="py-line"><tt class="py-docstring">Returns:</tt> </tt>
-<a name="L794"></a><tt class="py-lineno">794</tt>  <tt class="py-line"><tt class="py-docstring">  A request object that you can call 'execute()' on to request the next</tt> </tt>
-<a name="L795"></a><tt class="py-lineno">795</tt>  <tt class="py-line"><tt class="py-docstring">  page. Returns None if there are no more items in the collection.</tt> </tt>
-<a name="L796"></a><tt class="py-lineno">796</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L797"></a><tt class="py-lineno">797</tt>  <tt class="py-line">    <tt class="py-comment"># Retrieve nextPageToken from previous_response</tt> </tt>
-<a name="L798"></a><tt class="py-lineno">798</tt>  <tt class="py-line">    <tt class="py-comment"># Use as pageToken in previous_request to create new request.</tt> </tt>
-<a name="L799"></a><tt class="py-lineno">799</tt>  <tt class="py-line"> </tt>
-<a name="L800"></a><tt class="py-lineno">800</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'nextPageToken'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">previous_response</tt><tt class="py-op">:</tt> </tt>
-<a name="L801"></a><tt class="py-lineno">801</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L802"></a><tt class="py-lineno">802</tt>  <tt class="py-line"> </tt>
-<a name="L803"></a><tt class="py-lineno">803</tt>  <tt class="py-line">    <tt id="link-204" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-204', 'request', 'link-68');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">previous_request</tt><tt class="py-op">)</tt> </tt>
-<a name="L804"></a><tt class="py-lineno">804</tt>  <tt class="py-line"> </tt>
-<a name="L805"></a><tt class="py-lineno">805</tt>  <tt class="py-line">    <tt class="py-name">pageToken</tt> <tt class="py-op">=</tt> <tt class="py-name">previous_response</tt><tt class="py-op">[</tt><tt class="py-string">'nextPageToken'</tt><tt class="py-op">]</tt> </tt>
-<a name="L806"></a><tt class="py-lineno">806</tt>  <tt class="py-line">    <tt class="py-name">parsed</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlparse</tt><tt class="py-op">(</tt><tt id="link-205" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-205', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L807"></a><tt class="py-lineno">807</tt>  <tt class="py-line">    <tt class="py-name">q</tt> <tt class="py-op">=</tt> <tt class="py-name">parse_qsl</tt><tt class="py-op">(</tt><tt class="py-name">parsed</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L808"></a><tt class="py-lineno">808</tt>  <tt class="py-line"> </tt>
-<a name="L809"></a><tt class="py-lineno">809</tt>  <tt class="py-line">    <tt class="py-comment"># Find and remove old 'pageToken' value from URI</tt> </tt>
-<a name="L810"></a><tt class="py-lineno">810</tt>  <tt class="py-line">    <tt class="py-name">newq</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">q</tt> <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-op">!=</tt> <tt class="py-string">'pageToken'</tt><tt class="py-op">]</tt> </tt>
-<a name="L811"></a><tt class="py-lineno">811</tt>  <tt class="py-line">    <tt class="py-name">newq</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'pageToken'</tt><tt class="py-op">,</tt> <tt class="py-name">pageToken</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L812"></a><tt class="py-lineno">812</tt>  <tt class="py-line">    <tt class="py-name">parsed</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-name">newq</tt><tt class="py-op">)</tt> </tt>
-<a name="L813"></a><tt class="py-lineno">813</tt>  <tt class="py-line">    <tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlunparse</tt><tt class="py-op">(</tt><tt class="py-name">parsed</tt><tt class="py-op">)</tt> </tt>
-<a name="L814"></a><tt class="py-lineno">814</tt>  <tt class="py-line"> </tt>
-<a name="L815"></a><tt class="py-lineno">815</tt>  <tt class="py-line">    <tt id="link-206" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-206', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
-<a name="L816"></a><tt class="py-lineno">816</tt>  <tt class="py-line"> </tt>
-<a name="L817"></a><tt class="py-lineno">817</tt>  <tt class="py-line">    <tt id="link-207" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-207', 'logger', 'link-48');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'URL being requested: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L818"></a><tt class="py-lineno">818</tt>  <tt class="py-line"> </tt>
-<a name="L819"></a><tt class="py-lineno">819</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-208" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-208', 'request', 'link-68');">request</a></tt> </tt>
-</div><a name="L820"></a><tt class="py-lineno">820</tt>  <tt class="py-line"> </tt>
-<a name="L821"></a><tt class="py-lineno">821</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodNext</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L822"></a><tt class="py-lineno">822</tt>  <tt class="py-line"> </tt>
-<a name="Resource"></a><div id="Resource-def"><a name="L823"></a><tt class="py-lineno">823</tt>  <tt class="py-line"> </tt>
-<a name="L824"></a><tt class="py-lineno">824</tt> <a class="py-toggle" href="#" id="Resource-toggle" onclick="return toggle('Resource');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.discovery.Resource-class.html">Resource</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Resource-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Resource-expanded"><a name="L825"></a><tt class="py-lineno">825</tt>  <tt class="py-line">  <tt class="py-docstring">"""A class for interacting with a resource."""</tt> </tt>
-<a name="L826"></a><tt class="py-lineno">826</tt>  <tt class="py-line"> </tt>
-<a name="Resource.__init__"></a><div id="Resource.__init__-def"><a name="L827"></a><tt class="py-lineno">827</tt> <a class="py-toggle" href="#" id="Resource.__init__-toggle" onclick="return toggle('Resource.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery.Resource-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">baseUrl</tt><tt class="py-op">,</tt> <tt class="py-param">model</tt><tt class="py-op">,</tt> <tt class="py-param">requestBuilder</tt><tt class="py-op">,</tt> <tt class="py-param">developerKey</tt><tt class="py-op">,</tt> </tt>
-<a name="L828"></a><tt class="py-lineno">828</tt>  <tt class="py-line">               <tt class="py-param">resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-param">rootDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Resource.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource.__init__-expanded"><a name="L829"></a><tt class="py-lineno">829</tt>  <tt class="py-line">    <tt class="py-docstring">"""Build a Resource from the API description.</tt> </tt>
-<a name="L830"></a><tt class="py-lineno">830</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L831"></a><tt class="py-lineno">831</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L832"></a><tt class="py-lineno">832</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, Object to make http requests with.</tt> </tt>
-<a name="L833"></a><tt class="py-lineno">833</tt>  <tt class="py-line"><tt class="py-docstring">      baseUrl: string, base URL for the API. All requests are relative to this</tt> </tt>
-<a name="L834"></a><tt class="py-lineno">834</tt>  <tt class="py-line"><tt class="py-docstring">          URI.</tt> </tt>
-<a name="L835"></a><tt class="py-lineno">835</tt>  <tt class="py-line"><tt class="py-docstring">      model: apiclient.Model, converts to and from the wire format.</tt> </tt>
-<a name="L836"></a><tt class="py-lineno">836</tt>  <tt class="py-line"><tt class="py-docstring">      requestBuilder: class or callable that instantiates an</tt> </tt>
-<a name="L837"></a><tt class="py-lineno">837</tt>  <tt class="py-line"><tt class="py-docstring">          apiclient.HttpRequest object.</tt> </tt>
-<a name="L838"></a><tt class="py-lineno">838</tt>  <tt class="py-line"><tt class="py-docstring">      developerKey: string, key obtained from</tt> </tt>
-<a name="L839"></a><tt class="py-lineno">839</tt>  <tt class="py-line"><tt class="py-docstring">          https://code.google.com/apis/console</tt> </tt>
-<a name="L840"></a><tt class="py-lineno">840</tt>  <tt class="py-line"><tt class="py-docstring">      resourceDesc: object, section of deserialized discovery document that</tt> </tt>
-<a name="L841"></a><tt class="py-lineno">841</tt>  <tt class="py-line"><tt class="py-docstring">          describes a resource. Note that the top level discovery document</tt> </tt>
-<a name="L842"></a><tt class="py-lineno">842</tt>  <tt class="py-line"><tt class="py-docstring">          is considered a resource.</tt> </tt>
-<a name="L843"></a><tt class="py-lineno">843</tt>  <tt class="py-line"><tt class="py-docstring">      rootDesc: object, the entire deserialized discovery document.</tt> </tt>
-<a name="L844"></a><tt class="py-lineno">844</tt>  <tt class="py-line"><tt class="py-docstring">      schema: object, mapping of schema names to schema descriptions.</tt> </tt>
-<a name="L845"></a><tt class="py-lineno">845</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L846"></a><tt class="py-lineno">846</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dynamic_attrs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L847"></a><tt class="py-lineno">847</tt>  <tt class="py-line"> </tt>
-<a name="L848"></a><tt class="py-lineno">848</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_http</tt> <tt class="py-op">=</tt> <tt id="link-209" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-209', 'http', 'link-20');">http</a></tt> </tt>
-<a name="L849"></a><tt class="py-lineno">849</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_baseUrl</tt> <tt class="py-op">=</tt> <tt class="py-name">baseUrl</tt> </tt>
-<a name="L850"></a><tt class="py-lineno">850</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt> <tt class="py-op">=</tt> <tt id="link-210" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-210', 'model', 'link-29');">model</a></tt> </tt>
-<a name="L851"></a><tt class="py-lineno">851</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_developerKey</tt> <tt class="py-op">=</tt> <tt class="py-name">developerKey</tt> </tt>
-<a name="L852"></a><tt class="py-lineno">852</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requestBuilder</tt> <tt class="py-op">=</tt> <tt class="py-name">requestBuilder</tt> </tt>
-<a name="L853"></a><tt class="py-lineno">853</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resourceDesc</tt> <tt class="py-op">=</tt> <tt class="py-name">resourceDesc</tt> </tt>
-<a name="L854"></a><tt class="py-lineno">854</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rootDesc</tt> <tt class="py-op">=</tt> <tt class="py-name">rootDesc</tt> </tt>
-<a name="L855"></a><tt class="py-lineno">855</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_schema</tt> <tt class="py-op">=</tt> <tt id="link-211" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-211', 'schema', 'link-38');">schema</a></tt> </tt>
-<a name="L856"></a><tt class="py-lineno">856</tt>  <tt class="py-line"> </tt>
-<a name="L857"></a><tt class="py-lineno">857</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name" targets="Method apiclient.discovery.Resource._set_service_methods()=apiclient.discovery.Resource-class.html#_set_service_methods"><a title="apiclient.discovery.Resource._set_service_methods" class="py-name" href="#" onclick="return doclink('link-212', '_set_service_methods', 'link-212');">_set_service_methods</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L858"></a><tt class="py-lineno">858</tt>  <tt class="py-line"> </tt>
-<a name="Resource._set_dynamic_attr"></a><div id="Resource._set_dynamic_attr-def"><a name="L859"></a><tt class="py-lineno">859</tt> <a class="py-toggle" href="#" id="Resource._set_dynamic_attr-toggle" onclick="return toggle('Resource._set_dynamic_attr');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery.Resource-class.html#_set_dynamic_attr">_set_dynamic_attr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">attr_name</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Resource._set_dynamic_attr-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource._set_dynamic_attr-expanded"><a name="L860"></a><tt class="py-lineno">860</tt>  <tt class="py-line">    <tt class="py-docstring">"""Sets an instance attribute and tracks it in a list of dynamic attributes.</tt> </tt>
-<a name="L861"></a><tt class="py-lineno">861</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L862"></a><tt class="py-lineno">862</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L863"></a><tt class="py-lineno">863</tt>  <tt class="py-line"><tt class="py-docstring">      attr_name: string; The name of the attribute to be set</tt> </tt>
-<a name="L864"></a><tt class="py-lineno">864</tt>  <tt class="py-line"><tt class="py-docstring">      value: The value being set on the object and tracked in the dynamic cache.</tt> </tt>
-<a name="L865"></a><tt class="py-lineno">865</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L866"></a><tt class="py-lineno">866</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dynamic_attrs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">attr_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L867"></a><tt class="py-lineno">867</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">[</tt><tt class="py-name">attr_name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
-</div><a name="L868"></a><tt class="py-lineno">868</tt>  <tt class="py-line"> </tt>
-<a name="Resource.__getstate__"></a><div id="Resource.__getstate__-def"><a name="L869"></a><tt class="py-lineno">869</tt> <a class="py-toggle" href="#" id="Resource.__getstate__-toggle" onclick="return toggle('Resource.__getstate__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery.Resource-class.html#__getstate__">__getstate__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Resource.__getstate__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource.__getstate__-expanded"><a name="L870"></a><tt class="py-lineno">870</tt>  <tt class="py-line">    <tt class="py-docstring">"""Trim the state down to something that can be pickled.</tt> </tt>
-<a name="L871"></a><tt class="py-lineno">871</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L872"></a><tt class="py-lineno">872</tt>  <tt class="py-line"><tt class="py-docstring">    Uses the fact that the instance variable _dynamic_attrs holds attrs that</tt> </tt>
-<a name="L873"></a><tt class="py-lineno">873</tt>  <tt class="py-line"><tt class="py-docstring">    will be wiped and restored on pickle serialization.</tt> </tt>
-<a name="L874"></a><tt class="py-lineno">874</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L875"></a><tt class="py-lineno">875</tt>  <tt class="py-line">    <tt class="py-name">state_dict</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">)</tt> </tt>
-<a name="L876"></a><tt class="py-lineno">876</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">dynamic_attr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dynamic_attrs</tt><tt class="py-op">:</tt> </tt>
-<a name="L877"></a><tt class="py-lineno">877</tt>  <tt class="py-line">      <tt class="py-keyword">del</tt> <tt class="py-name">state_dict</tt><tt class="py-op">[</tt><tt class="py-name">dynamic_attr</tt><tt class="py-op">]</tt> </tt>
-<a name="L878"></a><tt class="py-lineno">878</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">state_dict</tt><tt class="py-op">[</tt><tt class="py-string">'_dynamic_attrs'</tt><tt class="py-op">]</tt> </tt>
-<a name="L879"></a><tt class="py-lineno">879</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">state_dict</tt> </tt>
-</div><a name="L880"></a><tt class="py-lineno">880</tt>  <tt class="py-line"> </tt>
-<a name="Resource.__setstate__"></a><div id="Resource.__setstate__-def"><a name="L881"></a><tt class="py-lineno">881</tt> <a class="py-toggle" href="#" id="Resource.__setstate__-toggle" onclick="return toggle('Resource.__setstate__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery.Resource-class.html#__setstate__">__setstate__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">state</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Resource.__setstate__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource.__setstate__-expanded"><a name="L882"></a><tt class="py-lineno">882</tt>  <tt class="py-line">    <tt class="py-docstring">"""Reconstitute the state of the object from being pickled.</tt> </tt>
-<a name="L883"></a><tt class="py-lineno">883</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L884"></a><tt class="py-lineno">884</tt>  <tt class="py-line"><tt class="py-docstring">    Uses the fact that the instance variable _dynamic_attrs holds attrs that</tt> </tt>
-<a name="L885"></a><tt class="py-lineno">885</tt>  <tt class="py-line"><tt class="py-docstring">    will be wiped and restored on pickle serialization.</tt> </tt>
-<a name="L886"></a><tt class="py-lineno">886</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L887"></a><tt class="py-lineno">887</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="apiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-213', 'update', 'link-103');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">state</tt><tt class="py-op">)</tt> </tt>
-<a name="L888"></a><tt class="py-lineno">888</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dynamic_attrs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L889"></a><tt class="py-lineno">889</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-214" class="py-name"><a title="apiclient.discovery.Resource._set_service_methods" class="py-name" href="#" onclick="return doclink('link-214', '_set_service_methods', 'link-212');">_set_service_methods</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L890"></a><tt class="py-lineno">890</tt>  <tt class="py-line"> </tt>
-<a name="Resource._set_service_methods"></a><div id="Resource._set_service_methods-def"><a name="L891"></a><tt class="py-lineno">891</tt> <a class="py-toggle" href="#" id="Resource._set_service_methods-toggle" onclick="return toggle('Resource._set_service_methods');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery.Resource-class.html#_set_service_methods">_set_service_methods</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Resource._set_service_methods-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource._set_service_methods-expanded"><a name="L892"></a><tt class="py-lineno">892</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name" targets="Method apiclient.discovery.Resource._add_basic_methods()=apiclient.discovery.Resource-class.html#_add_basic_methods"><a title="apiclient.discovery.Resource._add_basic_methods" class="py-name" href="#" onclick="return doclink('link-215', '_add_basic_methods', 'link-215');">_add_basic_methods</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rootDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_schema</tt><tt class="py-op">)</tt> </tt>
-<a name="L893"></a><tt class="py-lineno">893</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-216" class="py-name" targets="Method apiclient.discovery.Resource._add_nested_resources()=apiclient.discovery.Resource-class.html#_add_nested_resources"><a title="apiclient.discovery.Resource._add_nested_resources" class="py-name" href="#" onclick="return doclink('link-216', '_add_nested_resources', 'link-216');">_add_nested_resources</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rootDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_schema</tt><tt class="py-op">)</tt> </tt>
-<a name="L894"></a><tt class="py-lineno">894</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name" targets="Method apiclient.discovery.Resource._add_next_methods()=apiclient.discovery.Resource-class.html#_add_next_methods"><a title="apiclient.discovery.Resource._add_next_methods" class="py-name" href="#" onclick="return doclink('link-217', '_add_next_methods', 'link-217');">_add_next_methods</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_schema</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L895"></a><tt class="py-lineno">895</tt>  <tt class="py-line"> </tt>
-<a name="Resource._add_basic_methods"></a><div id="Resource._add_basic_methods-def"><a name="L896"></a><tt class="py-lineno">896</tt> <a class="py-toggle" href="#" id="Resource._add_basic_methods-toggle" onclick="return toggle('Resource._add_basic_methods');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery.Resource-class.html#_add_basic_methods">_add_basic_methods</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-param">rootDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Resource._add_basic_methods-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource._add_basic_methods-expanded"><a name="L897"></a><tt class="py-lineno">897</tt>  <tt class="py-line">    <tt class="py-comment"># Add basic methods to Resource</tt> </tt>
-<a name="L898"></a><tt class="py-lineno">898</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'methods'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">:</tt> </tt>
-<a name="L899"></a><tt class="py-lineno">899</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">[</tt><tt class="py-string">'methods'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L900"></a><tt class="py-lineno">900</tt>  <tt class="py-line">        <tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt id="link-218" class="py-name" targets="Function apiclient.discovery.createMethod()=apiclient.discovery-module.html#createMethod"><a title="apiclient.discovery.createMethod" class="py-name" href="#" onclick="return doclink('link-218', 'createMethod', 'link-218');">createMethod</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L901"></a><tt class="py-lineno">901</tt>  <tt class="py-line">            <tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">,</tt> <tt id="link-219" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-219', 'schema', 'link-38');">schema</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L902"></a><tt class="py-lineno">902</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-220" class="py-name" targets="Method apiclient.discovery.Resource._set_dynamic_attr()=apiclient.discovery.Resource-class.html#_set_dynamic_attr"><a title="apiclient.discovery.Resource._set_dynamic_attr" class="py-name" href="#" onclick="return doclink('link-220', '_set_dynamic_attr', 'link-220');">_set_dynamic_attr</a></tt><tt class="py-op">(</tt><tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> </tt>
-<a name="L903"></a><tt class="py-lineno">903</tt>  <tt class="py-line">                               <tt class="py-name">method</tt><tt class="py-op">.</tt><tt class="py-name">__get__</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L904"></a><tt class="py-lineno">904</tt>  <tt class="py-line">        <tt class="py-comment"># Add in _media methods. The functionality of the attached method will</tt> </tt>
-<a name="L905"></a><tt class="py-lineno">905</tt>  <tt class="py-line">        <tt class="py-comment"># change when it sees that the method name ends in _media.</tt> </tt>
-<a name="L906"></a><tt class="py-lineno">906</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-221', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'supportsMediaDownload'</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L907"></a><tt class="py-lineno">907</tt>  <tt class="py-line">          <tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt id="link-222" class="py-name"><a title="apiclient.discovery.createMethod" class="py-name" href="#" onclick="return doclink('link-222', 'createMethod', 'link-218');">createMethod</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L908"></a><tt class="py-lineno">908</tt>  <tt class="py-line">              <tt class="py-name">methodName</tt> <tt class="py-op">+</tt> <tt class="py-string">'_media'</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">,</tt> <tt id="link-223" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-223', 'schema', 'link-38');">schema</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L909"></a><tt class="py-lineno">909</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-224" class="py-name"><a title="apiclient.discovery.Resource._set_dynamic_attr" class="py-name" href="#" onclick="return doclink('link-224', '_set_dynamic_attr', 'link-220');">_set_dynamic_attr</a></tt><tt class="py-op">(</tt><tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> </tt>
-<a name="L910"></a><tt class="py-lineno">910</tt>  <tt class="py-line">                                 <tt class="py-name">method</tt><tt class="py-op">.</tt><tt class="py-name">__get__</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L911"></a><tt class="py-lineno">911</tt>  <tt class="py-line"> </tt>
-<a name="Resource._add_nested_resources"></a><div id="Resource._add_nested_resources-def"><a name="L912"></a><tt class="py-lineno">912</tt> <a class="py-toggle" href="#" id="Resource._add_nested_resources-toggle" onclick="return toggle('Resource._add_nested_resources');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery.Resource-class.html#_add_nested_resources">_add_nested_resources</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-param">rootDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Resource._add_nested_resources-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource._add_nested_resources-expanded"><a name="L913"></a><tt class="py-lineno">913</tt>  <tt class="py-line">    <tt class="py-comment"># Add in nested resources</tt> </tt>
-<a name="L914"></a><tt class="py-lineno">914</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'resources'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">:</tt> </tt>
-<a name="L915"></a><tt class="py-lineno">915</tt>  <tt class="py-line"> </tt>
-<a name="L916"></a><tt class="py-lineno">916</tt>  <tt class="py-line">      <tt class="py-keyword">def</tt> <tt class="py-def-name">createResourceMethod</tt><tt class="py-op">(</tt><tt class="py-param">methodName</tt><tt class="py-op">,</tt> <tt class="py-param">methodDesc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L917"></a><tt class="py-lineno">917</tt>  <tt class="py-line">        <tt class="py-docstring">"""Create a method on the Resource to access a nested Resource.</tt> </tt>
-<a name="L918"></a><tt class="py-lineno">918</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L919"></a><tt class="py-lineno">919</tt>  <tt class="py-line"><tt class="py-docstring">        Args:</tt> </tt>
-<a name="L920"></a><tt class="py-lineno">920</tt>  <tt class="py-line"><tt class="py-docstring">          methodName: string, name of the method to use.</tt> </tt>
-<a name="L921"></a><tt class="py-lineno">921</tt>  <tt class="py-line"><tt class="py-docstring">          methodDesc: object, fragment of deserialized discovery document that</tt> </tt>
-<a name="L922"></a><tt class="py-lineno">922</tt>  <tt class="py-line"><tt class="py-docstring">            describes the method.</tt> </tt>
-<a name="L923"></a><tt class="py-lineno">923</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L924"></a><tt class="py-lineno">924</tt>  <tt class="py-line">        <tt class="py-name">methodName</tt> <tt class="py-op">=</tt> <tt id="link-225" class="py-name"><a title="apiclient.discovery.fix_method_name" class="py-name" href="#" onclick="return doclink('link-225', 'fix_method_name', 'link-137');">fix_method_name</a></tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">)</tt> </tt>
-<a name="L925"></a><tt class="py-lineno">925</tt>  <tt class="py-line"> </tt>
-<a name="L926"></a><tt class="py-lineno">926</tt>  <tt class="py-line">        <tt class="py-keyword">def</tt> <tt class="py-def-name">methodResource</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L927"></a><tt class="py-lineno">927</tt>  <tt class="py-line">          <tt class="py-keyword">return</tt> <tt id="link-226" class="py-name"><a title="apiclient.discovery.Resource" class="py-name" href="#" onclick="return doclink('link-226', 'Resource', 'link-87');">Resource</a></tt><tt class="py-op">(</tt><tt id="link-227" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-227', 'http', 'link-20');">http</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_http</tt><tt class="py-op">,</tt> <tt class="py-name">baseUrl</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_baseUrl</tt><tt class="py-op">,</tt> </tt>
-<a name="L928"></a><tt class="py-lineno">928</tt>  <tt class="py-line">                          <tt id="link-228" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-228', 'model', 'link-29');">model</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt><tt class="py-op">,</tt> <tt class="py-name">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_developerKey</tt><tt class="py-op">,</tt> </tt>
-<a name="L929"></a><tt class="py-lineno">929</tt>  <tt class="py-line">                          <tt class="py-name">requestBuilder</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requestBuilder</tt><tt class="py-op">,</tt> </tt>
-<a name="L930"></a><tt class="py-lineno">930</tt>  <tt class="py-line">                          <tt class="py-name">resourceDesc</tt><tt class="py-op">=</tt><tt class="py-name">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">=</tt><tt class="py-name">rootDesc</tt><tt class="py-op">,</tt> </tt>
-<a name="L931"></a><tt class="py-lineno">931</tt>  <tt class="py-line">                          <tt id="link-229" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-229', 'schema', 'link-38');">schema</a></tt><tt class="py-op">=</tt><tt id="link-230" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-230', 'schema', 'link-38');">schema</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L932"></a><tt class="py-lineno">932</tt>  <tt class="py-line"> </tt>
-<a name="L933"></a><tt class="py-lineno">933</tt>  <tt class="py-line">        <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">methodResource</tt><tt class="py-op">,</tt> <tt class="py-string">'__doc__'</tt><tt class="py-op">,</tt> <tt class="py-string">'A collection resource.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L934"></a><tt class="py-lineno">934</tt>  <tt class="py-line">        <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">methodResource</tt><tt class="py-op">,</tt> <tt class="py-string">'__is_resource__'</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L935"></a><tt class="py-lineno">935</tt>  <tt class="py-line"> </tt>
-<a name="L936"></a><tt class="py-lineno">936</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodResource</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L937"></a><tt class="py-lineno">937</tt>  <tt class="py-line"> </tt>
-<a name="L938"></a><tt class="py-lineno">938</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">[</tt><tt class="py-string">'resources'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L939"></a><tt class="py-lineno">939</tt>  <tt class="py-line">        <tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">createResourceMethod</tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">)</tt> </tt>
-<a name="L940"></a><tt class="py-lineno">940</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-231" class="py-name"><a title="apiclient.discovery.Resource._set_dynamic_attr" class="py-name" href="#" onclick="return doclink('link-231', '_set_dynamic_attr', 'link-220');">_set_dynamic_attr</a></tt><tt class="py-op">(</tt><tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> </tt>
-<a name="L941"></a><tt class="py-lineno">941</tt>  <tt class="py-line">                               <tt class="py-name">method</tt><tt class="py-op">.</tt><tt class="py-name">__get__</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L942"></a><tt class="py-lineno">942</tt>  <tt class="py-line"> </tt>
-<a name="Resource._add_next_methods"></a><div id="Resource._add_next_methods-def"><a name="L943"></a><tt class="py-lineno">943</tt> <a class="py-toggle" href="#" id="Resource._add_next_methods-toggle" onclick="return toggle('Resource._add_next_methods');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.discovery.Resource-class.html#_add_next_methods">_add_next_methods</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Resource._add_next_methods-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource._add_next_methods-expanded"><a name="L944"></a><tt class="py-lineno">944</tt>  <tt class="py-line">    <tt class="py-comment"># Add _next() methods</tt> </tt>
-<a name="L945"></a><tt class="py-lineno">945</tt>  <tt class="py-line">    <tt class="py-comment"># Look for response bodies in schema that contain nextPageToken, and methods</tt> </tt>
-<a name="L946"></a><tt class="py-lineno">946</tt>  <tt class="py-line">    <tt class="py-comment"># that take a pageToken parameter.</tt> </tt>
-<a name="L947"></a><tt class="py-lineno">947</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'methods'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">:</tt> </tt>
-<a name="L948"></a><tt class="py-lineno">948</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">[</tt><tt class="py-string">'methods'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L949"></a><tt class="py-lineno">949</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'response'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">:</tt> </tt>
-<a name="L950"></a><tt class="py-lineno">950</tt>  <tt class="py-line">          <tt class="py-name">responseSchema</tt> <tt class="py-op">=</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">[</tt><tt class="py-string">'response'</tt><tt class="py-op">]</tt> </tt>
-<a name="L951"></a><tt class="py-lineno">951</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-string">'$ref'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">responseSchema</tt><tt class="py-op">:</tt> </tt>
-<a name="L952"></a><tt class="py-lineno">952</tt>  <tt class="py-line">            <tt class="py-name">responseSchema</tt> <tt class="py-op">=</tt> <tt id="link-232" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-232', 'schema', 'link-38');">schema</a></tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-233', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">responseSchema</tt><tt class="py-op">[</tt><tt class="py-string">'$ref'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L953"></a><tt class="py-lineno">953</tt>  <tt class="py-line">          <tt class="py-name">hasNextPageToken</tt> <tt class="py-op">=</tt> <tt class="py-string">'nextPageToken'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">responseSchema</tt><tt class="py-op">.</tt><tt id="link-234" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-234', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'properties'</tt><tt class="py-op">,</tt> </tt>
-<a name="L954"></a><tt class="py-lineno">954</tt>  <tt class="py-line">                                                                   <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L955"></a><tt class="py-lineno">955</tt>  <tt class="py-line">          <tt class="py-name">hasPageToken</tt> <tt class="py-op">=</tt> <tt class="py-string">'pageToken'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">.</tt><tt id="link-235" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-235', 'get', 'link-84');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L956"></a><tt class="py-lineno">956</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">hasNextPageToken</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasPageToken</tt><tt class="py-op">:</tt> </tt>
-<a name="L957"></a><tt class="py-lineno">957</tt>  <tt class="py-line">            <tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt id="link-236" class="py-name" targets="Function apiclient.discovery.createNextMethod()=apiclient.discovery-module.html#createNextMethod"><a title="apiclient.discovery.createNextMethod" class="py-name" href="#" onclick="return doclink('link-236', 'createNextMethod', 'link-236');">createNextMethod</a></tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt> <tt class="py-op">+</tt> <tt class="py-string">'_next'</tt><tt class="py-op">)</tt> </tt>
-<a name="L958"></a><tt class="py-lineno">958</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="apiclient.discovery.Resource._set_dynamic_attr" class="py-name" href="#" onclick="return doclink('link-237', '_set_dynamic_attr', 'link-220');">_set_dynamic_attr</a></tt><tt class="py-op">(</tt><tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> </tt>
-<a name="L959"></a><tt class="py-lineno">959</tt>  <tt class="py-line">                                   <tt class="py-name">method</tt><tt class="py-op">.</tt><tt class="py-name">__get__</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L960"></a><tt class="py-lineno">960</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.discovery.Resource-class.html b/docs/epy/apiclient.discovery.Resource-class.html
deleted file mode 100644
index 5354d10..0000000
--- a/docs/epy/apiclient.discovery.Resource-class.html
+++ /dev/null
@@ -1,474 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.discovery.Resource</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.discovery-module.html">Module&nbsp;discovery</a> ::
-        Class&nbsp;Resource
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.discovery.Resource-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Resource</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.discovery-pysrc.html#Resource">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_3" name="uml_class_diagram_for_apiclien_3">
-<area shape="rect" id="node2" href="apiclient.discovery.Resource-class.html#__init__" title="Build a Resource from the API description." alt="" coords="17,39,607,57"/>
-<area shape="rect" id="node2" href="apiclient.discovery.Resource-class.html#__getstate__" title="Trim the state down to something that can be pickled." alt="" coords="17,57,607,76"/>
-<area shape="rect" id="node2" href="apiclient.discovery.Resource-class.html#__setstate__" title="Reconstitute the state of the object from being pickled." alt="" coords="17,76,607,95"/>
-<area shape="rect" id="node1" href="apiclient.discovery.Resource-class.html" title="A class for interacting with a resource." alt="" coords="5,6,619,101"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_3.gif" alt='' usemap="#uml_class_diagram_for_apiclien_3" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-A class for interacting with a resource.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.discovery.Resource-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http</span>,
-        <span class="summary-sig-arg">baseUrl</span>,
-        <span class="summary-sig-arg">model</span>,
-        <span class="summary-sig-arg">requestBuilder</span>,
-        <span class="summary-sig-arg">developerKey</span>,
-        <span class="summary-sig-arg">resourceDesc</span>,
-        <span class="summary-sig-arg">rootDesc</span>,
-        <span class="summary-sig-arg">schema</span>)</span><br />
-      Build a Resource from the API description.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#Resource.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.discovery.Resource-class.html#_set_dynamic_attr" class="summary-sig-name" onclick="show_private();">_set_dynamic_attr</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">attr_name</span>,
-        <span class="summary-sig-arg">value</span>)</span><br />
-      Sets an instance attribute and tracks it in a list of dynamic attributes.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#Resource._set_dynamic_attr">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.discovery.Resource-class.html#__getstate__" class="summary-sig-name">__getstate__</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Trim the state down to something that can be pickled.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#Resource.__getstate__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.discovery.Resource-class.html#__setstate__" class="summary-sig-name">__setstate__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">state</span>)</span><br />
-      Reconstitute the state of the object from being pickled.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#Resource.__setstate__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_set_service_methods"></a><span class="summary-sig-name">_set_service_methods</span>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#Resource._set_service_methods">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_add_basic_methods"></a><span class="summary-sig-name">_add_basic_methods</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">resourceDesc</span>,
-        <span class="summary-sig-arg">rootDesc</span>,
-        <span class="summary-sig-arg">schema</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#Resource._add_basic_methods">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_add_nested_resources"></a><span class="summary-sig-name">_add_nested_resources</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">resourceDesc</span>,
-        <span class="summary-sig-arg">rootDesc</span>,
-        <span class="summary-sig-arg">schema</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#Resource._add_nested_resources">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_add_next_methods"></a><span class="summary-sig-name">_add_next_methods</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">resourceDesc</span>,
-        <span class="summary-sig-arg">schema</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#Resource._add_next_methods">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http</span>,
-        <span class="sig-arg">baseUrl</span>,
-        <span class="sig-arg">model</span>,
-        <span class="sig-arg">requestBuilder</span>,
-        <span class="sig-arg">developerKey</span>,
-        <span class="sig-arg">resourceDesc</span>,
-        <span class="sig-arg">rootDesc</span>,
-        <span class="sig-arg">schema</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.discovery-pysrc.html#Resource.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Build a Resource from the API description.
-
-Args:
-  http: httplib2.Http, Object to make http requests with.
-  baseUrl: string, base URL for the API. All requests are relative to this
-      URI.
-  model: apiclient.Model, converts to and from the wire format.
-  requestBuilder: class or callable that instantiates an
-      apiclient.HttpRequest object.
-  developerKey: string, key obtained from
-      https://code.google.com/apis/console
-  resourceDesc: object, section of deserialized discovery document that
-      describes a resource. Note that the top level discovery document
-      is considered a resource.
-  rootDesc: object, the entire deserialized discovery document.
-  schema: object, mapping of schema names to schema descriptions.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_set_dynamic_attr"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_set_dynamic_attr</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">attr_name</span>,
-        <span class="sig-arg">value</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.discovery-pysrc.html#Resource._set_dynamic_attr">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Sets an instance attribute and tracks it in a list of dynamic attributes.
-
-Args:
-  attr_name: string; The name of the attribute to be set
-  value: The value being set on the object and tracked in the dynamic cache.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="__getstate__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__getstate__</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.discovery-pysrc.html#Resource.__getstate__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Trim the state down to something that can be pickled.
-
-Uses the fact that the instance variable _dynamic_attrs holds attrs that
-will be wiped and restored on pickle serialization.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="__setstate__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__setstate__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">state</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.discovery-pysrc.html#Resource.__setstate__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Reconstitute the state of the object from being pickled.
-
-Uses the fact that the instance variable _dynamic_attrs holds attrs that
-will be wiped and restored on pickle serialization.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.discovery.ResourceMethodParameters-class.html b/docs/epy/apiclient.discovery.ResourceMethodParameters-class.html
deleted file mode 100644
index 5814858..0000000
--- a/docs/epy/apiclient.discovery.ResourceMethodParameters-class.html
+++ /dev/null
@@ -1,316 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.discovery.ResourceMethodParameters</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.discovery-module.html">Module&nbsp;discovery</a> ::
-        Class&nbsp;ResourceMethodParameters
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.discovery.ResourceMethodParameters-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class ResourceMethodParameters</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.discovery-pysrc.html#ResourceMethodParameters">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_4" name="uml_class_diagram_for_apiclien_4">
-<area shape="rect" id="node3" href="apiclient.discovery.ResourceMethodParameters-class.html#__init__" title="Constructor for ResourceMethodParameters." alt="" coords="17,39,229,57"/>
-<area shape="rect" id="node3" href="apiclient.discovery.ResourceMethodParameters-class.html#set_parameters" title="Populates maps and lists based on method description." alt="" coords="17,57,229,76"/>
-<area shape="rect" id="node1" href="apiclient.discovery.ResourceMethodParameters-class.html" title="Represents the parameters associated with a method." alt="" coords="5,6,240,82"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_4.gif" alt='' usemap="#uml_class_diagram_for_apiclien_4" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Represents the parameters associated with a method.
-
-Attributes:
-  argmap: Map from method parameter name (string) to query parameter name
-      (string).
-  required_params: List of required parameters (represented by parameter
-      name as string).
-  repeated_params: List of repeated parameters (represented by parameter
-      name as string).
-  pattern_params: Map from method parameter name (string) to regular
-      expression (as a string). If the pattern is set for a parameter, the
-      value for that parameter must match the regular expression.
-  query_params: List of parameters (represented by parameter name as string)
-      that will be used in the query string.
-  path_params: Set of parameters (represented by parameter name as string)
-      that will be used in the base URL path.
-  param_types: Map from method parameter name (string) to parameter type. Type
-      can be any valid JSON schema type; valid values are 'any', 'array',
-      'boolean', 'integer', 'number', 'object', or 'string'. Reference:
-      http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
-  enum_params: Map from method parameter name (string) to list of strings,
-     where each list of strings is the list of acceptable enum values.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.discovery.ResourceMethodParameters-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">method_desc</span>)</span><br />
-      Constructor for ResourceMethodParameters.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#ResourceMethodParameters.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.discovery.ResourceMethodParameters-class.html#set_parameters" class="summary-sig-name">set_parameters</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">method_desc</span>)</span><br />
-      Populates maps and lists based on method description.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.discovery-pysrc.html#ResourceMethodParameters.set_parameters">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">method_desc</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.discovery-pysrc.html#ResourceMethodParameters.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor for ResourceMethodParameters.
-
-Sets default values and defers to set_parameters to populate.
-
-Args:
-  method_desc: Dictionary with metadata describing an API method. Value
-      comes from the dictionary of methods stored in the 'methods' key in
-      the deserialized discovery document.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="set_parameters"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">set_parameters</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">method_desc</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.discovery-pysrc.html#ResourceMethodParameters.set_parameters">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Populates maps and lists based on method description.
-
-Iterates through each parameter for the method and parses the values from
-the parameter dictionary.
-
-Args:
-  method_desc: Dictionary with metadata describing an API method. Value
-      comes from the dictionary of methods stored in the 'methods' key in
-      the deserialized discovery document.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.errors-module.html b/docs/epy/apiclient.errors-module.html
deleted file mode 100644
index bba39c5..0000000
--- a/docs/epy/apiclient.errors-module.html
+++ /dev/null
@@ -1,240 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.errors</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Module&nbsp;errors
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.errors-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module errors</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.errors-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-Errors for the library.
-
-All exceptions defined by the library
-should be defined in this file.
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        jcgregorio@google.com (Joe Gregorio)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.errors.Error-class.html" class="summary-name">Error</a><br />
-      Base error for this module.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.errors.HttpError-class.html" class="summary-name">HttpError</a><br />
-      HTTP data was invalid or unexpected.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.errors.InvalidJsonError-class.html" class="summary-name">InvalidJsonError</a><br />
-      The JSON returned could not be parsed.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.errors.UnknownFileType-class.html" class="summary-name">UnknownFileType</a><br />
-      File type unknown or unexpected.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.errors.UnknownLinkType-class.html" class="summary-name">UnknownLinkType</a><br />
-      Link type unknown or unexpected.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.errors.UnknownApiNameOrVersion-class.html" class="summary-name">UnknownApiNameOrVersion</a><br />
-      No API with that name and version exists.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.errors.UnacceptableMimeTypeError-class.html" class="summary-name">UnacceptableMimeTypeError</a><br />
-      That is an unacceptable mimetype for this operation.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.errors.MediaUploadSizeError-class.html" class="summary-name">MediaUploadSizeError</a><br />
-      Media is larger than the method can accept.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.errors.ResumableUploadError-class.html" class="summary-name">ResumableUploadError</a><br />
-      Error occured during resumable upload.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.errors.InvalidChunkSizeError-class.html" class="summary-name">InvalidChunkSizeError</a><br />
-      The given chunksize is not valid.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.errors.InvalidNotificationError-class.html" class="summary-name">InvalidNotificationError</a><br />
-      The channel Notification is invalid.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.errors.BatchError-class.html" class="summary-name">BatchError</a><br />
-      Error occured during batch operations.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.errors.UnexpectedMethodError-class.html" class="summary-name">UnexpectedMethodError</a><br />
-      Exception raised by RequestMockBuilder on unexpected calls.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.errors.UnexpectedBodyError-class.html" class="summary-name">UnexpectedBodyError</a><br />
-      Exception raised by RequestMockBuilder on unexpected bodies.
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.errors-pysrc.html b/docs/epy/apiclient.errors-pysrc.html
deleted file mode 100644
index 5f1598b..0000000
--- a/docs/epy/apiclient.errors-pysrc.html
+++ /dev/null
@@ -1,335 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.errors</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Module&nbsp;errors
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.errors-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="apiclient.errors-module.html">Module apiclient.errors</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/python2.4</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010 Google Inc.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">"""Errors for the library.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">All exceptions defined by the library</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">should be defined in this file.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package oauth2client=oauth2client-module.html"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-0', 'oauth2client', 'link-0');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module oauth2client.util=oauth2client.util-module.html"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-1', 'util', 'link-1');">util</a></tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-2', 'oauth2client', 'link-0');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module oauth2client.anyjson=oauth2client.anyjson-module.html"><a title="oauth2client.anyjson" class="py-name" href="#" onclick="return doclink('link-3', 'anyjson', 'link-3');">anyjson</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
-<a name="Error"></a><div id="Error-def"><a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <a class="py-toggle" href="#" id="Error-toggle" onclick="return toggle('Error');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.errors.Error-class.html">Error</a><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Error-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Error-expanded"><a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">  <tt class="py-docstring">"""Base error for this module."""</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"> </tt>
-<a name="HttpError"></a><div id="HttpError-def"><a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <a class="py-toggle" href="#" id="HttpError-toggle" onclick="return toggle('HttpError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.errors.HttpError-class.html">HttpError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="HttpError-expanded"><a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">  <tt class="py-docstring">"""HTTP data was invalid or unexpected."""</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Function oauth2client.util.positional()=oauth2client.util-module.html#positional"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-4', 'positional', 'link-4');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
-<a name="HttpError.__init__"></a><div id="HttpError.__init__-def"><a name="L39"></a><tt class="py-lineno"> 39</tt> <a class="py-toggle" href="#" id="HttpError.__init__-toggle" onclick="return toggle('HttpError.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.errors.HttpError-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpError.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="HttpError.__init__-expanded"><a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
-</div><a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
-<a name="HttpError._get_reason"></a><div id="HttpError._get_reason-def"><a name="L44"></a><tt class="py-lineno"> 44</tt> <a class="py-toggle" href="#" id="HttpError._get_reason-toggle" onclick="return toggle('HttpError._get_reason');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.errors.HttpError-class.html#_get_reason">_get_reason</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpError._get_reason-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="HttpError._get_reason-expanded"><a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">    <tt class="py-docstring">"""Calculate the reason for the error from the response content."""</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">    <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">      <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Function oauth2client.clientsecrets.loads()=oauth2client.clientsecrets-module.html#loads"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-5', 'loads', 'link-5');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">      <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'error'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'message'</tt><tt class="py-op">]</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">KeyError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">      <tt class="py-keyword">pass</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">reason</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">      <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">reason</tt> </tt>
-</div><a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
-<a name="HttpError.__repr__"></a><div id="HttpError.__repr__-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="HttpError.__repr__-toggle" onclick="return toggle('HttpError.__repr__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.errors.HttpError-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpError.__repr__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="HttpError.__repr__-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">:</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;HttpError %s when requesting %s returned "%s"&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method apiclient.errors.HttpError._get_reason()=apiclient.errors.HttpError-class.html#_get_reason"><a title="apiclient.errors.HttpError._get_reason" class="py-name" href="#" onclick="return doclink('link-6', '_get_reason', 'link-6');">_get_reason</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;HttpError %s "%s"&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="apiclient.errors.HttpError._get_reason" class="py-name" href="#" onclick="return doclink('link-7', '_get_reason', 'link-6');">_get_reason</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">  <tt class="py-name">__str__</tt> <tt class="py-op">=</tt> <tt id="link-8" class="py-name" targets="Method apiclient.errors.BatchError.__repr__()=apiclient.errors.BatchError-class.html#__repr__,Method apiclient.errors.HttpError.__repr__()=apiclient.errors.HttpError-class.html#__repr__"><a title="apiclient.errors.BatchError.__repr__
-apiclient.errors.HttpError.__repr__" class="py-name" href="#" onclick="return doclink('link-8', '__repr__', 'link-8');">__repr__</a></tt> </tt>
-</div><a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"> </tt>
-<a name="InvalidJsonError"></a><div id="InvalidJsonError-def"><a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <a class="py-toggle" href="#" id="InvalidJsonError-toggle" onclick="return toggle('InvalidJsonError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.errors.InvalidJsonError-class.html">InvalidJsonError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="InvalidJsonError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="InvalidJsonError-expanded"><a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">  <tt class="py-docstring">"""The JSON returned could not be parsed."""</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
-<a name="UnknownFileType"></a><div id="UnknownFileType-def"><a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <a class="py-toggle" href="#" id="UnknownFileType-toggle" onclick="return toggle('UnknownFileType');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.errors.UnknownFileType-class.html">UnknownFileType</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UnknownFileType-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnknownFileType-expanded"><a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">  <tt class="py-docstring">"""File type unknown or unexpected."""</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"> </tt>
-<a name="UnknownLinkType"></a><div id="UnknownLinkType-def"><a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <a class="py-toggle" href="#" id="UnknownLinkType-toggle" onclick="return toggle('UnknownLinkType');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.errors.UnknownLinkType-class.html">UnknownLinkType</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UnknownLinkType-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnknownLinkType-expanded"><a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">  <tt class="py-docstring">"""Link type unknown or unexpected."""</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"> </tt>
-<a name="UnknownApiNameOrVersion"></a><div id="UnknownApiNameOrVersion-def"><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <a class="py-toggle" href="#" id="UnknownApiNameOrVersion-toggle" onclick="return toggle('UnknownApiNameOrVersion');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.errors.UnknownApiNameOrVersion-class.html">UnknownApiNameOrVersion</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UnknownApiNameOrVersion-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnknownApiNameOrVersion-expanded"><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">  <tt class="py-docstring">"""No API with that name and version exists."""</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"> </tt>
-<a name="UnacceptableMimeTypeError"></a><div id="UnacceptableMimeTypeError-def"><a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <a class="py-toggle" href="#" id="UnacceptableMimeTypeError-toggle" onclick="return toggle('UnacceptableMimeTypeError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.errors.UnacceptableMimeTypeError-class.html">UnacceptableMimeTypeError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UnacceptableMimeTypeError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnacceptableMimeTypeError-expanded"><a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">  <tt class="py-docstring">"""That is an unacceptable mimetype for this operation."""</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"> </tt>
-<a name="MediaUploadSizeError"></a><div id="MediaUploadSizeError-def"><a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <a class="py-toggle" href="#" id="MediaUploadSizeError-toggle" onclick="return toggle('MediaUploadSizeError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.errors.MediaUploadSizeError-class.html">MediaUploadSizeError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaUploadSizeError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="MediaUploadSizeError-expanded"><a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">  <tt class="py-docstring">"""Media is larger than the method can accept."""</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"> </tt>
-<a name="ResumableUploadError"></a><div id="ResumableUploadError-def"><a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <a class="py-toggle" href="#" id="ResumableUploadError-toggle" onclick="return toggle('ResumableUploadError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.errors.ResumableUploadError-class.html">ResumableUploadError</a><tt class="py-op">(</tt><tt class="py-base-class">HttpError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ResumableUploadError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ResumableUploadError-expanded"><a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">  <tt class="py-docstring">"""Error occured during resumable upload."""</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"> </tt>
-<a name="InvalidChunkSizeError"></a><div id="InvalidChunkSizeError-def"><a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <a class="py-toggle" href="#" id="InvalidChunkSizeError-toggle" onclick="return toggle('InvalidChunkSizeError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.errors.InvalidChunkSizeError-class.html">InvalidChunkSizeError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="InvalidChunkSizeError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="InvalidChunkSizeError-expanded"><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">  <tt class="py-docstring">"""The given chunksize is not valid."""</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"> </tt>
-<a name="InvalidNotificationError"></a><div id="InvalidNotificationError-def"><a name="L105"></a><tt class="py-lineno">105</tt> <a class="py-toggle" href="#" id="InvalidNotificationError-toggle" onclick="return toggle('InvalidNotificationError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.errors.InvalidNotificationError-class.html">InvalidNotificationError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="InvalidNotificationError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="InvalidNotificationError-expanded"><a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">  <tt class="py-docstring">"""The channel Notification is invalid."""</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"> </tt>
-<a name="BatchError"></a><div id="BatchError-def"><a name="L109"></a><tt class="py-lineno">109</tt> <a class="py-toggle" href="#" id="BatchError-toggle" onclick="return toggle('BatchError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.errors.BatchError-class.html">BatchError</a><tt class="py-op">(</tt><tt class="py-base-class">HttpError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="BatchError-expanded"><a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">  <tt class="py-docstring">"""Error occured during batch operations."""</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-9', 'positional', 'link-4');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="BatchError.__init__"></a><div id="BatchError.__init__-def"><a name="L113"></a><tt class="py-lineno">113</tt> <a class="py-toggle" href="#" id="BatchError.__init__-toggle" onclick="return toggle('BatchError.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.errors.BatchError-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">reason</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchError.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BatchError.__init__-expanded"><a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">reason</tt> </tt>
-</div><a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"> </tt>
-<a name="BatchError.__repr__"></a><div id="BatchError.__repr__-def"><a name="L118"></a><tt class="py-lineno">118</tt> <a class="py-toggle" href="#" id="BatchError.__repr__-toggle" onclick="return toggle('BatchError.__repr__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.errors.BatchError-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchError.__repr__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BatchError.__repr__-expanded"><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;BatchError %s "%s"&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">  <tt class="py-name">__str__</tt> <tt class="py-op">=</tt> <tt id="link-10" class="py-name"><a title="apiclient.errors.BatchError.__repr__
-apiclient.errors.HttpError.__repr__" class="py-name" href="#" onclick="return doclink('link-10', '__repr__', 'link-8');">__repr__</a></tt> </tt>
-</div><a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"> </tt>
-<a name="UnexpectedMethodError"></a><div id="UnexpectedMethodError-def"><a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <a class="py-toggle" href="#" id="UnexpectedMethodError-toggle" onclick="return toggle('UnexpectedMethodError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.errors.UnexpectedMethodError-class.html">UnexpectedMethodError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UnexpectedMethodError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnexpectedMethodError-expanded"><a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">  <tt class="py-docstring">"""Exception raised by RequestMockBuilder on unexpected calls."""</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-11', 'positional', 'link-4');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="UnexpectedMethodError.__init__"></a><div id="UnexpectedMethodError.__init__-def"><a name="L128"></a><tt class="py-lineno">128</tt> <a class="py-toggle" href="#" id="UnexpectedMethodError.__init__-toggle" onclick="return toggle('UnexpectedMethodError.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.errors.UnexpectedMethodError-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">methodId</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UnexpectedMethodError.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="UnexpectedMethodError.__init__-expanded"><a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for an UnexpectedMethodError."""</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-12" class="py-name" targets="Class apiclient.errors.UnexpectedMethodError=apiclient.errors.UnexpectedMethodError-class.html"><a title="apiclient.errors.UnexpectedMethodError" class="py-name" href="#" onclick="return doclink('link-12', 'UnexpectedMethodError', 'link-12');">UnexpectedMethodError</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method apiclient.channel.Channel.__init__()=apiclient.channel.Channel-class.html#__init__,Method apiclient.channel.Notification.__init__()=apiclient.channel.Notification-class.html#__init__,Method apiclient.discovery.Resource.__init__()=apiclient.discovery.Resource-class.html#__init__,Method apiclient.discovery.ResourceMethodParameters.__init__()=apiclient.discovery.ResourceMethodParameters-class.html#__init__,Method apiclient.errors.BatchError.__init__()=apiclient.errors.BatchError-class.html#__init__,Method apiclient.errors.HttpError.__init__()=apiclient.errors.HttpError-class.html#__init__,Method apiclient.errors.UnexpectedBodyError.__init__()=apiclient.errors.UnexpectedBodyError-class.html#__init__,Method apiclient.errors.UnexpectedMethodError.__init__()=apiclient.errors.UnexpectedMethodError-class.html#__init__,Method apiclient.http.BatchHttpRequest.__init__()=apiclient.http.BatchHttpRequest-class.html#__init__,Method apiclient.http.HttpMock.__init__()=apiclient.http.HttpMock-class.html#__init__,Method apiclient.http.HttpMockSequence.__init__()=apiclient.http.HttpMockSequence-class.html#__init__,Method apiclient.http.HttpRequest.__init__()=apiclient.http.HttpRequest-class.html#__init__,Method apiclient.http.HttpRequestMock.__init__()=apiclient.http.HttpRequestMock-class.html#__init__,Method apiclient.http.MediaDownloadProgress.__init__()=apiclient.http.MediaDownloadProgress-class.html#__init__,Method apiclient.http.MediaFileUpload.__init__()=apiclient.http.MediaFileUpload-class.html#__init__,Method apiclient.http.MediaInMemoryUpload.__init__()=apiclient.http.MediaInMemoryUpload-class.html#__init__,Method apiclient.http.MediaIoBaseDownload.__init__()=apiclient.http.MediaIoBaseDownload-class.html#__init__,Method apiclient.http.MediaIoBaseUpload.__init__()=apiclient.http.MediaIoBaseUpload-class.html#__init__,Method apiclient.http.MediaUploadProgress.__init__()=apiclient.http.MediaUploadProgress-class.html#__init__,Method apiclient.http.RequestMockBuilder.__init__()=apiclient.http.RequestMockBuilder-class.html#__init__,Method apiclient.http._StreamSlice.__init__()=apiclient.http._StreamSlice-class.html#__init__,Method apiclient.model.JsonModel.__init__()=apiclient.model.JsonModel-class.html#__init__,Method apiclient.model.ProtocolBufferModel.__init__()=apiclient.model.ProtocolBufferModel-class.html#__init__,Method apiclient.schema.Schemas.__init__()=apiclient.schema.Schemas-class.html#__init__,Method apiclient.schema._SchemaToStruct.__init__()=apiclient.schema._SchemaToStruct-class.html#__init__,Method oauth2client.appengine.AppAssertionCredentials.__init__()=oauth2client.appengine.AppAssertionCredentials-class.html#__init__,Method oauth2client.appengine.OAuth2Decorator.__init__()=oauth2client.appengine.OAuth2Decorator-class.html#__init__,Method oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__()=oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html#__init__,Method oauth2client.appengine.StorageByKeyName.__init__()=oauth2client.appengine.StorageByKeyName-class.html#__init__,Method oauth2client.client.AccessTokenCredentials.__init__()=oauth2client.client.AccessTokenCredentials-class.html#__init__,Method oauth2client.client.AssertionCredentials.__init__()=oauth2client.client.AssertionCredentials-class.html#__init__,Method oauth2client.client.MemoryCache.__init__()=oauth2client.client.MemoryCache-class.html#__init__,Method oauth2client.client.OAuth2Credentials.__init__()=oauth2client.client.OAuth2Credentials-class.html#__init__,Method oauth2client.client.OAuth2WebServerFlow.__init__()=oauth2client.client.OAuth2WebServerFlow-class.html#__init__,Method oauth2client.client.SignedJwtAssertionCredentials.__init__()=oauth2client.client.SignedJwtAssertionCredentials-class.html#__init__,Method oauth2client.django_orm.CredentialsField.__init__()=oauth2client.django_orm.CredentialsField-class.html#__init__,Method oauth2client.django_orm.FlowField.__init__()=oauth2client.django_orm.FlowField-class.html#__init__,Method oauth2client.django_orm.Storage.__init__()=oauth2client.django_orm.Storage-class.html#__init__,Method oauth2client.file.Storage.__init__()=oauth2client.file.Storage-class.html#__init__,Method oauth2client.gce.AppAssertionCredentials.__init__()=oauth2client.gce.AppAssertionCredentials-class.html#__init__,Method oauth2client.keyring_storage.Storage.__init__()=oauth2client.keyring_storage.Storage-class.html#__init__,Method oauth2client.locked_file.LockedFile.__init__()=oauth2client.locked_file.LockedFile-class.html#__init__,Method oauth2client.locked_file._Opener.__init__()=oauth2client.locked_file._Opener-class.html#__init__,Method oauth2client.multistore_file._MultiStore._Storage.__init__()=oauth2client.multistore_file._MultiStore._Storage-class.html#__init__,Method oauth2client.multistore_file._MultiStore.__init__()=oauth2client.multistore_file._MultiStore-class.html#__init__"><a title="apiclient.channel.Channel.__init__
-apiclient.channel.Notification.__init__
-apiclient.discovery.Resource.__init__
-apiclient.discovery.ResourceMethodParameters.__init__
-apiclient.errors.BatchError.__init__
-apiclient.errors.HttpError.__init__
-apiclient.errors.UnexpectedBodyError.__init__
-apiclient.errors.UnexpectedMethodError.__init__
-apiclient.http.BatchHttpRequest.__init__
-apiclient.http.HttpMock.__init__
-apiclient.http.HttpMockSequence.__init__
-apiclient.http.HttpRequest.__init__
-apiclient.http.HttpRequestMock.__init__
-apiclient.http.MediaDownloadProgress.__init__
-apiclient.http.MediaFileUpload.__init__
-apiclient.http.MediaInMemoryUpload.__init__
-apiclient.http.MediaIoBaseDownload.__init__
-apiclient.http.MediaIoBaseUpload.__init__
-apiclient.http.MediaUploadProgress.__init__
-apiclient.http.RequestMockBuilder.__init__
-apiclient.http._StreamSlice.__init__
-apiclient.model.JsonModel.__init__
-apiclient.model.ProtocolBufferModel.__init__
-apiclient.schema.Schemas.__init__
-apiclient.schema._SchemaToStruct.__init__
-oauth2client.appengine.AppAssertionCredentials.__init__
-oauth2client.appengine.OAuth2Decorator.__init__
-oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__
-oauth2client.appengine.StorageByKeyName.__init__
-oauth2client.client.AccessTokenCredentials.__init__
-oauth2client.client.AssertionCredentials.__init__
-oauth2client.client.MemoryCache.__init__
-oauth2client.client.OAuth2Credentials.__init__
-oauth2client.client.OAuth2WebServerFlow.__init__
-oauth2client.client.SignedJwtAssertionCredentials.__init__
-oauth2client.django_orm.CredentialsField.__init__
-oauth2client.django_orm.FlowField.__init__
-oauth2client.django_orm.Storage.__init__
-oauth2client.file.Storage.__init__
-oauth2client.gce.AppAssertionCredentials.__init__
-oauth2client.keyring_storage.Storage.__init__
-oauth2client.locked_file.LockedFile.__init__
-oauth2client.locked_file._Opener.__init__
-oauth2client.multistore_file._MultiStore._Storage.__init__
-oauth2client.multistore_file._MultiStore.__init__" class="py-name" href="#" onclick="return doclink('link-13', '__init__', 'link-13');">__init__</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-string">'Received unexpected call %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">methodId</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"> </tt>
-<a name="UnexpectedBodyError"></a><div id="UnexpectedBodyError-def"><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <a class="py-toggle" href="#" id="UnexpectedBodyError-toggle" onclick="return toggle('UnexpectedBodyError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.errors.UnexpectedBodyError-class.html">UnexpectedBodyError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UnexpectedBodyError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnexpectedBodyError-expanded"><a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">  <tt class="py-docstring">"""Exception raised by RequestMockBuilder on unexpected bodies."""</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"> </tt>
-<a name="UnexpectedBodyError.__init__"></a><div id="UnexpectedBodyError.__init__-def"><a name="L137"></a><tt class="py-lineno">137</tt> <a class="py-toggle" href="#" id="UnexpectedBodyError.__init__-toggle" onclick="return toggle('UnexpectedBodyError.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.errors.UnexpectedBodyError-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">expected</tt><tt class="py-op">,</tt> <tt class="py-param">provided</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UnexpectedBodyError.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="UnexpectedBodyError.__init__-expanded"><a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for an UnexpectedMethodError."""</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-14" class="py-name" targets="Class apiclient.errors.UnexpectedBodyError=apiclient.errors.UnexpectedBodyError-class.html"><a title="apiclient.errors.UnexpectedBodyError" class="py-name" href="#" onclick="return doclink('link-14', 'UnexpectedBodyError', 'link-14');">UnexpectedBodyError</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="apiclient.channel.Channel.__init__
-apiclient.channel.Notification.__init__
-apiclient.discovery.Resource.__init__
-apiclient.discovery.ResourceMethodParameters.__init__
-apiclient.errors.BatchError.__init__
-apiclient.errors.HttpError.__init__
-apiclient.errors.UnexpectedBodyError.__init__
-apiclient.errors.UnexpectedMethodError.__init__
-apiclient.http.BatchHttpRequest.__init__
-apiclient.http.HttpMock.__init__
-apiclient.http.HttpMockSequence.__init__
-apiclient.http.HttpRequest.__init__
-apiclient.http.HttpRequestMock.__init__
-apiclient.http.MediaDownloadProgress.__init__
-apiclient.http.MediaFileUpload.__init__
-apiclient.http.MediaInMemoryUpload.__init__
-apiclient.http.MediaIoBaseDownload.__init__
-apiclient.http.MediaIoBaseUpload.__init__
-apiclient.http.MediaUploadProgress.__init__
-apiclient.http.RequestMockBuilder.__init__
-apiclient.http._StreamSlice.__init__
-apiclient.model.JsonModel.__init__
-apiclient.model.ProtocolBufferModel.__init__
-apiclient.schema.Schemas.__init__
-apiclient.schema._SchemaToStruct.__init__
-oauth2client.appengine.AppAssertionCredentials.__init__
-oauth2client.appengine.OAuth2Decorator.__init__
-oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__
-oauth2client.appengine.StorageByKeyName.__init__
-oauth2client.client.AccessTokenCredentials.__init__
-oauth2client.client.AssertionCredentials.__init__
-oauth2client.client.MemoryCache.__init__
-oauth2client.client.OAuth2Credentials.__init__
-oauth2client.client.OAuth2WebServerFlow.__init__
-oauth2client.client.SignedJwtAssertionCredentials.__init__
-oauth2client.django_orm.CredentialsField.__init__
-oauth2client.django_orm.FlowField.__init__
-oauth2client.django_orm.Storage.__init__
-oauth2client.file.Storage.__init__
-oauth2client.gce.AppAssertionCredentials.__init__
-oauth2client.keyring_storage.Storage.__init__
-oauth2client.locked_file.LockedFile.__init__
-oauth2client.locked_file._Opener.__init__
-oauth2client.multistore_file._MultiStore._Storage.__init__
-oauth2client.multistore_file._MultiStore.__init__" class="py-name" href="#" onclick="return doclink('link-15', '__init__', 'link-13');">__init__</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-string">'Expected: [%s] - Provided: [%s]'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">,</tt> <tt class="py-name">provided</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.errors.BatchError-class.html b/docs/epy/apiclient.errors.BatchError-class.html
deleted file mode 100644
index e376327..0000000
--- a/docs/epy/apiclient.errors.BatchError-class.html
+++ /dev/null
@@ -1,365 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.errors.BatchError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.errors-module.html">Module&nbsp;errors</a> ::
-        Class&nbsp;BatchError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.errors.BatchError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class BatchError</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.errors-pysrc.html#BatchError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_5" name="uml_class_diagram_for_apiclien_5">
-<area shape="rect" id="node4" href="apiclient.errors.BatchError-class.html#__init__" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="17,484,308,503"/>
-<area shape="rect" id="node4" href="apiclient.errors.BatchError-class.html#__repr__" title="str(x)" alt="" coords="17,503,308,521"/>
-<area shape="rect" id="node4" href="apiclient.errors.BatchError-class.html#__str__" title="str(x)" alt="" coords="17,521,308,540"/>
-<area shape="rect" id="node1" href="apiclient.errors.BatchError-class.html" title="Error occured during batch operations." alt="" coords="5,451,320,546"/>
-<area shape="rect" id="node2" href="apiclient.errors.HttpError-class.html" title="HTTP data was invalid or unexpected." alt="" coords="123,387,200,431"/>
-<area shape="rect" id="node3" href="apiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="135,323,188,367"/>
-<area shape="rect" id="node8" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="84,31,241,49"/>
-<area shape="rect" id="node8" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="84,49,241,68"/>
-<area shape="rect" id="node8" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="84,71,241,89"/>
-<area shape="rect" id="node8" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="84,89,241,108"/>
-<area shape="rect" id="node8" href="javascript:void(0);" title="x[y]" alt="" coords="84,108,241,127"/>
-<area shape="rect" id="node8" href="javascript:void(0);" title="x[i:j]" alt="" coords="84,127,241,145"/>
-<area shape="rect" id="node8" href="javascript:void(0);" title="helper for pickle" alt="" coords="84,145,241,164"/>
-<area shape="rect" id="node8" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="84,164,241,183"/>
-<area shape="rect" id="node8" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="84,183,241,201"/>
-<area shape="rect" id="node8" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="84,201,241,220"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="72,6,253,226"/>
-<area shape="rect" id="node7" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="99,279,225,297"/>
-<area shape="rect" id="node5" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="87,246,236,303"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_5.gif" alt='' usemap="#uml_class_diagram_for_apiclien_5" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Error occured during batch operations.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.errors.BatchError-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">reason</span>,
-        <span class="summary-sig-arg">resp</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">content</span>=<span class="summary-sig-default">None</span>)</span><br />
-      x.__init__(...) initializes x; see help(type(x)) for signature</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.errors-pysrc.html#BatchError.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.errors.BatchError-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      str(x)</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.errors-pysrc.html#BatchError.__repr__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.errors.BatchError-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      str(x)</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.errors-pysrc.html#BatchError.__repr__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.errors.HttpError-class.html">HttpError</a></code></b> (private):
-      <code><a href="apiclient.errors.HttpError-class.html#_get_reason" onclick="show_private();">_get_reason</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">reason</span>,
-        <span class="sig-arg">resp</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">content</span>=<span class="sig-default">None</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.errors-pysrc.html#BatchError.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-x.__init__(...) initializes x; see help(type(x)) for signature
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="__repr__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
-    <br /><em class="fname">(Representation operator)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.errors-pysrc.html#BatchError.__repr__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-str(x)
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__repr__
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="__str__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
-    <br /><em class="fname">(Informal representation operator)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.errors-pysrc.html#BatchError.__repr__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-str(x)
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__str__
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.errors.Error-class.html b/docs/epy/apiclient.errors.Error-class.html
deleted file mode 100644
index d00a39f..0000000
--- a/docs/epy/apiclient.errors.Error-class.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.errors.Error</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.errors-module.html">Module&nbsp;errors</a> ::
-        Class&nbsp;Error
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.errors.Error-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Error</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.errors-pysrc.html#Error">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_6" name="uml_class_diagram_for_apiclien_6">
-<area shape="rect" id="node1" href="apiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
-<area shape="rect" id="node10" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node10" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-<area shape="rect" id="node11" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node11" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node11" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node11" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node11" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node11" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node11" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node11" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node11" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node11" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node11" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node11" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_6.gif" alt='' usemap="#uml_class_diagram_for_apiclien_6" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Base error for this module.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.errors.HttpError-class.html b/docs/epy/apiclient.errors.HttpError-class.html
deleted file mode 100644
index e72b3bd..0000000
--- a/docs/epy/apiclient.errors.HttpError-class.html
+++ /dev/null
@@ -1,378 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.errors.HttpError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.errors-module.html">Module&nbsp;errors</a> ::
-        Class&nbsp;HttpError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.errors.HttpError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class HttpError</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.errors-pysrc.html#HttpError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_7" name="uml_class_diagram_for_apiclien_7">
-<area shape="rect" id="node12" href="apiclient.errors.HttpError-class.html#__init__" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="17,420,244,439"/>
-<area shape="rect" id="node12" href="apiclient.errors.HttpError-class.html#__repr__" title="str(x)" alt="" coords="17,439,244,457"/>
-<area shape="rect" id="node12" href="apiclient.errors.HttpError-class.html#__str__" title="str(x)" alt="" coords="17,457,244,476"/>
-<area shape="rect" id="node1" href="apiclient.errors.HttpError-class.html" title="HTTP data was invalid or unexpected." alt="" coords="5,387,256,482"/>
-<area shape="rect" id="node2" href="apiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="103,323,156,367"/>
-<area shape="rect" id="node15" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="52,31,209,49"/>
-<area shape="rect" id="node15" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="52,49,209,68"/>
-<area shape="rect" id="node15" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="52,71,209,89"/>
-<area shape="rect" id="node15" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="52,89,209,108"/>
-<area shape="rect" id="node15" href="javascript:void(0);" title="x[y]" alt="" coords="52,108,209,127"/>
-<area shape="rect" id="node15" href="javascript:void(0);" title="x[i:j]" alt="" coords="52,127,209,145"/>
-<area shape="rect" id="node15" href="javascript:void(0);" title="helper for pickle" alt="" coords="52,145,209,164"/>
-<area shape="rect" id="node15" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="52,164,209,183"/>
-<area shape="rect" id="node15" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="52,183,209,201"/>
-<area shape="rect" id="node15" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="52,201,209,220"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="40,6,221,226"/>
-<area shape="rect" id="node14" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="67,279,193,297"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="55,246,204,303"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_7.gif" alt='' usemap="#uml_class_diagram_for_apiclien_7" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-HTTP data was invalid or unexpected.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.errors.HttpError-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">resp</span>,
-        <span class="summary-sig-arg">content</span>,
-        <span class="summary-sig-arg">uri</span>=<span class="summary-sig-default">None</span>)</span><br />
-      x.__init__(...) initializes x; see help(type(x)) for signature</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.errors-pysrc.html#HttpError.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_get_reason"></a><span class="summary-sig-name">_get_reason</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Calculate the reason for the error from the response content.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.errors-pysrc.html#HttpError._get_reason">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.errors.HttpError-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      str(x)</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.errors-pysrc.html#HttpError.__repr__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.errors.HttpError-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      str(x)</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.errors-pysrc.html#HttpError.__repr__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">resp</span>,
-        <span class="sig-arg">content</span>,
-        <span class="sig-arg">uri</span>=<span class="sig-default">None</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.errors-pysrc.html#HttpError.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-x.__init__(...) initializes x; see help(type(x)) for signature
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(3)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="__repr__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
-    <br /><em class="fname">(Representation operator)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.errors-pysrc.html#HttpError.__repr__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-str(x)
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__repr__
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="__str__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
-    <br /><em class="fname">(Informal representation operator)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.errors-pysrc.html#HttpError.__repr__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-str(x)
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__str__
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.errors.InvalidChunkSizeError-class.html b/docs/epy/apiclient.errors.InvalidChunkSizeError-class.html
deleted file mode 100644
index ef05226..0000000
--- a/docs/epy/apiclient.errors.InvalidChunkSizeError-class.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.errors.InvalidChunkSizeError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.errors-module.html">Module&nbsp;errors</a> ::
-        Class&nbsp;InvalidChunkSizeError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.errors.InvalidChunkSizeError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class InvalidChunkSizeError</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.errors-pysrc.html#InvalidChunkSizeError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_8" name="uml_class_diagram_for_apiclien_8">
-<area shape="rect" id="node1" href="apiclient.errors.InvalidChunkSizeError-class.html" title="The given chunksize is not valid." alt="" coords="17,443,172,487"/>
-<area shape="rect" id="node2" href="apiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
-<area shape="rect" id="node19" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node19" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node19" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node19" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node19" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node19" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node19" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node19" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node19" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node19" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node19" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node19" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-<area shape="rect" id="node18" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node18" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_8.gif" alt='' usemap="#uml_class_diagram_for_apiclien_8" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-The given chunksize is not valid.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.errors.InvalidJsonError-class.html b/docs/epy/apiclient.errors.InvalidJsonError-class.html
deleted file mode 100644
index 3f3e3a0..0000000
--- a/docs/epy/apiclient.errors.InvalidJsonError-class.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.errors.InvalidJsonError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.errors-module.html">Module&nbsp;errors</a> ::
-        Class&nbsp;InvalidJsonError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.errors.InvalidJsonError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class InvalidJsonError</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.errors-pysrc.html#InvalidJsonError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_9" name="uml_class_diagram_for_apiclien_9">
-<area shape="rect" id="node1" href="apiclient.errors.InvalidJsonError-class.html" title="The JSON returned could not be parsed." alt="" coords="36,443,156,487"/>
-<area shape="rect" id="node2" href="apiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
-<area shape="rect" id="node23" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node23" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node23" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node23" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node23" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node23" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node23" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node23" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node23" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node23" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node23" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node23" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-<area shape="rect" id="node22" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node22" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_9.gif" alt='' usemap="#uml_class_diagram_for_apiclien_9" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-The JSON returned could not be parsed.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.errors.InvalidNotificationError-class.html b/docs/epy/apiclient.errors.InvalidNotificationError-class.html
deleted file mode 100644
index ba84c89..0000000
--- a/docs/epy/apiclient.errors.InvalidNotificationError-class.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.errors.InvalidNotificationError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.errors-module.html">Module&nbsp;errors</a> ::
-        Class&nbsp;InvalidNotificationError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.errors.InvalidNotificationError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class InvalidNotificationError</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.errors-pysrc.html#InvalidNotificationError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_10" name="uml_class_diagram_for_apiclien_10">
-<area shape="rect" id="node1" href="apiclient.errors.InvalidNotificationError-class.html" title="The channel Notification is invalid." alt="" coords="16,443,173,487"/>
-<area shape="rect" id="node2" href="apiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
-<area shape="rect" id="node27" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node27" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node27" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node27" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node27" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node27" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node27" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node27" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node27" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node27" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node27" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node27" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-<area shape="rect" id="node26" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node26" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_10.gif" alt='' usemap="#uml_class_diagram_for_apiclien_10" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-The channel Notification is invalid.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.errors.MediaUploadSizeError-class.html b/docs/epy/apiclient.errors.MediaUploadSizeError-class.html
deleted file mode 100644
index 7f5c4f8..0000000
--- a/docs/epy/apiclient.errors.MediaUploadSizeError-class.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.errors.MediaUploadSizeError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.errors-module.html">Module&nbsp;errors</a> ::
-        Class&nbsp;MediaUploadSizeError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.errors.MediaUploadSizeError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class MediaUploadSizeError</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.errors-pysrc.html#MediaUploadSizeError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_11" name="uml_class_diagram_for_apiclien_11">
-<area shape="rect" id="node1" href="apiclient.errors.MediaUploadSizeError-class.html" title="Media is larger than the method can accept." alt="" coords="17,443,172,487"/>
-<area shape="rect" id="node2" href="apiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
-<area shape="rect" id="node31" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node31" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node31" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node31" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node31" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node31" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node31" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node31" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node31" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node31" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node31" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node31" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-<area shape="rect" id="node30" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node30" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_11.gif" alt='' usemap="#uml_class_diagram_for_apiclien_11" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Media is larger than the method can accept.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.errors.ResumableUploadError-class.html b/docs/epy/apiclient.errors.ResumableUploadError-class.html
deleted file mode 100644
index f698213..0000000
--- a/docs/epy/apiclient.errors.ResumableUploadError-class.html
+++ /dev/null
@@ -1,209 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.errors.ResumableUploadError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.errors-module.html">Module&nbsp;errors</a> ::
-        Class&nbsp;ResumableUploadError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.errors.ResumableUploadError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class ResumableUploadError</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.errors-pysrc.html#ResumableUploadError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_12" name="uml_class_diagram_for_apiclien_12">
-<area shape="rect" id="node1" href="apiclient.errors.ResumableUploadError-class.html" title="Error occured during resumable upload." alt="" coords="49,502,209,546"/>
-<area shape="rect" id="node33" href="apiclient.errors.HttpError-class.html#__init__" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="17,420,244,439"/>
-<area shape="rect" id="node33" href="apiclient.errors.HttpError-class.html#__repr__" title="str(x)" alt="" coords="17,439,244,457"/>
-<area shape="rect" id="node33" href="apiclient.errors.HttpError-class.html#__str__" title="str(x)" alt="" coords="17,457,244,476"/>
-<area shape="rect" id="node2" href="apiclient.errors.HttpError-class.html" title="HTTP data was invalid or unexpected." alt="" coords="5,387,256,482"/>
-<area shape="rect" id="node3" href="apiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="103,323,156,367"/>
-<area shape="rect" id="node36" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="52,31,209,49"/>
-<area shape="rect" id="node36" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="52,49,209,68"/>
-<area shape="rect" id="node36" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="52,71,209,89"/>
-<area shape="rect" id="node36" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="52,89,209,108"/>
-<area shape="rect" id="node36" href="javascript:void(0);" title="x[y]" alt="" coords="52,108,209,127"/>
-<area shape="rect" id="node36" href="javascript:void(0);" title="x[i:j]" alt="" coords="52,127,209,145"/>
-<area shape="rect" id="node36" href="javascript:void(0);" title="helper for pickle" alt="" coords="52,145,209,164"/>
-<area shape="rect" id="node36" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="52,164,209,183"/>
-<area shape="rect" id="node36" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="52,183,209,201"/>
-<area shape="rect" id="node36" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="52,201,209,220"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="40,6,221,226"/>
-<area shape="rect" id="node35" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="67,279,193,297"/>
-<area shape="rect" id="node5" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="55,246,204,303"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_12.gif" alt='' usemap="#uml_class_diagram_for_apiclien_12" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Error occured during resumable upload.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.errors.HttpError-class.html">HttpError</a></code></b>:
-      <code><a href="apiclient.errors.HttpError-class.html#__init__">__init__</a></code>,
-      <code><a href="apiclient.errors.HttpError-class.html#__repr__">__repr__</a></code>,
-      <code><a href="apiclient.errors.HttpError-class.html#__str__">__str__</a></code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.errors.HttpError-class.html">HttpError</a></code></b> (private):
-      <code><a href="apiclient.errors.HttpError-class.html#_get_reason" onclick="show_private();">_get_reason</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.errors.UnacceptableMimeTypeError-class.html b/docs/epy/apiclient.errors.UnacceptableMimeTypeError-class.html
deleted file mode 100644
index 6b6bbf8..0000000
--- a/docs/epy/apiclient.errors.UnacceptableMimeTypeError-class.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.errors.UnacceptableMimeTypeError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.errors-module.html">Module&nbsp;errors</a> ::
-        Class&nbsp;UnacceptableMimeTypeError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.errors.UnacceptableMimeTypeError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class UnacceptableMimeTypeError</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.errors-pysrc.html#UnacceptableMimeTypeError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_13" name="uml_class_diagram_for_apiclien_13">
-<area shape="rect" id="node1" href="apiclient.errors.UnacceptableMimeTypeError-class.html" title="That is an unacceptable mimetype for this operation." alt="" coords="5,443,200,487"/>
-<area shape="rect" id="node2" href="apiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="75,379,128,423"/>
-<area shape="rect" id="node40" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="24,31,181,49"/>
-<area shape="rect" id="node40" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="24,49,181,68"/>
-<area shape="rect" id="node40" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="24,71,181,89"/>
-<area shape="rect" id="node40" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="24,89,181,108"/>
-<area shape="rect" id="node40" href="javascript:void(0);" title="x[y]" alt="" coords="24,108,181,127"/>
-<area shape="rect" id="node40" href="javascript:void(0);" title="x[i:j]" alt="" coords="24,127,181,145"/>
-<area shape="rect" id="node40" href="javascript:void(0);" title="helper for pickle" alt="" coords="24,145,181,164"/>
-<area shape="rect" id="node40" href="javascript:void(0);" title="repr(x)" alt="" coords="24,164,181,183"/>
-<area shape="rect" id="node40" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="24,183,181,201"/>
-<area shape="rect" id="node40" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="24,201,181,220"/>
-<area shape="rect" id="node40" href="javascript:void(0);" title="str(x)" alt="" coords="24,220,181,239"/>
-<area shape="rect" id="node40" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="24,239,181,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="12,6,193,263"/>
-<area shape="rect" id="node39" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="39,316,165,335"/>
-<area shape="rect" id="node39" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="39,335,165,353"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="27,283,176,359"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_13.gif" alt='' usemap="#uml_class_diagram_for_apiclien_13" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-That is an unacceptable mimetype for this operation.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.errors.UnexpectedBodyError-class.html b/docs/epy/apiclient.errors.UnexpectedBodyError-class.html
deleted file mode 100644
index b8b15af..0000000
--- a/docs/epy/apiclient.errors.UnexpectedBodyError-class.html
+++ /dev/null
@@ -1,268 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.errors.UnexpectedBodyError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.errors-module.html">Module&nbsp;errors</a> ::
-        Class&nbsp;UnexpectedBodyError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.errors.UnexpectedBodyError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class UnexpectedBodyError</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.errors-pysrc.html#UnexpectedBodyError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_14" name="uml_class_diagram_for_apiclien_14">
-<area shape="rect" id="node41" href="apiclient.errors.UnexpectedBodyError-class.html#__init__" title="Constructor for an UnexpectedMethodError." alt="" coords="17,457,217,476"/>
-<area shape="rect" id="node1" href="apiclient.errors.UnexpectedBodyError-class.html" title="Exception raised by RequestMockBuilder on unexpected bodies." alt="" coords="5,425,229,482"/>
-<area shape="rect" id="node2" href="apiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="89,361,143,405"/>
-<area shape="rect" id="node44" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="39,31,196,49"/>
-<area shape="rect" id="node44" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="39,49,196,68"/>
-<area shape="rect" id="node44" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="39,71,196,89"/>
-<area shape="rect" id="node44" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="39,89,196,108"/>
-<area shape="rect" id="node44" href="javascript:void(0);" title="x[y]" alt="" coords="39,108,196,127"/>
-<area shape="rect" id="node44" href="javascript:void(0);" title="x[i:j]" alt="" coords="39,127,196,145"/>
-<area shape="rect" id="node44" href="javascript:void(0);" title="helper for pickle" alt="" coords="39,145,196,164"/>
-<area shape="rect" id="node44" href="javascript:void(0);" title="repr(x)" alt="" coords="39,164,196,183"/>
-<area shape="rect" id="node44" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="39,183,196,201"/>
-<area shape="rect" id="node44" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="39,201,196,220"/>
-<area shape="rect" id="node44" href="javascript:void(0);" title="str(x)" alt="" coords="39,220,196,239"/>
-<area shape="rect" id="node44" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="39,239,196,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="27,6,208,263"/>
-<area shape="rect" id="node43" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="53,316,180,335"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="41,283,191,341"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_14.gif" alt='' usemap="#uml_class_diagram_for_apiclien_14" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Exception raised by RequestMockBuilder on unexpected bodies.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.errors.UnexpectedBodyError-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">expected</span>,
-        <span class="summary-sig-arg">provided</span>)</span><br />
-      Constructor for an UnexpectedMethodError.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.errors-pysrc.html#UnexpectedBodyError.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">expected</span>,
-        <span class="sig-arg">provided</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.errors-pysrc.html#UnexpectedBodyError.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor for an UnexpectedMethodError.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.errors.UnexpectedMethodError-class.html b/docs/epy/apiclient.errors.UnexpectedMethodError-class.html
deleted file mode 100644
index 34763a3..0000000
--- a/docs/epy/apiclient.errors.UnexpectedMethodError-class.html
+++ /dev/null
@@ -1,270 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.errors.UnexpectedMethodError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.errors-module.html">Module&nbsp;errors</a> ::
-        Class&nbsp;UnexpectedMethodError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.errors.UnexpectedMethodError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class UnexpectedMethodError</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.errors-pysrc.html#UnexpectedMethodError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_15" name="uml_class_diagram_for_apiclien_15">
-<area shape="rect" id="node45" href="apiclient.errors.UnexpectedMethodError-class.html#__init__" title="Constructor for an UnexpectedMethodError." alt="" coords="17,457,200,476"/>
-<area shape="rect" id="node1" href="apiclient.errors.UnexpectedMethodError-class.html" title="Exception raised by RequestMockBuilder on unexpected calls." alt="" coords="5,425,211,482"/>
-<area shape="rect" id="node2" href="apiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="81,361,135,405"/>
-<area shape="rect" id="node48" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="31,31,188,49"/>
-<area shape="rect" id="node48" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="31,49,188,68"/>
-<area shape="rect" id="node48" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="31,71,188,89"/>
-<area shape="rect" id="node48" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="31,89,188,108"/>
-<area shape="rect" id="node48" href="javascript:void(0);" title="x[y]" alt="" coords="31,108,188,127"/>
-<area shape="rect" id="node48" href="javascript:void(0);" title="x[i:j]" alt="" coords="31,127,188,145"/>
-<area shape="rect" id="node48" href="javascript:void(0);" title="helper for pickle" alt="" coords="31,145,188,164"/>
-<area shape="rect" id="node48" href="javascript:void(0);" title="repr(x)" alt="" coords="31,164,188,183"/>
-<area shape="rect" id="node48" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="31,183,188,201"/>
-<area shape="rect" id="node48" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="31,201,188,220"/>
-<area shape="rect" id="node48" href="javascript:void(0);" title="str(x)" alt="" coords="31,220,188,239"/>
-<area shape="rect" id="node48" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="31,239,188,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="19,6,200,263"/>
-<area shape="rect" id="node47" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="45,316,172,335"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="33,283,183,341"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_15.gif" alt='' usemap="#uml_class_diagram_for_apiclien_15" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Exception raised by RequestMockBuilder on unexpected calls.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.errors.UnexpectedMethodError-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">methodId</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Constructor for an UnexpectedMethodError.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.errors-pysrc.html#UnexpectedMethodError.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">methodId</span>=<span class="sig-default">None</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.errors-pysrc.html#UnexpectedMethodError.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor for an UnexpectedMethodError.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(1)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.errors.UnknownApiNameOrVersion-class.html b/docs/epy/apiclient.errors.UnknownApiNameOrVersion-class.html
deleted file mode 100644
index e96c887..0000000
--- a/docs/epy/apiclient.errors.UnknownApiNameOrVersion-class.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.errors.UnknownApiNameOrVersion</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.errors-module.html">Module&nbsp;errors</a> ::
-        Class&nbsp;UnknownApiNameOrVersion
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.errors.UnknownApiNameOrVersion-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class UnknownApiNameOrVersion</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.errors-pysrc.html#UnknownApiNameOrVersion">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_16" name="uml_class_diagram_for_apiclien_16">
-<area shape="rect" id="node1" href="apiclient.errors.UnknownApiNameOrVersion-class.html" title="No API with that name and version exists." alt="" coords="5,443,197,487"/>
-<area shape="rect" id="node2" href="apiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="75,379,128,423"/>
-<area shape="rect" id="node52" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="24,31,181,49"/>
-<area shape="rect" id="node52" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="24,49,181,68"/>
-<area shape="rect" id="node52" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="24,71,181,89"/>
-<area shape="rect" id="node52" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="24,89,181,108"/>
-<area shape="rect" id="node52" href="javascript:void(0);" title="x[y]" alt="" coords="24,108,181,127"/>
-<area shape="rect" id="node52" href="javascript:void(0);" title="x[i:j]" alt="" coords="24,127,181,145"/>
-<area shape="rect" id="node52" href="javascript:void(0);" title="helper for pickle" alt="" coords="24,145,181,164"/>
-<area shape="rect" id="node52" href="javascript:void(0);" title="repr(x)" alt="" coords="24,164,181,183"/>
-<area shape="rect" id="node52" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="24,183,181,201"/>
-<area shape="rect" id="node52" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="24,201,181,220"/>
-<area shape="rect" id="node52" href="javascript:void(0);" title="str(x)" alt="" coords="24,220,181,239"/>
-<area shape="rect" id="node52" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="24,239,181,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="12,6,193,263"/>
-<area shape="rect" id="node51" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="39,316,165,335"/>
-<area shape="rect" id="node51" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="39,335,165,353"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="27,283,176,359"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_16.gif" alt='' usemap="#uml_class_diagram_for_apiclien_16" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-No API with that name and version exists.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.errors.UnknownFileType-class.html b/docs/epy/apiclient.errors.UnknownFileType-class.html
deleted file mode 100644
index ee20e94..0000000
--- a/docs/epy/apiclient.errors.UnknownFileType-class.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.errors.UnknownFileType</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.errors-module.html">Module&nbsp;errors</a> ::
-        Class&nbsp;UnknownFileType
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.errors.UnknownFileType-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class UnknownFileType</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.errors-pysrc.html#UnknownFileType">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_17" name="uml_class_diagram_for_apiclien_17">
-<area shape="rect" id="node1" href="apiclient.errors.UnknownFileType-class.html" title="File type unknown or unexpected." alt="" coords="31,443,161,487"/>
-<area shape="rect" id="node2" href="apiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
-<area shape="rect" id="node56" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node56" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node56" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node56" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node56" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node56" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node56" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node56" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node56" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node56" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node56" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node56" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-<area shape="rect" id="node55" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node55" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_17.gif" alt='' usemap="#uml_class_diagram_for_apiclien_17" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-File type unknown or unexpected.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.errors.UnknownLinkType-class.html b/docs/epy/apiclient.errors.UnknownLinkType-class.html
deleted file mode 100644
index 6ccfc53..0000000
--- a/docs/epy/apiclient.errors.UnknownLinkType-class.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.errors.UnknownLinkType</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.errors-module.html">Module&nbsp;errors</a> ::
-        Class&nbsp;UnknownLinkType
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.errors.UnknownLinkType-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class UnknownLinkType</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.errors-pysrc.html#UnknownLinkType">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_18" name="uml_class_diagram_for_apiclien_18">
-<area shape="rect" id="node1" href="apiclient.errors.UnknownLinkType-class.html" title="Link type unknown or unexpected." alt="" coords="28,443,161,487"/>
-<area shape="rect" id="node2" href="apiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
-<area shape="rect" id="node60" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node60" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node60" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node60" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node60" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node60" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node60" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node60" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node60" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node60" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node60" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node60" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-<area shape="rect" id="node59" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node59" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_18.gif" alt='' usemap="#uml_class_diagram_for_apiclien_18" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Link type unknown or unexpected.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.ext-module.html b/docs/epy/apiclient.ext-module.html
deleted file mode 100644
index 4fcfd39..0000000
--- a/docs/epy/apiclient.ext-module.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.ext</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Package&nbsp;ext
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.ext-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package ext</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.ext-pysrc.html">source&nbsp;code</a></span></p>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu Mar  7 10:31:23 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.ext-pysrc.html b/docs/epy/apiclient.ext-pysrc.html
deleted file mode 100644
index 7570ee0..0000000
--- a/docs/epy/apiclient.ext-pysrc.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.ext</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Package&nbsp;ext
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.ext-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="apiclient.ext-module.html">Package apiclient.ext</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
-<a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu Mar  7 10:31:26 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.http-module.html b/docs/epy/apiclient.http-module.html
deleted file mode 100644
index afce32a..0000000
--- a/docs/epy/apiclient.http-module.html
+++ /dev/null
@@ -1,421 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.http</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Module&nbsp;http
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.http-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module http</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-Classes to encapsulate a single HTTP request.
-
-The classes implement a command pattern, with every
-object supporting an execute() method that does the
-actuall HTTP request.
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        jcgregorio@google.com (Joe Gregorio)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.http.MediaUploadProgress-class.html" class="summary-name">MediaUploadProgress</a><br />
-      Status of a resumable upload.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.http.MediaDownloadProgress-class.html" class="summary-name">MediaDownloadProgress</a><br />
-      Status of a resumable download.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.http.MediaUpload-class.html" class="summary-name">MediaUpload</a><br />
-      Describes a media object to upload.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.http.MediaIoBaseUpload-class.html" class="summary-name">MediaIoBaseUpload</a><br />
-      A MediaUpload for a io.Base objects.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.http.MediaFileUpload-class.html" class="summary-name">MediaFileUpload</a><br />
-      A MediaUpload for a file.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.http.MediaInMemoryUpload-class.html" class="summary-name">MediaInMemoryUpload</a><br />
-      MediaUpload for a chunk of bytes.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.http.MediaIoBaseDownload-class.html" class="summary-name">MediaIoBaseDownload</a><br />
-      &quot;Download media resources.
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.http._StreamSlice-class.html" class="summary-name" onclick="show_private();">_StreamSlice</a><br />
-      Truncated stream.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.http.HttpRequest-class.html" class="summary-name">HttpRequest</a><br />
-      Encapsulates a single HTTP request.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.http.BatchHttpRequest-class.html" class="summary-name">BatchHttpRequest</a><br />
-      Batches multiple HttpRequest objects into a single HTTP request.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.http.HttpRequestMock-class.html" class="summary-name">HttpRequestMock</a><br />
-      Mock of HttpRequest.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.http.RequestMockBuilder-class.html" class="summary-name">RequestMockBuilder</a><br />
-      A simple mock of HttpRequest
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.http.HttpMock-class.html" class="summary-name">HttpMock</a><br />
-      Mock of httplib2.Http
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.http.HttpMockSequence-class.html" class="summary-name">HttpMockSequence</a><br />
-      Mock of httplib2.Http
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http-module.html#set_user_agent" class="summary-sig-name">set_user_agent</a>(<span class="summary-sig-arg">http</span>,
-        <span class="summary-sig-arg">user_agent</span>)</span><br />
-      Set the user-agent on every request.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#set_user_agent">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http-module.html#tunnel_patch" class="summary-sig-name">tunnel_patch</a>(<span class="summary-sig-arg">http</span>)</span><br />
-      Tunnel PATCH requests over POST.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#tunnel_patch">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="DEFAULT_CHUNK_SIZE"></a><span class="summary-name">DEFAULT_CHUNK_SIZE</span> = <code title="512* 1024">512* 1024</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="MAX_URI_LENGTH"></a><span class="summary-name">MAX_URI_LENGTH</span> = <code title="2048">2048</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="set_user_agent"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">set_user_agent</span>(<span class="sig-arg">http</span>,
-        <span class="sig-arg">user_agent</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#set_user_agent">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Set the user-agent on every request.
-
-Args:
-   http - An instance of httplib2.Http
-       or something that acts like it.
-   user_agent: string, the value for the user-agent header.
-
-Returns:
-   A modified instance of http that was passed in.
-
-Example:
-
-  h = httplib2.Http()
-  h = set_user_agent(h, &quot;my-app-name/6.0&quot;)
-
-Most of the time the user-agent will be set doing auth, this is for the rare
-cases where you are accessing an unauthenticated endpoint.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="tunnel_patch"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">tunnel_patch</span>(<span class="sig-arg">http</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#tunnel_patch">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Tunnel PATCH requests over POST.
-Args:
-   http - An instance of httplib2.Http
-       or something that acts like it.
-
-Returns:
-   A modified instance of http that was passed in.
-
-Example:
-
-  h = httplib2.Http()
-  h = tunnel_patch(h, &quot;my-app-name/6.0&quot;)
-
-Useful if you are running on a platform that doesn't support PATCH.
-Apply this last if you are using OAuth 1.0, as changing the method
-will result in a different signature.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.http-pysrc.html b/docs/epy/apiclient.http-pysrc.html
deleted file mode 100644
index 53529da..0000000
--- a/docs/epy/apiclient.http-pysrc.html
+++ /dev/null
@@ -1,2154 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.http</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Module&nbsp;http
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.http-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="apiclient.http-module.html">Module apiclient.http</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">   1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2012 Google Inc.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">   2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">   3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">   4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">   5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">   6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">   7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">   8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">   9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">  10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">  11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">  12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">  14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno">  15</tt>  <tt class="py-line"><tt class="py-docstring">"""Classes to encapsulate a single HTTP request.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">  16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"><tt class="py-docstring">The classes implement a command pattern, with every</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-docstring">object supporting an execute() method that does the</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">  19</tt>  <tt class="py-line"><tt class="py-docstring">actuall HTTP request.</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">  20</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">  21</tt>  <tt class="py-line"> </tt>
-<a name="L22"></a><tt class="py-lineno">  22</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
-<a name="L23"></a><tt class="py-lineno">  23</tt>  <tt class="py-line"> </tt>
-<a name="L24"></a><tt class="py-lineno">  24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">StringIO</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">  25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">base64</tt> </tt>
-<a name="L26"></a><tt class="py-lineno">  26</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">  27</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">gzip</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">  28</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">httplib2</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">  29</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">  30</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Module apiclient.mimeparse=apiclient.mimeparse-module.html"><a title="apiclient.mimeparse" class="py-name" href="#" onclick="return doclink('link-0', 'mimeparse', 'link-0');">mimeparse</a></tt> </tt>
-<a name="L31"></a><tt class="py-lineno">  31</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">mimetypes</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">  32</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L33"></a><tt class="py-lineno">  33</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">random</tt> </tt>
-<a name="L34"></a><tt class="py-lineno">  34</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L35"></a><tt class="py-lineno">  35</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L36"></a><tt class="py-lineno">  36</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib</tt> </tt>
-<a name="L37"></a><tt class="py-lineno">  37</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urlparse</tt> </tt>
-<a name="L38"></a><tt class="py-lineno">  38</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">uuid</tt> </tt>
-<a name="L39"></a><tt class="py-lineno">  39</tt>  <tt class="py-line"> </tt>
-<a name="L40"></a><tt class="py-lineno">  40</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">email</tt><tt class="py-op">.</tt><tt class="py-name">generator</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Generator</tt> </tt>
-<a name="L41"></a><tt class="py-lineno">  41</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">email</tt><tt class="py-op">.</tt><tt class="py-name">mime</tt><tt class="py-op">.</tt><tt class="py-name">multipart</tt> <tt class="py-keyword">import</tt> <tt class="py-name">MIMEMultipart</tt> </tt>
-<a name="L42"></a><tt class="py-lineno">  42</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">email</tt><tt class="py-op">.</tt><tt class="py-name">mime</tt><tt class="py-op">.</tt><tt class="py-name">nonmultipart</tt> <tt class="py-keyword">import</tt> <tt class="py-name">MIMENonMultipart</tt> </tt>
-<a name="L43"></a><tt class="py-lineno">  43</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">email</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt> <tt class="py-keyword">import</tt> <tt class="py-name">FeedParser</tt> </tt>
-<a name="L44"></a><tt class="py-lineno">  44</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module apiclient.errors=apiclient.errors-module.html"><a title="apiclient.errors" class="py-name" href="#" onclick="return doclink('link-1', 'errors', 'link-1');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Class apiclient.errors.BatchError=apiclient.errors.BatchError-class.html"><a title="apiclient.errors.BatchError" class="py-name" href="#" onclick="return doclink('link-2', 'BatchError', 'link-2');">BatchError</a></tt> </tt>
-<a name="L45"></a><tt class="py-lineno">  45</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="apiclient.errors" class="py-name" href="#" onclick="return doclink('link-3', 'errors', 'link-1');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class apiclient.errors.HttpError=apiclient.errors.HttpError-class.html"><a title="apiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-4', 'HttpError', 'link-4');">HttpError</a></tt> </tt>
-<a name="L46"></a><tt class="py-lineno">  46</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name"><a title="apiclient.errors" class="py-name" href="#" onclick="return doclink('link-5', 'errors', 'link-1');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class apiclient.errors.InvalidChunkSizeError=apiclient.errors.InvalidChunkSizeError-class.html"><a title="apiclient.errors.InvalidChunkSizeError" class="py-name" href="#" onclick="return doclink('link-6', 'InvalidChunkSizeError', 'link-6');">InvalidChunkSizeError</a></tt> </tt>
-<a name="L47"></a><tt class="py-lineno">  47</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="apiclient.errors" class="py-name" href="#" onclick="return doclink('link-7', 'errors', 'link-1');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-8" class="py-name" targets="Class apiclient.errors.ResumableUploadError=apiclient.errors.ResumableUploadError-class.html"><a title="apiclient.errors.ResumableUploadError" class="py-name" href="#" onclick="return doclink('link-8', 'ResumableUploadError', 'link-8');">ResumableUploadError</a></tt> </tt>
-<a name="L48"></a><tt class="py-lineno">  48</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-9" class="py-name"><a title="apiclient.errors" class="py-name" href="#" onclick="return doclink('link-9', 'errors', 'link-1');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-10" class="py-name" targets="Class apiclient.errors.UnexpectedBodyError=apiclient.errors.UnexpectedBodyError-class.html"><a title="apiclient.errors.UnexpectedBodyError" class="py-name" href="#" onclick="return doclink('link-10', 'UnexpectedBodyError', 'link-10');">UnexpectedBodyError</a></tt> </tt>
-<a name="L49"></a><tt class="py-lineno">  49</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-11" class="py-name"><a title="apiclient.errors" class="py-name" href="#" onclick="return doclink('link-11', 'errors', 'link-1');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-12" class="py-name" targets="Class apiclient.errors.UnexpectedMethodError=apiclient.errors.UnexpectedMethodError-class.html"><a title="apiclient.errors.UnexpectedMethodError" class="py-name" href="#" onclick="return doclink('link-12', 'UnexpectedMethodError', 'link-12');">UnexpectedMethodError</a></tt> </tt>
-<a name="L50"></a><tt class="py-lineno">  50</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-13" class="py-name" targets="Module apiclient.model=apiclient.model-module.html"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-13', 'model', 'link-13');">model</a></tt> <tt class="py-keyword">import</tt> <tt id="link-14" class="py-name" targets="Class apiclient.model.JsonModel=apiclient.model.JsonModel-class.html"><a title="apiclient.model.JsonModel" class="py-name" href="#" onclick="return doclink('link-14', 'JsonModel', 'link-14');">JsonModel</a></tt> </tt>
-<a name="L51"></a><tt class="py-lineno">  51</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-15" class="py-name" targets="Package oauth2client=oauth2client-module.html"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-15', 'oauth2client', 'link-15');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-16" class="py-name" targets="Module oauth2client.util=oauth2client.util-module.html"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-16', 'util', 'link-16');">util</a></tt> </tt>
-<a name="L52"></a><tt class="py-lineno">  52</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-17" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-17', 'oauth2client', 'link-15');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Module oauth2client.anyjson=oauth2client.anyjson-module.html"><a title="oauth2client.anyjson" class="py-name" href="#" onclick="return doclink('link-18', 'anyjson', 'link-18');">anyjson</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
-<a name="L53"></a><tt class="py-lineno">  53</tt>  <tt class="py-line"> </tt>
-<a name="L54"></a><tt class="py-lineno">  54</tt>  <tt class="py-line"> </tt>
-<a name="L55"></a><tt class="py-lineno">  55</tt>  <tt class="py-line"><tt id="link-19" class="py-name" targets="Variable apiclient.http.DEFAULT_CHUNK_SIZE=apiclient.http-module.html#DEFAULT_CHUNK_SIZE"><a title="apiclient.http.DEFAULT_CHUNK_SIZE" class="py-name" href="#" onclick="return doclink('link-19', 'DEFAULT_CHUNK_SIZE', 'link-19');">DEFAULT_CHUNK_SIZE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">512</tt><tt class="py-op">*</tt><tt class="py-number">1024</tt> </tt>
-<a name="L56"></a><tt class="py-lineno">  56</tt>  <tt class="py-line"> </tt>
-<a name="L57"></a><tt class="py-lineno">  57</tt>  <tt class="py-line"><tt id="link-20" class="py-name" targets="Variable apiclient.http.MAX_URI_LENGTH=apiclient.http-module.html#MAX_URI_LENGTH"><a title="apiclient.http.MAX_URI_LENGTH" class="py-name" href="#" onclick="return doclink('link-20', 'MAX_URI_LENGTH', 'link-20');">MAX_URI_LENGTH</a></tt> <tt class="py-op">=</tt> <tt class="py-number">2048</tt> </tt>
-<a name="MediaUploadProgress"></a><div id="MediaUploadProgress-def"><a name="L58"></a><tt class="py-lineno">  58</tt>  <tt class="py-line"> </tt>
-<a name="L59"></a><tt class="py-lineno">  59</tt>  <tt class="py-line"> </tt>
-<a name="L60"></a><tt class="py-lineno">  60</tt> <a class="py-toggle" href="#" id="MediaUploadProgress-toggle" onclick="return toggle('MediaUploadProgress');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.http.MediaUploadProgress-class.html">MediaUploadProgress</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaUploadProgress-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="MediaUploadProgress-expanded"><a name="L61"></a><tt class="py-lineno">  61</tt>  <tt class="py-line">  <tt class="py-docstring">"""Status of a resumable upload."""</tt> </tt>
-<a name="L62"></a><tt class="py-lineno">  62</tt>  <tt class="py-line"> </tt>
-<a name="MediaUploadProgress.__init__"></a><div id="MediaUploadProgress.__init__-def"><a name="L63"></a><tt class="py-lineno">  63</tt> <a class="py-toggle" href="#" id="MediaUploadProgress.__init__-toggle" onclick="return toggle('MediaUploadProgress.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaUploadProgress-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resumable_progress</tt><tt class="py-op">,</tt> <tt class="py-param">total_size</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaUploadProgress.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUploadProgress.__init__-expanded"><a name="L64"></a><tt class="py-lineno">  64</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
-<a name="L65"></a><tt class="py-lineno">  65</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L66"></a><tt class="py-lineno">  66</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L67"></a><tt class="py-lineno">  67</tt>  <tt class="py-line"><tt class="py-docstring">      resumable_progress: int, bytes sent so far.</tt> </tt>
-<a name="L68"></a><tt class="py-lineno">  68</tt>  <tt class="py-line"><tt class="py-docstring">      total_size: int, total bytes in complete upload, or None if the total</tt> </tt>
-<a name="L69"></a><tt class="py-lineno">  69</tt>  <tt class="py-line"><tt class="py-docstring">        upload size isn't known ahead of time.</tt> </tt>
-<a name="L70"></a><tt class="py-lineno">  70</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L71"></a><tt class="py-lineno">  71</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">=</tt> <tt class="py-name">resumable_progress</tt> </tt>
-<a name="L72"></a><tt class="py-lineno">  72</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">total_size</tt> <tt class="py-op">=</tt> <tt class="py-name">total_size</tt> </tt>
-</div><a name="L73"></a><tt class="py-lineno">  73</tt>  <tt class="py-line"> </tt>
-<a name="MediaUploadProgress.progress"></a><div id="MediaUploadProgress.progress-def"><a name="L74"></a><tt class="py-lineno">  74</tt> <a class="py-toggle" href="#" id="MediaUploadProgress.progress-toggle" onclick="return toggle('MediaUploadProgress.progress');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaUploadProgress-class.html#progress">progress</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaUploadProgress.progress-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUploadProgress.progress-expanded"><a name="L75"></a><tt class="py-lineno">  75</tt>  <tt class="py-line">    <tt class="py-docstring">"""Percent of upload completed, as a float.</tt> </tt>
-<a name="L76"></a><tt class="py-lineno">  76</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L78"></a><tt class="py-lineno">  78</tt>  <tt class="py-line"><tt class="py-docstring">      the percentage complete as a float, returning 0.0 if the total size of</tt> </tt>
-<a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line"><tt class="py-docstring">      the upload is unknown.</tt> </tt>
-<a name="L80"></a><tt class="py-lineno">  80</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L81"></a><tt class="py-lineno">  81</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">total_size</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L82"></a><tt class="py-lineno">  82</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">)</tt> <tt class="py-op">/</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">total_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L83"></a><tt class="py-lineno">  83</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L84"></a><tt class="py-lineno">  84</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-number">0.0</tt> </tt>
-</div></div><a name="L85"></a><tt class="py-lineno">  85</tt>  <tt class="py-line"> </tt>
-<a name="MediaDownloadProgress"></a><div id="MediaDownloadProgress-def"><a name="L86"></a><tt class="py-lineno">  86</tt>  <tt class="py-line"> </tt>
-<a name="L87"></a><tt class="py-lineno">  87</tt> <a class="py-toggle" href="#" id="MediaDownloadProgress-toggle" onclick="return toggle('MediaDownloadProgress');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.http.MediaDownloadProgress-class.html">MediaDownloadProgress</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaDownloadProgress-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="MediaDownloadProgress-expanded"><a name="L88"></a><tt class="py-lineno">  88</tt>  <tt class="py-line">  <tt class="py-docstring">"""Status of a resumable download."""</tt> </tt>
-<a name="L89"></a><tt class="py-lineno">  89</tt>  <tt class="py-line"> </tt>
-<a name="MediaDownloadProgress.__init__"></a><div id="MediaDownloadProgress.__init__-def"><a name="L90"></a><tt class="py-lineno">  90</tt> <a class="py-toggle" href="#" id="MediaDownloadProgress.__init__-toggle" onclick="return toggle('MediaDownloadProgress.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaDownloadProgress-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resumable_progress</tt><tt class="py-op">,</tt> <tt class="py-param">total_size</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaDownloadProgress.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaDownloadProgress.__init__-expanded"><a name="L91"></a><tt class="py-lineno">  91</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
-<a name="L92"></a><tt class="py-lineno">  92</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L93"></a><tt class="py-lineno">  93</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L94"></a><tt class="py-lineno">  94</tt>  <tt class="py-line"><tt class="py-docstring">      resumable_progress: int, bytes received so far.</tt> </tt>
-<a name="L95"></a><tt class="py-lineno">  95</tt>  <tt class="py-line"><tt class="py-docstring">      total_size: int, total bytes in complete download.</tt> </tt>
-<a name="L96"></a><tt class="py-lineno">  96</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L97"></a><tt class="py-lineno">  97</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">=</tt> <tt class="py-name">resumable_progress</tt> </tt>
-<a name="L98"></a><tt class="py-lineno">  98</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">total_size</tt> <tt class="py-op">=</tt> <tt class="py-name">total_size</tt> </tt>
-</div><a name="L99"></a><tt class="py-lineno">  99</tt>  <tt class="py-line"> </tt>
-<a name="MediaDownloadProgress.progress"></a><div id="MediaDownloadProgress.progress-def"><a name="L100"></a><tt class="py-lineno"> 100</tt> <a class="py-toggle" href="#" id="MediaDownloadProgress.progress-toggle" onclick="return toggle('MediaDownloadProgress.progress');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaDownloadProgress-class.html#progress">progress</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaDownloadProgress.progress-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaDownloadProgress.progress-expanded"><a name="L101"></a><tt class="py-lineno"> 101</tt>  <tt class="py-line">    <tt class="py-docstring">"""Percent of download completed, as a float.</tt> </tt>
-<a name="L102"></a><tt class="py-lineno"> 102</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L103"></a><tt class="py-lineno"> 103</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L104"></a><tt class="py-lineno"> 104</tt>  <tt class="py-line"><tt class="py-docstring">      the percentage complete as a float, returning 0.0 if the total size of</tt> </tt>
-<a name="L105"></a><tt class="py-lineno"> 105</tt>  <tt class="py-line"><tt class="py-docstring">      the download is unknown.</tt> </tt>
-<a name="L106"></a><tt class="py-lineno"> 106</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L107"></a><tt class="py-lineno"> 107</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">total_size</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L108"></a><tt class="py-lineno"> 108</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">)</tt> <tt class="py-op">/</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">total_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L109"></a><tt class="py-lineno"> 109</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno"> 110</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-number">0.0</tt> </tt>
-</div></div><a name="L111"></a><tt class="py-lineno"> 111</tt>  <tt class="py-line"> </tt>
-<a name="MediaUpload"></a><div id="MediaUpload-def"><a name="L112"></a><tt class="py-lineno"> 112</tt>  <tt class="py-line"> </tt>
-<a name="L113"></a><tt class="py-lineno"> 113</tt> <a class="py-toggle" href="#" id="MediaUpload-toggle" onclick="return toggle('MediaUpload');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.http.MediaUpload-class.html">MediaUpload</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaUpload-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="MediaUpload-expanded"><a name="L114"></a><tt class="py-lineno"> 114</tt>  <tt class="py-line">  <tt class="py-docstring">"""Describes a media object to upload.</tt> </tt>
-<a name="L115"></a><tt class="py-lineno"> 115</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L116"></a><tt class="py-lineno"> 116</tt>  <tt class="py-line"><tt class="py-docstring">  Base class that defines the interface of MediaUpload subclasses.</tt> </tt>
-<a name="L117"></a><tt class="py-lineno"> 117</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L118"></a><tt class="py-lineno"> 118</tt>  <tt class="py-line"><tt class="py-docstring">  Note that subclasses of MediaUpload may allow you to control the chunksize</tt> </tt>
-<a name="L119"></a><tt class="py-lineno"> 119</tt>  <tt class="py-line"><tt class="py-docstring">  when uploading a media object. It is important to keep the size of the chunk</tt> </tt>
-<a name="L120"></a><tt class="py-lineno"> 120</tt>  <tt class="py-line"><tt class="py-docstring">  as large as possible to keep the upload efficient. Other factors may influence</tt> </tt>
-<a name="L121"></a><tt class="py-lineno"> 121</tt>  <tt class="py-line"><tt class="py-docstring">  the size of the chunk you use, particularly if you are working in an</tt> </tt>
-<a name="L122"></a><tt class="py-lineno"> 122</tt>  <tt class="py-line"><tt class="py-docstring">  environment where individual HTTP requests may have a hardcoded time limit,</tt> </tt>
-<a name="L123"></a><tt class="py-lineno"> 123</tt>  <tt class="py-line"><tt class="py-docstring">  such as under certain classes of requests under Google App Engine.</tt> </tt>
-<a name="L124"></a><tt class="py-lineno"> 124</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L125"></a><tt class="py-lineno"> 125</tt>  <tt class="py-line"><tt class="py-docstring">  Streams are io.Base compatible objects that support seek(). Some MediaUpload</tt> </tt>
-<a name="L126"></a><tt class="py-lineno"> 126</tt>  <tt class="py-line"><tt class="py-docstring">  subclasses support using streams directly to upload data. Support for</tt> </tt>
-<a name="L127"></a><tt class="py-lineno"> 127</tt>  <tt class="py-line"><tt class="py-docstring">  streaming may be indicated by a MediaUpload sub-class and if appropriate for a</tt> </tt>
-<a name="L128"></a><tt class="py-lineno"> 128</tt>  <tt class="py-line"><tt class="py-docstring">  platform that stream will be used for uploading the media object. The support</tt> </tt>
-<a name="L129"></a><tt class="py-lineno"> 129</tt>  <tt class="py-line"><tt class="py-docstring">  for streaming is indicated by has_stream() returning True. The stream() method</tt> </tt>
-<a name="L130"></a><tt class="py-lineno"> 130</tt>  <tt class="py-line"><tt class="py-docstring">  should return an io.Base object that supports seek(). On platforms where the</tt> </tt>
-<a name="L131"></a><tt class="py-lineno"> 131</tt>  <tt class="py-line"><tt class="py-docstring">  underlying httplib module supports streaming, for example Python 2.6 and</tt> </tt>
-<a name="L132"></a><tt class="py-lineno"> 132</tt>  <tt class="py-line"><tt class="py-docstring">  later, the stream will be passed into the http library which will result in</tt> </tt>
-<a name="L133"></a><tt class="py-lineno"> 133</tt>  <tt class="py-line"><tt class="py-docstring">  less memory being used and possibly faster uploads.</tt> </tt>
-<a name="L134"></a><tt class="py-lineno"> 134</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L135"></a><tt class="py-lineno"> 135</tt>  <tt class="py-line"><tt class="py-docstring">  If you need to upload media that can't be uploaded using any of the existing</tt> </tt>
-<a name="L136"></a><tt class="py-lineno"> 136</tt>  <tt class="py-line"><tt class="py-docstring">  MediaUpload sub-class then you can sub-class MediaUpload for your particular</tt> </tt>
-<a name="L137"></a><tt class="py-lineno"> 137</tt>  <tt class="py-line"><tt class="py-docstring">  needs.</tt> </tt>
-<a name="L138"></a><tt class="py-lineno"> 138</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L139"></a><tt class="py-lineno"> 139</tt>  <tt class="py-line"> </tt>
-<a name="MediaUpload.chunksize"></a><div id="MediaUpload.chunksize-def"><a name="L140"></a><tt class="py-lineno"> 140</tt> <a class="py-toggle" href="#" id="MediaUpload.chunksize-toggle" onclick="return toggle('MediaUpload.chunksize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaUpload-class.html#chunksize">chunksize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaUpload.chunksize-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload.chunksize-expanded"><a name="L141"></a><tt class="py-lineno"> 141</tt>  <tt class="py-line">    <tt class="py-docstring">"""Chunk size for resumable uploads.</tt> </tt>
-<a name="L142"></a><tt class="py-lineno"> 142</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L143"></a><tt class="py-lineno"> 143</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L144"></a><tt class="py-lineno"> 144</tt>  <tt class="py-line"><tt class="py-docstring">      Chunk size in bytes.</tt> </tt>
-<a name="L145"></a><tt class="py-lineno"> 145</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L146"></a><tt class="py-lineno"> 146</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L147"></a><tt class="py-lineno"> 147</tt>  <tt class="py-line"> </tt>
-<a name="MediaUpload.mimetype"></a><div id="MediaUpload.mimetype-def"><a name="L148"></a><tt class="py-lineno"> 148</tt> <a class="py-toggle" href="#" id="MediaUpload.mimetype-toggle" onclick="return toggle('MediaUpload.mimetype');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaUpload-class.html#mimetype">mimetype</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaUpload.mimetype-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload.mimetype-expanded"><a name="L149"></a><tt class="py-lineno"> 149</tt>  <tt class="py-line">    <tt class="py-docstring">"""Mime type of the body.</tt> </tt>
-<a name="L150"></a><tt class="py-lineno"> 150</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L151"></a><tt class="py-lineno"> 151</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L152"></a><tt class="py-lineno"> 152</tt>  <tt class="py-line"><tt class="py-docstring">      Mime type.</tt> </tt>
-<a name="L153"></a><tt class="py-lineno"> 153</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L154"></a><tt class="py-lineno"> 154</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">'application/octet-stream'</tt> </tt>
-</div><a name="L155"></a><tt class="py-lineno"> 155</tt>  <tt class="py-line"> </tt>
-<a name="MediaUpload.size"></a><div id="MediaUpload.size-def"><a name="L156"></a><tt class="py-lineno"> 156</tt> <a class="py-toggle" href="#" id="MediaUpload.size-toggle" onclick="return toggle('MediaUpload.size');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaUpload-class.html#size">size</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaUpload.size-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload.size-expanded"><a name="L157"></a><tt class="py-lineno"> 157</tt>  <tt class="py-line">    <tt class="py-docstring">"""Size of upload.</tt> </tt>
-<a name="L158"></a><tt class="py-lineno"> 158</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L159"></a><tt class="py-lineno"> 159</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L160"></a><tt class="py-lineno"> 160</tt>  <tt class="py-line"><tt class="py-docstring">      Size of the body, or None of the size is unknown.</tt> </tt>
-<a name="L161"></a><tt class="py-lineno"> 161</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L162"></a><tt class="py-lineno"> 162</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L163"></a><tt class="py-lineno"> 163</tt>  <tt class="py-line"> </tt>
-<a name="MediaUpload.resumable"></a><div id="MediaUpload.resumable-def"><a name="L164"></a><tt class="py-lineno"> 164</tt> <a class="py-toggle" href="#" id="MediaUpload.resumable-toggle" onclick="return toggle('MediaUpload.resumable');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaUpload-class.html#resumable">resumable</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaUpload.resumable-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload.resumable-expanded"><a name="L165"></a><tt class="py-lineno"> 165</tt>  <tt class="py-line">    <tt class="py-docstring">"""Whether this upload is resumable.</tt> </tt>
-<a name="L166"></a><tt class="py-lineno"> 166</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L167"></a><tt class="py-lineno"> 167</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L168"></a><tt class="py-lineno"> 168</tt>  <tt class="py-line"><tt class="py-docstring">      True if resumable upload or False.</tt> </tt>
-<a name="L169"></a><tt class="py-lineno"> 169</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L170"></a><tt class="py-lineno"> 170</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L171"></a><tt class="py-lineno"> 171</tt>  <tt class="py-line"> </tt>
-<a name="MediaUpload.getbytes"></a><div id="MediaUpload.getbytes-def"><a name="L172"></a><tt class="py-lineno"> 172</tt> <a class="py-toggle" href="#" id="MediaUpload.getbytes-toggle" onclick="return toggle('MediaUpload.getbytes');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaUpload-class.html#getbytes">getbytes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">begin</tt><tt class="py-op">,</tt> <tt class="py-param">end</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaUpload.getbytes-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload.getbytes-expanded"><a name="L173"></a><tt class="py-lineno"> 173</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get bytes from the media.</tt> </tt>
-<a name="L174"></a><tt class="py-lineno"> 174</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L175"></a><tt class="py-lineno"> 175</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L176"></a><tt class="py-lineno"> 176</tt>  <tt class="py-line"><tt class="py-docstring">      begin: int, offset from beginning of file.</tt> </tt>
-<a name="L177"></a><tt class="py-lineno"> 177</tt>  <tt class="py-line"><tt class="py-docstring">      length: int, number of bytes to read, starting at begin.</tt> </tt>
-<a name="L178"></a><tt class="py-lineno"> 178</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L179"></a><tt class="py-lineno"> 179</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L180"></a><tt class="py-lineno"> 180</tt>  <tt class="py-line"><tt class="py-docstring">      A string of bytes read. May be shorter than length if EOF was reached</tt> </tt>
-<a name="L181"></a><tt class="py-lineno"> 181</tt>  <tt class="py-line"><tt class="py-docstring">      first.</tt> </tt>
-<a name="L182"></a><tt class="py-lineno"> 182</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L183"></a><tt class="py-lineno"> 183</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L184"></a><tt class="py-lineno"> 184</tt>  <tt class="py-line"> </tt>
-<a name="MediaUpload.has_stream"></a><div id="MediaUpload.has_stream-def"><a name="L185"></a><tt class="py-lineno"> 185</tt> <a class="py-toggle" href="#" id="MediaUpload.has_stream-toggle" onclick="return toggle('MediaUpload.has_stream');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaUpload-class.html#has_stream">has_stream</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaUpload.has_stream-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload.has_stream-expanded"><a name="L186"></a><tt class="py-lineno"> 186</tt>  <tt class="py-line">    <tt class="py-docstring">"""Does the underlying upload support a streaming interface.</tt> </tt>
-<a name="L187"></a><tt class="py-lineno"> 187</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L188"></a><tt class="py-lineno"> 188</tt>  <tt class="py-line"><tt class="py-docstring">    Streaming means it is an io.IOBase subclass that supports seek, i.e.</tt> </tt>
-<a name="L189"></a><tt class="py-lineno"> 189</tt>  <tt class="py-line"><tt class="py-docstring">    seekable() returns True.</tt> </tt>
-<a name="L190"></a><tt class="py-lineno"> 190</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L191"></a><tt class="py-lineno"> 191</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L192"></a><tt class="py-lineno"> 192</tt>  <tt class="py-line"><tt class="py-docstring">      True if the call to stream() will return an instance of a seekable io.Base</tt> </tt>
-<a name="L193"></a><tt class="py-lineno"> 193</tt>  <tt class="py-line"><tt class="py-docstring">      subclass.</tt> </tt>
-<a name="L194"></a><tt class="py-lineno"> 194</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L195"></a><tt class="py-lineno"> 195</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L196"></a><tt class="py-lineno"> 196</tt>  <tt class="py-line"> </tt>
-<a name="MediaUpload.stream"></a><div id="MediaUpload.stream-def"><a name="L197"></a><tt class="py-lineno"> 197</tt> <a class="py-toggle" href="#" id="MediaUpload.stream-toggle" onclick="return toggle('MediaUpload.stream');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaUpload-class.html#stream">stream</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaUpload.stream-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload.stream-expanded"><a name="L198"></a><tt class="py-lineno"> 198</tt>  <tt class="py-line">    <tt class="py-docstring">"""A stream interface to the data being uploaded.</tt> </tt>
-<a name="L199"></a><tt class="py-lineno"> 199</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L200"></a><tt class="py-lineno"> 200</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L201"></a><tt class="py-lineno"> 201</tt>  <tt class="py-line"><tt class="py-docstring">      The returned value is an io.IOBase subclass that supports seek, i.e.</tt> </tt>
-<a name="L202"></a><tt class="py-lineno"> 202</tt>  <tt class="py-line"><tt class="py-docstring">      seekable() returns True.</tt> </tt>
-<a name="L203"></a><tt class="py-lineno"> 203</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L204"></a><tt class="py-lineno"> 204</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L205"></a><tt class="py-lineno"> 205</tt>  <tt class="py-line"> </tt>
-<a name="L206"></a><tt class="py-lineno"> 206</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Function oauth2client.util.positional()=oauth2client.util-module.html#positional"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-21', 'positional', 'link-21');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="MediaUpload._to_json"></a><div id="MediaUpload._to_json-def"><a name="L207"></a><tt class="py-lineno"> 207</tt> <a class="py-toggle" href="#" id="MediaUpload._to_json-toggle" onclick="return toggle('MediaUpload._to_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaUpload-class.html#_to_json">_to_json</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">strip</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaUpload._to_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload._to_json-expanded"><a name="L208"></a><tt class="py-lineno"> 208</tt>  <tt class="py-line">    <tt class="py-docstring">"""Utility function for creating a JSON representation of a MediaUpload.</tt> </tt>
-<a name="L209"></a><tt class="py-lineno"> 209</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L210"></a><tt class="py-lineno"> 210</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L211"></a><tt class="py-lineno"> 211</tt>  <tt class="py-line"><tt class="py-docstring">      strip: array, An array of names of members to not include in the JSON.</tt> </tt>
-<a name="L212"></a><tt class="py-lineno"> 212</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L213"></a><tt class="py-lineno"> 213</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L214"></a><tt class="py-lineno"> 214</tt>  <tt class="py-line"><tt class="py-docstring">       string, a JSON representation of this instance, suitable to pass to</tt> </tt>
-<a name="L215"></a><tt class="py-lineno"> 215</tt>  <tt class="py-line"><tt class="py-docstring">       from_json().</tt> </tt>
-<a name="L216"></a><tt class="py-lineno"> 216</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L217"></a><tt class="py-lineno"> 217</tt>  <tt class="py-line">    <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L218"></a><tt class="py-lineno"> 218</tt>  <tt class="py-line">    <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">)</tt> </tt>
-<a name="L219"></a><tt class="py-lineno"> 219</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">strip</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L220"></a><tt class="py-lineno"> 220</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">member</tt> <tt class="py-keyword">in</tt> <tt class="py-name">strip</tt><tt class="py-op">:</tt> </tt>
-<a name="L221"></a><tt class="py-lineno"> 221</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-name">member</tt><tt class="py-op">]</tt> </tt>
-<a name="L222"></a><tt class="py-lineno"> 222</tt>  <tt class="py-line">    <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_class'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt> </tt>
-<a name="L223"></a><tt class="py-lineno"> 223</tt>  <tt class="py-line">    <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_module'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">__module__</tt> </tt>
-<a name="L224"></a><tt class="py-lineno"> 224</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L225"></a><tt class="py-lineno"> 225</tt>  <tt class="py-line"> </tt>
-<a name="MediaUpload.to_json"></a><div id="MediaUpload.to_json-def"><a name="L226"></a><tt class="py-lineno"> 226</tt> <a class="py-toggle" href="#" id="MediaUpload.to_json-toggle" onclick="return toggle('MediaUpload.to_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaUpload-class.html#to_json">to_json</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaUpload.to_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload.to_json-expanded"><a name="L227"></a><tt class="py-lineno"> 227</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create a JSON representation of an instance of MediaUpload.</tt> </tt>
-<a name="L228"></a><tt class="py-lineno"> 228</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L229"></a><tt class="py-lineno"> 229</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L230"></a><tt class="py-lineno"> 230</tt>  <tt class="py-line"><tt class="py-docstring">       string, a JSON representation of this instance, suitable to pass to</tt> </tt>
-<a name="L231"></a><tt class="py-lineno"> 231</tt>  <tt class="py-line"><tt class="py-docstring">       from_json().</tt> </tt>
-<a name="L232"></a><tt class="py-lineno"> 232</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L233"></a><tt class="py-lineno"> 233</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method apiclient.http.MediaUpload._to_json()=apiclient.http.MediaUpload-class.html#_to_json,Method oauth2client.client.Credentials._to_json()=oauth2client.client.Credentials-class.html#_to_json"><a title="apiclient.http.MediaUpload._to_json
-oauth2client.client.Credentials._to_json" class="py-name" href="#" onclick="return doclink('link-22', '_to_json', 'link-22');">_to_json</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L234"></a><tt class="py-lineno"> 234</tt>  <tt class="py-line"> </tt>
-<a name="L235"></a><tt class="py-lineno"> 235</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">classmethod</tt> </tt>
-<a name="MediaUpload.new_from_json"></a><div id="MediaUpload.new_from_json-def"><a name="L236"></a><tt class="py-lineno"> 236</tt> <a class="py-toggle" href="#" id="MediaUpload.new_from_json-toggle" onclick="return toggle('MediaUpload.new_from_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaUpload-class.html#new_from_json">new_from_json</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaUpload.new_from_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload.new_from_json-expanded"><a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line">    <tt class="py-docstring">"""Utility class method to instantiate a MediaUpload subclass from a JSON</tt> </tt>
-<a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line"><tt class="py-docstring">    representation produced by to_json().</tt> </tt>
-<a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line"><tt class="py-docstring">      s: string, JSON from to_json().</tt> </tt>
-<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L244"></a><tt class="py-lineno"> 244</tt>  <tt class="py-line"><tt class="py-docstring">      An instance of the subclass of MediaUpload that was serialized with</tt> </tt>
-<a name="L245"></a><tt class="py-lineno"> 245</tt>  <tt class="py-line"><tt class="py-docstring">      to_json().</tt> </tt>
-<a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L247"></a><tt class="py-lineno"> 247</tt>  <tt class="py-line">    <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Function oauth2client.clientsecrets.loads()=oauth2client.clientsecrets-module.html#loads"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-23', 'loads', 'link-23');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line">    <tt class="py-comment"># Find and call the right classmethod from_json() to restore the object.</tt> </tt>
-<a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line">    <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'_module'</tt><tt class="py-op">]</tt> </tt>
-<a name="L250"></a><tt class="py-lineno"> 250</tt>  <tt class="py-line">    <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">fromlist</tt><tt class="py-op">=</tt><tt class="py-name">module</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L251"></a><tt class="py-lineno"> 251</tt>  <tt class="py-line">    <tt class="py-name">kls</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">,</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'_class'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">    <tt id="link-24" class="py-name" targets="Static Method apiclient.http.HttpRequest.from_json()=apiclient.http.HttpRequest-class.html#from_json,Static Method apiclient.http.MediaFileUpload.from_json()=apiclient.http.MediaFileUpload-class.html#from_json,Class Method oauth2client.appengine.AppAssertionCredentials.from_json()=oauth2client.appengine.AppAssertionCredentials-class.html#from_json,Class Method oauth2client.client.AccessTokenCredentials.from_json()=oauth2client.client.AccessTokenCredentials-class.html#from_json,Class Method oauth2client.client.Credentials.from_json()=oauth2client.client.Credentials-class.html#from_json,Class Method oauth2client.client.OAuth2Credentials.from_json()=oauth2client.client.OAuth2Credentials-class.html#from_json,Class Method oauth2client.client.SignedJwtAssertionCredentials.from_json()=oauth2client.client.SignedJwtAssertionCredentials-class.html#from_json,Class Method oauth2client.gce.AppAssertionCredentials.from_json()=oauth2client.gce.AppAssertionCredentials-class.html#from_json"><a title="apiclient.http.HttpRequest.from_json
-apiclient.http.MediaFileUpload.from_json
-oauth2client.appengine.AppAssertionCredentials.from_json
-oauth2client.client.AccessTokenCredentials.from_json
-oauth2client.client.Credentials.from_json
-oauth2client.client.OAuth2Credentials.from_json
-oauth2client.client.SignedJwtAssertionCredentials.from_json
-oauth2client.gce.AppAssertionCredentials.from_json" class="py-name" href="#" onclick="return doclink('link-24', 'from_json', 'link-24');">from_json</a></tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">kls</tt><tt class="py-op">,</tt> <tt class="py-string">'from_json'</tt><tt class="py-op">)</tt> </tt>
-<a name="L253"></a><tt class="py-lineno"> 253</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-25" class="py-name"><a title="apiclient.http.HttpRequest.from_json
-apiclient.http.MediaFileUpload.from_json
-oauth2client.appengine.AppAssertionCredentials.from_json
-oauth2client.client.AccessTokenCredentials.from_json
-oauth2client.client.Credentials.from_json
-oauth2client.client.OAuth2Credentials.from_json
-oauth2client.client.SignedJwtAssertionCredentials.from_json
-oauth2client.gce.AppAssertionCredentials.from_json" class="py-name" href="#" onclick="return doclink('link-25', 'from_json', 'link-24');">from_json</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line"> </tt>
-<a name="MediaIoBaseUpload"></a><div id="MediaIoBaseUpload-def"><a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line"> </tt>
-<a name="L256"></a><tt class="py-lineno"> 256</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload-toggle" onclick="return toggle('MediaIoBaseUpload');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a><tt class="py-op">(</tt><tt class="py-base-class">MediaUpload</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaIoBaseUpload-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="MediaIoBaseUpload-expanded"><a name="L257"></a><tt class="py-lineno"> 257</tt>  <tt class="py-line">  <tt class="py-docstring">"""A MediaUpload for a io.Base objects.</tt> </tt>
-<a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L259"></a><tt class="py-lineno"> 259</tt>  <tt class="py-line"><tt class="py-docstring">  Note that the Python file object is compatible with io.Base and can be used</tt> </tt>
-<a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line"><tt class="py-docstring">  with this class also.</tt> </tt>
-<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line"><tt class="py-docstring">    fh = io.BytesIO('...Some data to upload...')</tt> </tt>
-<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line"><tt class="py-docstring">    media = MediaIoBaseUpload(fh, mimetype='image/png',</tt> </tt>
-<a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line"><tt class="py-docstring">      chunksize=1024*1024, resumable=True)</tt> </tt>
-<a name="L265"></a><tt class="py-lineno"> 265</tt>  <tt class="py-line"><tt class="py-docstring">    farm.animals().insert(</tt> </tt>
-<a name="L266"></a><tt class="py-lineno"> 266</tt>  <tt class="py-line"><tt class="py-docstring">        id='cow',</tt> </tt>
-<a name="L267"></a><tt class="py-lineno"> 267</tt>  <tt class="py-line"><tt class="py-docstring">        name='cow.png',</tt> </tt>
-<a name="L268"></a><tt class="py-lineno"> 268</tt>  <tt class="py-line"><tt class="py-docstring">        media_body=media).execute()</tt> </tt>
-<a name="L269"></a><tt class="py-lineno"> 269</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L270"></a><tt class="py-lineno"> 270</tt>  <tt class="py-line"><tt class="py-docstring">  Depending on the platform you are working on, you may pass -1 as the</tt> </tt>
-<a name="L271"></a><tt class="py-lineno"> 271</tt>  <tt class="py-line"><tt class="py-docstring">  chunksize, which indicates that the entire file should be uploaded in a single</tt> </tt>
-<a name="L272"></a><tt class="py-lineno"> 272</tt>  <tt class="py-line"><tt class="py-docstring">  request. If the underlying platform supports streams, such as Python 2.6 or</tt> </tt>
-<a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line"><tt class="py-docstring">  later, then this can be very efficient as it avoids multiple connections, and</tt> </tt>
-<a name="L274"></a><tt class="py-lineno"> 274</tt>  <tt class="py-line"><tt class="py-docstring">  also avoids loading the entire file into memory before sending it. Note that</tt> </tt>
-<a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line"><tt class="py-docstring">  Google App Engine has a 5MB limit on request size, so you should never set</tt> </tt>
-<a name="L276"></a><tt class="py-lineno"> 276</tt>  <tt class="py-line"><tt class="py-docstring">  your chunksize larger than 5MB, or to -1.</tt> </tt>
-<a name="L277"></a><tt class="py-lineno"> 277</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line"> </tt>
-<a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-26', 'positional', 'link-21');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
-<a name="MediaIoBaseUpload.__init__"></a><div id="MediaIoBaseUpload.__init__-def"><a name="L280"></a><tt class="py-lineno"> 280</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload.__init__-toggle" onclick="return toggle('MediaIoBaseUpload.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaIoBaseUpload-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fd</tt><tt class="py-op">,</tt> <tt class="py-param">mimetype</tt><tt class="py-op">,</tt> <tt class="py-param">chunksize</tt><tt class="py-op">=</tt><tt id="link-27" class="py-name"><a title="apiclient.http.DEFAULT_CHUNK_SIZE" class="py-name" href="#" onclick="return doclink('link-27', 'DEFAULT_CHUNK_SIZE', 'link-19');">DEFAULT_CHUNK_SIZE</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line">      <tt class="py-param">resumable</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaIoBaseUpload.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseUpload.__init__-expanded"><a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
-<a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L284"></a><tt class="py-lineno"> 284</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line"><tt class="py-docstring">      fd: io.Base or file object, The source of the bytes to upload. MUST be</tt> </tt>
-<a name="L286"></a><tt class="py-lineno"> 286</tt>  <tt class="py-line"><tt class="py-docstring">        opened in blocking mode, do not use streams opened in non-blocking mode.</tt> </tt>
-<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line"><tt class="py-docstring">        The given stream must be seekable, that is, it must be able to call</tt> </tt>
-<a name="L288"></a><tt class="py-lineno"> 288</tt>  <tt class="py-line"><tt class="py-docstring">        seek() on fd.</tt> </tt>
-<a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line"><tt class="py-docstring">      mimetype: string, Mime-type of the file.</tt> </tt>
-<a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line"><tt class="py-docstring">      chunksize: int, File will be uploaded in chunks of this many bytes. Only</tt> </tt>
-<a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line"><tt class="py-docstring">        used if resumable=True. Pass in a value of -1 if the file is to be</tt> </tt>
-<a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line"><tt class="py-docstring">        uploaded as a single chunk. Note that Google App Engine has a 5MB limit</tt> </tt>
-<a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line"><tt class="py-docstring">        on request size, so you should never set your chunksize larger than 5MB,</tt> </tt>
-<a name="L294"></a><tt class="py-lineno"> 294</tt>  <tt class="py-line"><tt class="py-docstring">        or to -1.</tt> </tt>
-<a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line"><tt class="py-docstring">      resumable: bool, True if this is a resumable upload. False means upload</tt> </tt>
-<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line"><tt class="py-docstring">        in a single request.</tt> </tt>
-<a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-28" class="py-name" targets="Class apiclient.http.MediaIoBaseUpload=apiclient.http.MediaIoBaseUpload-class.html"><a title="apiclient.http.MediaIoBaseUpload" class="py-name" href="#" onclick="return doclink('link-28', 'MediaIoBaseUpload', 'link-28');">MediaIoBaseUpload</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method apiclient.channel.Channel.__init__()=apiclient.channel.Channel-class.html#__init__,Method apiclient.channel.Notification.__init__()=apiclient.channel.Notification-class.html#__init__,Method apiclient.discovery.Resource.__init__()=apiclient.discovery.Resource-class.html#__init__,Method apiclient.discovery.ResourceMethodParameters.__init__()=apiclient.discovery.ResourceMethodParameters-class.html#__init__,Method apiclient.errors.BatchError.__init__()=apiclient.errors.BatchError-class.html#__init__,Method apiclient.errors.HttpError.__init__()=apiclient.errors.HttpError-class.html#__init__,Method apiclient.errors.UnexpectedBodyError.__init__()=apiclient.errors.UnexpectedBodyError-class.html#__init__,Method apiclient.errors.UnexpectedMethodError.__init__()=apiclient.errors.UnexpectedMethodError-class.html#__init__,Method apiclient.http.BatchHttpRequest.__init__()=apiclient.http.BatchHttpRequest-class.html#__init__,Method apiclient.http.HttpMock.__init__()=apiclient.http.HttpMock-class.html#__init__,Method apiclient.http.HttpMockSequence.__init__()=apiclient.http.HttpMockSequence-class.html#__init__,Method apiclient.http.HttpRequest.__init__()=apiclient.http.HttpRequest-class.html#__init__,Method apiclient.http.HttpRequestMock.__init__()=apiclient.http.HttpRequestMock-class.html#__init__,Method apiclient.http.MediaDownloadProgress.__init__()=apiclient.http.MediaDownloadProgress-class.html#__init__,Method apiclient.http.MediaFileUpload.__init__()=apiclient.http.MediaFileUpload-class.html#__init__,Method apiclient.http.MediaInMemoryUpload.__init__()=apiclient.http.MediaInMemoryUpload-class.html#__init__,Method apiclient.http.MediaIoBaseDownload.__init__()=apiclient.http.MediaIoBaseDownload-class.html#__init__,Method apiclient.http.MediaIoBaseUpload.__init__()=apiclient.http.MediaIoBaseUpload-class.html#__init__,Method apiclient.http.MediaUploadProgress.__init__()=apiclient.http.MediaUploadProgress-class.html#__init__,Method apiclient.http.RequestMockBuilder.__init__()=apiclient.http.RequestMockBuilder-class.html#__init__,Method apiclient.http._StreamSlice.__init__()=apiclient.http._StreamSlice-class.html#__init__,Method apiclient.model.JsonModel.__init__()=apiclient.model.JsonModel-class.html#__init__,Method apiclient.model.ProtocolBufferModel.__init__()=apiclient.model.ProtocolBufferModel-class.html#__init__,Method apiclient.schema.Schemas.__init__()=apiclient.schema.Schemas-class.html#__init__,Method apiclient.schema._SchemaToStruct.__init__()=apiclient.schema._SchemaToStruct-class.html#__init__,Method oauth2client.appengine.AppAssertionCredentials.__init__()=oauth2client.appengine.AppAssertionCredentials-class.html#__init__,Method oauth2client.appengine.OAuth2Decorator.__init__()=oauth2client.appengine.OAuth2Decorator-class.html#__init__,Method oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__()=oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html#__init__,Method oauth2client.appengine.StorageByKeyName.__init__()=oauth2client.appengine.StorageByKeyName-class.html#__init__,Method oauth2client.client.AccessTokenCredentials.__init__()=oauth2client.client.AccessTokenCredentials-class.html#__init__,Method oauth2client.client.AssertionCredentials.__init__()=oauth2client.client.AssertionCredentials-class.html#__init__,Method oauth2client.client.MemoryCache.__init__()=oauth2client.client.MemoryCache-class.html#__init__,Method oauth2client.client.OAuth2Credentials.__init__()=oauth2client.client.OAuth2Credentials-class.html#__init__,Method oauth2client.client.OAuth2WebServerFlow.__init__()=oauth2client.client.OAuth2WebServerFlow-class.html#__init__,Method oauth2client.client.SignedJwtAssertionCredentials.__init__()=oauth2client.client.SignedJwtAssertionCredentials-class.html#__init__,Method oauth2client.django_orm.CredentialsField.__init__()=oauth2client.django_orm.CredentialsField-class.html#__init__,Method oauth2client.django_orm.FlowField.__init__()=oauth2client.django_orm.FlowField-class.html#__init__,Method oauth2client.django_orm.Storage.__init__()=oauth2client.django_orm.Storage-class.html#__init__,Method oauth2client.file.Storage.__init__()=oauth2client.file.Storage-class.html#__init__,Method oauth2client.gce.AppAssertionCredentials.__init__()=oauth2client.gce.AppAssertionCredentials-class.html#__init__,Method oauth2client.keyring_storage.Storage.__init__()=oauth2client.keyring_storage.Storage-class.html#__init__,Method oauth2client.locked_file.LockedFile.__init__()=oauth2client.locked_file.LockedFile-class.html#__init__,Method oauth2client.locked_file._Opener.__init__()=oauth2client.locked_file._Opener-class.html#__init__,Method oauth2client.multistore_file._MultiStore._Storage.__init__()=oauth2client.multistore_file._MultiStore._Storage-class.html#__init__,Method oauth2client.multistore_file._MultiStore.__init__()=oauth2client.multistore_file._MultiStore-class.html#__init__"><a title="apiclient.channel.Channel.__init__
-apiclient.channel.Notification.__init__
-apiclient.discovery.Resource.__init__
-apiclient.discovery.ResourceMethodParameters.__init__
-apiclient.errors.BatchError.__init__
-apiclient.errors.HttpError.__init__
-apiclient.errors.UnexpectedBodyError.__init__
-apiclient.errors.UnexpectedMethodError.__init__
-apiclient.http.BatchHttpRequest.__init__
-apiclient.http.HttpMock.__init__
-apiclient.http.HttpMockSequence.__init__
-apiclient.http.HttpRequest.__init__
-apiclient.http.HttpRequestMock.__init__
-apiclient.http.MediaDownloadProgress.__init__
-apiclient.http.MediaFileUpload.__init__
-apiclient.http.MediaInMemoryUpload.__init__
-apiclient.http.MediaIoBaseDownload.__init__
-apiclient.http.MediaIoBaseUpload.__init__
-apiclient.http.MediaUploadProgress.__init__
-apiclient.http.RequestMockBuilder.__init__
-apiclient.http._StreamSlice.__init__
-apiclient.model.JsonModel.__init__
-apiclient.model.ProtocolBufferModel.__init__
-apiclient.schema.Schemas.__init__
-apiclient.schema._SchemaToStruct.__init__
-oauth2client.appengine.AppAssertionCredentials.__init__
-oauth2client.appengine.OAuth2Decorator.__init__
-oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__
-oauth2client.appengine.StorageByKeyName.__init__
-oauth2client.client.AccessTokenCredentials.__init__
-oauth2client.client.AssertionCredentials.__init__
-oauth2client.client.MemoryCache.__init__
-oauth2client.client.OAuth2Credentials.__init__
-oauth2client.client.OAuth2WebServerFlow.__init__
-oauth2client.client.SignedJwtAssertionCredentials.__init__
-oauth2client.django_orm.CredentialsField.__init__
-oauth2client.django_orm.FlowField.__init__
-oauth2client.django_orm.Storage.__init__
-oauth2client.file.Storage.__init__
-oauth2client.gce.AppAssertionCredentials.__init__
-oauth2client.keyring_storage.Storage.__init__
-oauth2client.locked_file.LockedFile.__init__
-oauth2client.locked_file._Opener.__init__
-oauth2client.multistore_file._MultiStore._Storage.__init__
-oauth2client.multistore_file._MultiStore.__init__" class="py-name" href="#" onclick="return doclink('link-29', '__init__', 'link-29');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fd</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt> </tt>
-<a name="L300"></a><tt class="py-lineno"> 300</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_mimetype</tt> <tt class="py-op">=</tt> <tt id="link-30" class="py-name" targets="Method apiclient.http.MediaIoBaseUpload.mimetype()=apiclient.http.MediaIoBaseUpload-class.html#mimetype,Method apiclient.http.MediaUpload.mimetype()=apiclient.http.MediaUpload-class.html#mimetype"><a title="apiclient.http.MediaIoBaseUpload.mimetype
-apiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-30', 'mimetype', 'link-30');">mimetype</a></tt> </tt>
-<a name="L301"></a><tt class="py-lineno"> 301</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt id="link-31" class="py-name" targets="Method apiclient.http.MediaIoBaseUpload.chunksize()=apiclient.http.MediaIoBaseUpload-class.html#chunksize,Method apiclient.http.MediaUpload.chunksize()=apiclient.http.MediaUpload-class.html#chunksize"><a title="apiclient.http.MediaIoBaseUpload.chunksize
-apiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-31', 'chunksize', 'link-31');">chunksize</a></tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-keyword">or</tt> <tt id="link-32" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.chunksize
-apiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-32', 'chunksize', 'link-31');">chunksize</a></tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-33" class="py-name"><a title="apiclient.errors.InvalidChunkSizeError" class="py-name" href="#" onclick="return doclink('link-33', 'InvalidChunkSizeError', 'link-6');">InvalidChunkSizeError</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_chunksize</tt> <tt class="py-op">=</tt> <tt id="link-34" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.chunksize
-apiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-34', 'chunksize', 'link-31');">chunksize</a></tt> </tt>
-<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resumable</tt> <tt class="py-op">=</tt> <tt id="link-35" class="py-name" targets="Method apiclient.http.MediaIoBaseUpload.resumable()=apiclient.http.MediaIoBaseUpload-class.html#resumable,Method apiclient.http.MediaUpload.resumable()=apiclient.http.MediaUpload-class.html#resumable"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-35', 'resumable', 'link-35');">resumable</a></tt> </tt>
-<a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line"> </tt>
-<a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_END</tt><tt class="py-op">)</tt> </tt>
-<a name="L307"></a><tt class="py-lineno"> 307</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fd</tt><tt class="py-op">.</tt><tt class="py-name">tell</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-line"> </tt>
-<a name="MediaIoBaseUpload.chunksize"></a><div id="MediaIoBaseUpload.chunksize-def"><a name="L309"></a><tt class="py-lineno"> 309</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload.chunksize-toggle" onclick="return toggle('MediaIoBaseUpload.chunksize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaIoBaseUpload-class.html#chunksize">chunksize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaIoBaseUpload.chunksize-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseUpload.chunksize-expanded"><a name="L310"></a><tt class="py-lineno"> 310</tt>  <tt class="py-line">    <tt class="py-docstring">"""Chunk size for resumable uploads.</tt> </tt>
-<a name="L311"></a><tt class="py-lineno"> 311</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line"><tt class="py-docstring">      Chunk size in bytes.</tt> </tt>
-<a name="L314"></a><tt class="py-lineno"> 314</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L315"></a><tt class="py-lineno"> 315</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_chunksize</tt> </tt>
-</div><a name="L316"></a><tt class="py-lineno"> 316</tt>  <tt class="py-line"> </tt>
-<a name="MediaIoBaseUpload.mimetype"></a><div id="MediaIoBaseUpload.mimetype-def"><a name="L317"></a><tt class="py-lineno"> 317</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload.mimetype-toggle" onclick="return toggle('MediaIoBaseUpload.mimetype');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaIoBaseUpload-class.html#mimetype">mimetype</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaIoBaseUpload.mimetype-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseUpload.mimetype-expanded"><a name="L318"></a><tt class="py-lineno"> 318</tt>  <tt class="py-line">    <tt class="py-docstring">"""Mime type of the body.</tt> </tt>
-<a name="L319"></a><tt class="py-lineno"> 319</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L320"></a><tt class="py-lineno"> 320</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L321"></a><tt class="py-lineno"> 321</tt>  <tt class="py-line"><tt class="py-docstring">      Mime type.</tt> </tt>
-<a name="L322"></a><tt class="py-lineno"> 322</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L323"></a><tt class="py-lineno"> 323</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_mimetype</tt> </tt>
-</div><a name="L324"></a><tt class="py-lineno"> 324</tt>  <tt class="py-line"> </tt>
-<a name="MediaIoBaseUpload.size"></a><div id="MediaIoBaseUpload.size-def"><a name="L325"></a><tt class="py-lineno"> 325</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload.size-toggle" onclick="return toggle('MediaIoBaseUpload.size');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaIoBaseUpload-class.html#size">size</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaIoBaseUpload.size-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseUpload.size-expanded"><a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line">    <tt class="py-docstring">"""Size of upload.</tt> </tt>
-<a name="L327"></a><tt class="py-lineno"> 327</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L328"></a><tt class="py-lineno"> 328</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L329"></a><tt class="py-lineno"> 329</tt>  <tt class="py-line"><tt class="py-docstring">      Size of the body, or None of the size is unknown.</tt> </tt>
-<a name="L330"></a><tt class="py-lineno"> 330</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_size</tt> </tt>
-</div><a name="L332"></a><tt class="py-lineno"> 332</tt>  <tt class="py-line"> </tt>
-<a name="MediaIoBaseUpload.resumable"></a><div id="MediaIoBaseUpload.resumable-def"><a name="L333"></a><tt class="py-lineno"> 333</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload.resumable-toggle" onclick="return toggle('MediaIoBaseUpload.resumable');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaIoBaseUpload-class.html#resumable">resumable</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaIoBaseUpload.resumable-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseUpload.resumable-expanded"><a name="L334"></a><tt class="py-lineno"> 334</tt>  <tt class="py-line">    <tt class="py-docstring">"""Whether this upload is resumable.</tt> </tt>
-<a name="L335"></a><tt class="py-lineno"> 335</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L336"></a><tt class="py-lineno"> 336</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L337"></a><tt class="py-lineno"> 337</tt>  <tt class="py-line"><tt class="py-docstring">      True if resumable upload or False.</tt> </tt>
-<a name="L338"></a><tt class="py-lineno"> 338</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resumable</tt> </tt>
-</div><a name="L340"></a><tt class="py-lineno"> 340</tt>  <tt class="py-line"> </tt>
-<a name="MediaIoBaseUpload.getbytes"></a><div id="MediaIoBaseUpload.getbytes-def"><a name="L341"></a><tt class="py-lineno"> 341</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload.getbytes-toggle" onclick="return toggle('MediaIoBaseUpload.getbytes');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaIoBaseUpload-class.html#getbytes">getbytes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">begin</tt><tt class="py-op">,</tt> <tt class="py-param">length</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaIoBaseUpload.getbytes-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseUpload.getbytes-expanded"><a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get bytes from the media.</tt> </tt>
-<a name="L343"></a><tt class="py-lineno"> 343</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L345"></a><tt class="py-lineno"> 345</tt>  <tt class="py-line"><tt class="py-docstring">      begin: int, offset from beginning of file.</tt> </tt>
-<a name="L346"></a><tt class="py-lineno"> 346</tt>  <tt class="py-line"><tt class="py-docstring">      length: int, number of bytes to read, starting at begin.</tt> </tt>
-<a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L349"></a><tt class="py-lineno"> 349</tt>  <tt class="py-line"><tt class="py-docstring">      A string of bytes read. May be shorted than length if EOF was reached</tt> </tt>
-<a name="L350"></a><tt class="py-lineno"> 350</tt>  <tt class="py-line"><tt class="py-docstring">      first.</tt> </tt>
-<a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L352"></a><tt class="py-lineno"> 352</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">begin</tt><tt class="py-op">)</tt> </tt>
-<a name="L353"></a><tt class="py-lineno"> 353</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fd</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method apiclient.http._StreamSlice.read()=apiclient.http._StreamSlice-class.html#read"><a title="apiclient.http._StreamSlice.read" class="py-name" href="#" onclick="return doclink('link-36', 'read', 'link-36');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">length</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L354"></a><tt class="py-lineno"> 354</tt>  <tt class="py-line"> </tt>
-<a name="MediaIoBaseUpload.has_stream"></a><div id="MediaIoBaseUpload.has_stream-def"><a name="L355"></a><tt class="py-lineno"> 355</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload.has_stream-toggle" onclick="return toggle('MediaIoBaseUpload.has_stream');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaIoBaseUpload-class.html#has_stream">has_stream</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaIoBaseUpload.has_stream-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseUpload.has_stream-expanded"><a name="L356"></a><tt class="py-lineno"> 356</tt>  <tt class="py-line">    <tt class="py-docstring">"""Does the underlying upload support a streaming interface.</tt> </tt>
-<a name="L357"></a><tt class="py-lineno"> 357</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L358"></a><tt class="py-lineno"> 358</tt>  <tt class="py-line"><tt class="py-docstring">    Streaming means it is an io.IOBase subclass that supports seek, i.e.</tt> </tt>
-<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line"><tt class="py-docstring">    seekable() returns True.</tt> </tt>
-<a name="L360"></a><tt class="py-lineno"> 360</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L362"></a><tt class="py-lineno"> 362</tt>  <tt class="py-line"><tt class="py-docstring">      True if the call to stream() will return an instance of a seekable io.Base</tt> </tt>
-<a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line"><tt class="py-docstring">      subclass.</tt> </tt>
-<a name="L364"></a><tt class="py-lineno"> 364</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L365"></a><tt class="py-lineno"> 365</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-</div><a name="L366"></a><tt class="py-lineno"> 366</tt>  <tt class="py-line"> </tt>
-<a name="MediaIoBaseUpload.stream"></a><div id="MediaIoBaseUpload.stream-def"><a name="L367"></a><tt class="py-lineno"> 367</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload.stream-toggle" onclick="return toggle('MediaIoBaseUpload.stream');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaIoBaseUpload-class.html#stream">stream</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaIoBaseUpload.stream-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseUpload.stream-expanded"><a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line">    <tt class="py-docstring">"""A stream interface to the data being uploaded.</tt> </tt>
-<a name="L369"></a><tt class="py-lineno"> 369</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line"><tt class="py-docstring">      The returned value is an io.IOBase subclass that supports seek, i.e.</tt> </tt>
-<a name="L372"></a><tt class="py-lineno"> 372</tt>  <tt class="py-line"><tt class="py-docstring">      seekable() returns True.</tt> </tt>
-<a name="L373"></a><tt class="py-lineno"> 373</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fd</tt> </tt>
-</div><a name="L375"></a><tt class="py-lineno"> 375</tt>  <tt class="py-line"> </tt>
-<a name="MediaIoBaseUpload.to_json"></a><div id="MediaIoBaseUpload.to_json-def"><a name="L376"></a><tt class="py-lineno"> 376</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload.to_json-toggle" onclick="return toggle('MediaIoBaseUpload.to_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaIoBaseUpload-class.html#to_json">to_json</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaIoBaseUpload.to_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseUpload.to_json-expanded"><a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line">    <tt class="py-docstring">"""This upload type is not serializable."""</tt> </tt>
-<a name="L378"></a><tt class="py-lineno"> 378</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-string">'MediaIoBaseUpload is not serializable.'</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line"> </tt>
-<a name="MediaFileUpload"></a><div id="MediaFileUpload-def"><a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line"> </tt>
-<a name="L381"></a><tt class="py-lineno"> 381</tt> <a class="py-toggle" href="#" id="MediaFileUpload-toggle" onclick="return toggle('MediaFileUpload');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.http.MediaFileUpload-class.html">MediaFileUpload</a><tt class="py-op">(</tt><tt class="py-base-class">MediaIoBaseUpload</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaFileUpload-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="MediaFileUpload-expanded"><a name="L382"></a><tt class="py-lineno"> 382</tt>  <tt class="py-line">  <tt class="py-docstring">"""A MediaUpload for a file.</tt> </tt>
-<a name="L383"></a><tt class="py-lineno"> 383</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L384"></a><tt class="py-lineno"> 384</tt>  <tt class="py-line"><tt class="py-docstring">  Construct a MediaFileUpload and pass as the media_body parameter of the</tt> </tt>
-<a name="L385"></a><tt class="py-lineno"> 385</tt>  <tt class="py-line"><tt class="py-docstring">  method. For example, if we had a service that allowed uploading images:</tt> </tt>
-<a name="L386"></a><tt class="py-lineno"> 386</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line"><tt class="py-docstring">    media = MediaFileUpload('cow.png', mimetype='image/png',</tt> </tt>
-<a name="L389"></a><tt class="py-lineno"> 389</tt>  <tt class="py-line"><tt class="py-docstring">      chunksize=1024*1024, resumable=True)</tt> </tt>
-<a name="L390"></a><tt class="py-lineno"> 390</tt>  <tt class="py-line"><tt class="py-docstring">    farm.animals().insert(</tt> </tt>
-<a name="L391"></a><tt class="py-lineno"> 391</tt>  <tt class="py-line"><tt class="py-docstring">        id='cow',</tt> </tt>
-<a name="L392"></a><tt class="py-lineno"> 392</tt>  <tt class="py-line"><tt class="py-docstring">        name='cow.png',</tt> </tt>
-<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line"><tt class="py-docstring">        media_body=media).execute()</tt> </tt>
-<a name="L394"></a><tt class="py-lineno"> 394</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L395"></a><tt class="py-lineno"> 395</tt>  <tt class="py-line"><tt class="py-docstring">  Depending on the platform you are working on, you may pass -1 as the</tt> </tt>
-<a name="L396"></a><tt class="py-lineno"> 396</tt>  <tt class="py-line"><tt class="py-docstring">  chunksize, which indicates that the entire file should be uploaded in a single</tt> </tt>
-<a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line"><tt class="py-docstring">  request. If the underlying platform supports streams, such as Python 2.6 or</tt> </tt>
-<a name="L398"></a><tt class="py-lineno"> 398</tt>  <tt class="py-line"><tt class="py-docstring">  later, then this can be very efficient as it avoids multiple connections, and</tt> </tt>
-<a name="L399"></a><tt class="py-lineno"> 399</tt>  <tt class="py-line"><tt class="py-docstring">  also avoids loading the entire file into memory before sending it. Note that</tt> </tt>
-<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line"><tt class="py-docstring">  Google App Engine has a 5MB limit on request size, so you should never set</tt> </tt>
-<a name="L401"></a><tt class="py-lineno"> 401</tt>  <tt class="py-line"><tt class="py-docstring">  your chunksize larger than 5MB, or to -1.</tt> </tt>
-<a name="L402"></a><tt class="py-lineno"> 402</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L403"></a><tt class="py-lineno"> 403</tt>  <tt class="py-line"> </tt>
-<a name="L404"></a><tt class="py-lineno"> 404</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-37', 'positional', 'link-21');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="MediaFileUpload.__init__"></a><div id="MediaFileUpload.__init__-def"><a name="L405"></a><tt class="py-lineno"> 405</tt> <a class="py-toggle" href="#" id="MediaFileUpload.__init__-toggle" onclick="return toggle('MediaFileUpload.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaFileUpload-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">mimetype</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">chunksize</tt><tt class="py-op">=</tt><tt id="link-38" class="py-name"><a title="apiclient.http.DEFAULT_CHUNK_SIZE" class="py-name" href="#" onclick="return doclink('link-38', 'DEFAULT_CHUNK_SIZE', 'link-19');">DEFAULT_CHUNK_SIZE</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L406"></a><tt class="py-lineno"> 406</tt>  <tt class="py-line">               <tt class="py-param">resumable</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaFileUpload.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaFileUpload.__init__-expanded"><a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
-<a name="L408"></a><tt class="py-lineno"> 408</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L409"></a><tt class="py-lineno"> 409</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L410"></a><tt class="py-lineno"> 410</tt>  <tt class="py-line"><tt class="py-docstring">      filename: string, Name of the file.</tt> </tt>
-<a name="L411"></a><tt class="py-lineno"> 411</tt>  <tt class="py-line"><tt class="py-docstring">      mimetype: string, Mime-type of the file. If None then a mime-type will be</tt> </tt>
-<a name="L412"></a><tt class="py-lineno"> 412</tt>  <tt class="py-line"><tt class="py-docstring">        guessed from the file extension.</tt> </tt>
-<a name="L413"></a><tt class="py-lineno"> 413</tt>  <tt class="py-line"><tt class="py-docstring">      chunksize: int, File will be uploaded in chunks of this many bytes. Only</tt> </tt>
-<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line"><tt class="py-docstring">        used if resumable=True. Pass in a value of -1 if the file is to be</tt> </tt>
-<a name="L415"></a><tt class="py-lineno"> 415</tt>  <tt class="py-line"><tt class="py-docstring">        uploaded in a single chunk. Note that Google App Engine has a 5MB limit</tt> </tt>
-<a name="L416"></a><tt class="py-lineno"> 416</tt>  <tt class="py-line"><tt class="py-docstring">        on request size, so you should never set your chunksize larger than 5MB,</tt> </tt>
-<a name="L417"></a><tt class="py-lineno"> 417</tt>  <tt class="py-line"><tt class="py-docstring">        or to -1.</tt> </tt>
-<a name="L418"></a><tt class="py-lineno"> 418</tt>  <tt class="py-line"><tt class="py-docstring">      resumable: bool, True if this is a resumable upload. False means upload</tt> </tt>
-<a name="L419"></a><tt class="py-lineno"> 419</tt>  <tt class="py-line"><tt class="py-docstring">        in a single request.</tt> </tt>
-<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt> <tt class="py-op">=</tt> <tt id="link-39" class="py-name" targets="Method oauth2client.locked_file.LockedFile.filename()=oauth2client.locked_file.LockedFile-class.html#filename,Method oauth2client.locked_file._Opener.filename()=oauth2client.locked_file._Opener-class.html#filename"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-39', 'filename', 'link-39');">filename</a></tt> </tt>
-<a name="L422"></a><tt class="py-lineno"> 422</tt>  <tt class="py-line">    <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
-<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-40" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.mimetype
-apiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-40', 'mimetype', 'link-30');">mimetype</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line">      <tt class="py-op">(</tt><tt id="link-41" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.mimetype
-apiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-41', 'mimetype', 'link-30');">mimetype</a></tt><tt class="py-op">,</tt> <tt class="py-name">encoding</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">mimetypes</tt><tt class="py-op">.</tt><tt class="py-name">guess_type</tt><tt class="py-op">(</tt><tt id="link-42" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-42', 'filename', 'link-39');">filename</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L425"></a><tt class="py-lineno"> 425</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-43" class="py-name" targets="Class apiclient.http.MediaFileUpload=apiclient.http.MediaFileUpload-class.html"><a title="apiclient.http.MediaFileUpload" class="py-name" href="#" onclick="return doclink('link-43', 'MediaFileUpload', 'link-43');">MediaFileUpload</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="apiclient.channel.Channel.__init__
-apiclient.channel.Notification.__init__
-apiclient.discovery.Resource.__init__
-apiclient.discovery.ResourceMethodParameters.__init__
-apiclient.errors.BatchError.__init__
-apiclient.errors.HttpError.__init__
-apiclient.errors.UnexpectedBodyError.__init__
-apiclient.errors.UnexpectedMethodError.__init__
-apiclient.http.BatchHttpRequest.__init__
-apiclient.http.HttpMock.__init__
-apiclient.http.HttpMockSequence.__init__
-apiclient.http.HttpRequest.__init__
-apiclient.http.HttpRequestMock.__init__
-apiclient.http.MediaDownloadProgress.__init__
-apiclient.http.MediaFileUpload.__init__
-apiclient.http.MediaInMemoryUpload.__init__
-apiclient.http.MediaIoBaseDownload.__init__
-apiclient.http.MediaIoBaseUpload.__init__
-apiclient.http.MediaUploadProgress.__init__
-apiclient.http.RequestMockBuilder.__init__
-apiclient.http._StreamSlice.__init__
-apiclient.model.JsonModel.__init__
-apiclient.model.ProtocolBufferModel.__init__
-apiclient.schema.Schemas.__init__
-apiclient.schema._SchemaToStruct.__init__
-oauth2client.appengine.AppAssertionCredentials.__init__
-oauth2client.appengine.OAuth2Decorator.__init__
-oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__
-oauth2client.appengine.StorageByKeyName.__init__
-oauth2client.client.AccessTokenCredentials.__init__
-oauth2client.client.AssertionCredentials.__init__
-oauth2client.client.MemoryCache.__init__
-oauth2client.client.OAuth2Credentials.__init__
-oauth2client.client.OAuth2WebServerFlow.__init__
-oauth2client.client.SignedJwtAssertionCredentials.__init__
-oauth2client.django_orm.CredentialsField.__init__
-oauth2client.django_orm.FlowField.__init__
-oauth2client.django_orm.Storage.__init__
-oauth2client.file.Storage.__init__
-oauth2client.gce.AppAssertionCredentials.__init__
-oauth2client.keyring_storage.Storage.__init__
-oauth2client.locked_file.LockedFile.__init__
-oauth2client.locked_file._Opener.__init__
-oauth2client.multistore_file._MultiStore._Storage.__init__
-oauth2client.multistore_file._MultiStore.__init__" class="py-name" href="#" onclick="return doclink('link-44', '__init__', 'link-29');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">fd</tt><tt class="py-op">,</tt> <tt id="link-45" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.mimetype
-apiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-45', 'mimetype', 'link-30');">mimetype</a></tt><tt class="py-op">,</tt> <tt id="link-46" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.chunksize
-apiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-46', 'chunksize', 'link-31');">chunksize</a></tt><tt class="py-op">=</tt><tt id="link-47" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.chunksize
-apiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-47', 'chunksize', 'link-31');">chunksize</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line">                                          <tt id="link-48" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-48', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">=</tt><tt id="link-49" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-49', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line"> </tt>
-<a name="MediaFileUpload.to_json"></a><div id="MediaFileUpload.to_json-def"><a name="L428"></a><tt class="py-lineno"> 428</tt> <a class="py-toggle" href="#" id="MediaFileUpload.to_json-toggle" onclick="return toggle('MediaFileUpload.to_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaFileUpload-class.html#to_json">to_json</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaFileUpload.to_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaFileUpload.to_json-expanded"><a name="L429"></a><tt class="py-lineno"> 429</tt>  <tt class="py-line">    <tt class="py-docstring">"""Creating a JSON representation of an instance of MediaFileUpload.</tt> </tt>
-<a name="L430"></a><tt class="py-lineno"> 430</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L431"></a><tt class="py-lineno"> 431</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line"><tt class="py-docstring">       string, a JSON representation of this instance, suitable to pass to</tt> </tt>
-<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line"><tt class="py-docstring">       from_json().</tt> </tt>
-<a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L435"></a><tt class="py-lineno"> 435</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="apiclient.http.MediaUpload._to_json
-oauth2client.client.Credentials._to_json" class="py-name" href="#" onclick="return doclink('link-50', '_to_json', 'link-22');">_to_json</a></tt><tt class="py-op">(</tt><tt class="py-name">strip</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'_fd'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L436"></a><tt class="py-lineno"> 436</tt>  <tt class="py-line"> </tt>
-<a name="L437"></a><tt class="py-lineno"> 437</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
-<a name="MediaFileUpload.from_json"></a><div id="MediaFileUpload.from_json-def"><a name="L438"></a><tt class="py-lineno"> 438</tt> <a class="py-toggle" href="#" id="MediaFileUpload.from_json-toggle" onclick="return toggle('MediaFileUpload.from_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaFileUpload-class.html#from_json">from_json</a><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaFileUpload.from_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaFileUpload.from_json-expanded"><a name="L439"></a><tt class="py-lineno"> 439</tt>  <tt class="py-line">    <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-51', 'loads', 'link-23');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-52" class="py-name"><a title="apiclient.http.MediaFileUpload" class="py-name" href="#" onclick="return doclink('link-52', 'MediaFileUpload', 'link-43');">MediaFileUpload</a></tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_filename'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-53" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.mimetype
-apiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-53', 'mimetype', 'link-30');">mimetype</a></tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_mimetype'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L441"></a><tt class="py-lineno"> 441</tt>  <tt class="py-line">                           <tt id="link-54" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.chunksize
-apiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-54', 'chunksize', 'link-31');">chunksize</a></tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_chunksize'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-55" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-55', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_resumable'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line"> </tt>
-<a name="MediaInMemoryUpload"></a><div id="MediaInMemoryUpload-def"><a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line"> </tt>
-<a name="L444"></a><tt class="py-lineno"> 444</tt> <a class="py-toggle" href="#" id="MediaInMemoryUpload-toggle" onclick="return toggle('MediaInMemoryUpload');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.http.MediaInMemoryUpload-class.html">MediaInMemoryUpload</a><tt class="py-op">(</tt><tt class="py-base-class">MediaIoBaseUpload</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaInMemoryUpload-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="MediaInMemoryUpload-expanded"><a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line">  <tt class="py-docstring">"""MediaUpload for a chunk of bytes.</tt> </tt>
-<a name="L446"></a><tt class="py-lineno"> 446</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L447"></a><tt class="py-lineno"> 447</tt>  <tt class="py-line"><tt class="py-docstring">  DEPRECATED: Use MediaIoBaseUpload with either io.TextIOBase or StringIO for</tt> </tt>
-<a name="L448"></a><tt class="py-lineno"> 448</tt>  <tt class="py-line"><tt class="py-docstring">  the stream.</tt> </tt>
-<a name="L449"></a><tt class="py-lineno"> 449</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line"> </tt>
-<a name="L451"></a><tt class="py-lineno"> 451</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-56', 'positional', 'link-21');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="MediaInMemoryUpload.__init__"></a><div id="MediaInMemoryUpload.__init__-def"><a name="L452"></a><tt class="py-lineno"> 452</tt> <a class="py-toggle" href="#" id="MediaInMemoryUpload.__init__-toggle" onclick="return toggle('MediaInMemoryUpload.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaInMemoryUpload-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">,</tt> <tt class="py-param">mimetype</tt><tt class="py-op">=</tt><tt class="py-string">'application/octet-stream'</tt><tt class="py-op">,</tt> </tt>
-<a name="L453"></a><tt class="py-lineno"> 453</tt>  <tt class="py-line">               <tt class="py-param">chunksize</tt><tt class="py-op">=</tt><tt id="link-57" class="py-name"><a title="apiclient.http.DEFAULT_CHUNK_SIZE" class="py-name" href="#" onclick="return doclink('link-57', 'DEFAULT_CHUNK_SIZE', 'link-19');">DEFAULT_CHUNK_SIZE</a></tt><tt class="py-op">,</tt> <tt class="py-param">resumable</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaInMemoryUpload.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaInMemoryUpload.__init__-expanded"><a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create a new MediaInMemoryUpload.</tt> </tt>
-<a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L456"></a><tt class="py-lineno"> 456</tt>  <tt class="py-line"><tt class="py-docstring">  DEPRECATED: Use MediaIoBaseUpload with either io.TextIOBase or StringIO for</tt> </tt>
-<a name="L457"></a><tt class="py-lineno"> 457</tt>  <tt class="py-line"><tt class="py-docstring">  the stream.</tt> </tt>
-<a name="L458"></a><tt class="py-lineno"> 458</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L459"></a><tt class="py-lineno"> 459</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line"><tt class="py-docstring">    body: string, Bytes of body content.</tt> </tt>
-<a name="L461"></a><tt class="py-lineno"> 461</tt>  <tt class="py-line"><tt class="py-docstring">    mimetype: string, Mime-type of the file or default of</tt> </tt>
-<a name="L462"></a><tt class="py-lineno"> 462</tt>  <tt class="py-line"><tt class="py-docstring">      'application/octet-stream'.</tt> </tt>
-<a name="L463"></a><tt class="py-lineno"> 463</tt>  <tt class="py-line"><tt class="py-docstring">    chunksize: int, File will be uploaded in chunks of this many bytes. Only</tt> </tt>
-<a name="L464"></a><tt class="py-lineno"> 464</tt>  <tt class="py-line"><tt class="py-docstring">      used if resumable=True.</tt> </tt>
-<a name="L465"></a><tt class="py-lineno"> 465</tt>  <tt class="py-line"><tt class="py-docstring">    resumable: bool, True if this is a resumable upload. False means upload</tt> </tt>
-<a name="L466"></a><tt class="py-lineno"> 466</tt>  <tt class="py-line"><tt class="py-docstring">      in a single request.</tt> </tt>
-<a name="L467"></a><tt class="py-lineno"> 467</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L468"></a><tt class="py-lineno"> 468</tt>  <tt class="py-line">    <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">.</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-58" class="py-name" targets="Method apiclient.channel.Channel.body()=apiclient.channel.Channel-class.html#body"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-58', 'body', 'link-58');">body</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L469"></a><tt class="py-lineno"> 469</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-59" class="py-name" targets="Class apiclient.http.MediaInMemoryUpload=apiclient.http.MediaInMemoryUpload-class.html"><a title="apiclient.http.MediaInMemoryUpload" class="py-name" href="#" onclick="return doclink('link-59', 'MediaInMemoryUpload', 'link-59');">MediaInMemoryUpload</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="apiclient.channel.Channel.__init__
-apiclient.channel.Notification.__init__
-apiclient.discovery.Resource.__init__
-apiclient.discovery.ResourceMethodParameters.__init__
-apiclient.errors.BatchError.__init__
-apiclient.errors.HttpError.__init__
-apiclient.errors.UnexpectedBodyError.__init__
-apiclient.errors.UnexpectedMethodError.__init__
-apiclient.http.BatchHttpRequest.__init__
-apiclient.http.HttpMock.__init__
-apiclient.http.HttpMockSequence.__init__
-apiclient.http.HttpRequest.__init__
-apiclient.http.HttpRequestMock.__init__
-apiclient.http.MediaDownloadProgress.__init__
-apiclient.http.MediaFileUpload.__init__
-apiclient.http.MediaInMemoryUpload.__init__
-apiclient.http.MediaIoBaseDownload.__init__
-apiclient.http.MediaIoBaseUpload.__init__
-apiclient.http.MediaUploadProgress.__init__
-apiclient.http.RequestMockBuilder.__init__
-apiclient.http._StreamSlice.__init__
-apiclient.model.JsonModel.__init__
-apiclient.model.ProtocolBufferModel.__init__
-apiclient.schema.Schemas.__init__
-apiclient.schema._SchemaToStruct.__init__
-oauth2client.appengine.AppAssertionCredentials.__init__
-oauth2client.appengine.OAuth2Decorator.__init__
-oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__
-oauth2client.appengine.StorageByKeyName.__init__
-oauth2client.client.AccessTokenCredentials.__init__
-oauth2client.client.AssertionCredentials.__init__
-oauth2client.client.MemoryCache.__init__
-oauth2client.client.OAuth2Credentials.__init__
-oauth2client.client.OAuth2WebServerFlow.__init__
-oauth2client.client.SignedJwtAssertionCredentials.__init__
-oauth2client.django_orm.CredentialsField.__init__
-oauth2client.django_orm.FlowField.__init__
-oauth2client.django_orm.Storage.__init__
-oauth2client.file.Storage.__init__
-oauth2client.gce.AppAssertionCredentials.__init__
-oauth2client.keyring_storage.Storage.__init__
-oauth2client.locked_file.LockedFile.__init__
-oauth2client.locked_file._Opener.__init__
-oauth2client.multistore_file._MultiStore._Storage.__init__
-oauth2client.multistore_file._MultiStore.__init__" class="py-name" href="#" onclick="return doclink('link-60', '__init__', 'link-29');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">fd</tt><tt class="py-op">,</tt> <tt id="link-61" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.mimetype
-apiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-61', 'mimetype', 'link-30');">mimetype</a></tt><tt class="py-op">,</tt> <tt id="link-62" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.chunksize
-apiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-62', 'chunksize', 'link-31');">chunksize</a></tt><tt class="py-op">=</tt><tt id="link-63" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.chunksize
-apiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-63', 'chunksize', 'link-31');">chunksize</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line">                                              <tt id="link-64" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-64', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">=</tt><tt id="link-65" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-65', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L471"></a><tt class="py-lineno"> 471</tt>  <tt class="py-line"> </tt>
-<a name="MediaIoBaseDownload"></a><div id="MediaIoBaseDownload-def"><a name="L472"></a><tt class="py-lineno"> 472</tt>  <tt class="py-line"> </tt>
-<a name="L473"></a><tt class="py-lineno"> 473</tt> <a class="py-toggle" href="#" id="MediaIoBaseDownload-toggle" onclick="return toggle('MediaIoBaseDownload');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.http.MediaIoBaseDownload-class.html">MediaIoBaseDownload</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaIoBaseDownload-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="MediaIoBaseDownload-expanded"><a name="L474"></a><tt class="py-lineno"> 474</tt>  <tt class="py-line">  <tt class="py-docstring">""""Download media resources.</tt> </tt>
-<a name="L475"></a><tt class="py-lineno"> 475</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L476"></a><tt class="py-lineno"> 476</tt>  <tt class="py-line"><tt class="py-docstring">  Note that the Python file object is compatible with io.Base and can be used</tt> </tt>
-<a name="L477"></a><tt class="py-lineno"> 477</tt>  <tt class="py-line"><tt class="py-docstring">  with this class also.</tt> </tt>
-<a name="L478"></a><tt class="py-lineno"> 478</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L479"></a><tt class="py-lineno"> 479</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line"><tt class="py-docstring">  Example:</tt> </tt>
-<a name="L481"></a><tt class="py-lineno"> 481</tt>  <tt class="py-line"><tt class="py-docstring">    request = farms.animals().get_media(id='cow')</tt> </tt>
-<a name="L482"></a><tt class="py-lineno"> 482</tt>  <tt class="py-line"><tt class="py-docstring">    fh = io.FileIO('cow.png', mode='wb')</tt> </tt>
-<a name="L483"></a><tt class="py-lineno"> 483</tt>  <tt class="py-line"><tt class="py-docstring">    downloader = MediaIoBaseDownload(fh, request, chunksize=1024*1024)</tt> </tt>
-<a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L485"></a><tt class="py-lineno"> 485</tt>  <tt class="py-line"><tt class="py-docstring">    done = False</tt> </tt>
-<a name="L486"></a><tt class="py-lineno"> 486</tt>  <tt class="py-line"><tt class="py-docstring">    while done is False:</tt> </tt>
-<a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line"><tt class="py-docstring">      status, done = downloader.next_chunk()</tt> </tt>
-<a name="L488"></a><tt class="py-lineno"> 488</tt>  <tt class="py-line"><tt class="py-docstring">      if status:</tt> </tt>
-<a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line"><tt class="py-docstring">        print "Download %d%%." % int(status.progress() * 100)</tt> </tt>
-<a name="L490"></a><tt class="py-lineno"> 490</tt>  <tt class="py-line"><tt class="py-docstring">    print "Download Complete!"</tt> </tt>
-<a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L492"></a><tt class="py-lineno"> 492</tt>  <tt class="py-line"> </tt>
-<a name="L493"></a><tt class="py-lineno"> 493</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-66', 'positional', 'link-21');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
-<a name="MediaIoBaseDownload.__init__"></a><div id="MediaIoBaseDownload.__init__-def"><a name="L494"></a><tt class="py-lineno"> 494</tt> <a class="py-toggle" href="#" id="MediaIoBaseDownload.__init__-toggle" onclick="return toggle('MediaIoBaseDownload.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaIoBaseDownload-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fd</tt><tt class="py-op">,</tt> <tt class="py-param">request</tt><tt class="py-op">,</tt> <tt class="py-param">chunksize</tt><tt class="py-op">=</tt><tt id="link-67" class="py-name"><a title="apiclient.http.DEFAULT_CHUNK_SIZE" class="py-name" href="#" onclick="return doclink('link-67', 'DEFAULT_CHUNK_SIZE', 'link-19');">DEFAULT_CHUNK_SIZE</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaIoBaseDownload.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseDownload.__init__-expanded"><a name="L495"></a><tt class="py-lineno"> 495</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
-<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L497"></a><tt class="py-lineno"> 497</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L498"></a><tt class="py-lineno"> 498</tt>  <tt class="py-line"><tt class="py-docstring">      fd: io.Base or file object, The stream in which to write the downloaded</tt> </tt>
-<a name="L499"></a><tt class="py-lineno"> 499</tt>  <tt class="py-line"><tt class="py-docstring">        bytes.</tt> </tt>
-<a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line"><tt class="py-docstring">      request: apiclient.http.HttpRequest, the media request to perform in</tt> </tt>
-<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line"><tt class="py-docstring">        chunks.</tt> </tt>
-<a name="L502"></a><tt class="py-lineno"> 502</tt>  <tt class="py-line"><tt class="py-docstring">      chunksize: int, File will be downloaded in chunks of this many bytes.</tt> </tt>
-<a name="L503"></a><tt class="py-lineno"> 503</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L504"></a><tt class="py-lineno"> 504</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fd</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt> </tt>
-<a name="L505"></a><tt class="py-lineno"> 505</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt> <tt class="py-op">=</tt> <tt id="link-68" class="py-name" targets="Method apiclient.http.HttpMock.request()=apiclient.http.HttpMock-class.html#request,Method apiclient.http.HttpMockSequence.request()=apiclient.http.HttpMockSequence-class.html#request,Method apiclient.model.BaseModel.request()=apiclient.model.BaseModel-class.html#request,Method apiclient.model.Model.request()=apiclient.model.Model-class.html#request"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-68', 'request', 'link-68');">request</a></tt> </tt>
-<a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_uri</tt> <tt class="py-op">=</tt> <tt id="link-69" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-69', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> </tt>
-<a name="L507"></a><tt class="py-lineno"> 507</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_chunksize</tt> <tt class="py-op">=</tt> <tt id="link-70" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.chunksize
-apiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-70', 'chunksize', 'link-31');">chunksize</a></tt> </tt>
-<a name="L508"></a><tt class="py-lineno"> 508</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_progress</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L509"></a><tt class="py-lineno"> 509</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_total_size</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L510"></a><tt class="py-lineno"> 510</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_done</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L511"></a><tt class="py-lineno"> 511</tt>  <tt class="py-line"> </tt>
-<a name="L512"></a><tt class="py-lineno"> 512</tt>  <tt class="py-line">    <tt class="py-comment"># Stubs for testing.</tt> </tt>
-<a name="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt> </tt>
-<a name="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">random</tt> </tt>
-</div><a name="L515"></a><tt class="py-lineno"> 515</tt>  <tt class="py-line"> </tt>
-<a name="L516"></a><tt class="py-lineno"> 516</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-71', 'positional', 'link-21');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="MediaIoBaseDownload.next_chunk"></a><div id="MediaIoBaseDownload.next_chunk-def"><a name="L517"></a><tt class="py-lineno"> 517</tt> <a class="py-toggle" href="#" id="MediaIoBaseDownload.next_chunk-toggle" onclick="return toggle('MediaIoBaseDownload.next_chunk');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.MediaIoBaseDownload-class.html#next_chunk">next_chunk</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">num_retries</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaIoBaseDownload.next_chunk-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseDownload.next_chunk-expanded"><a name="L518"></a><tt class="py-lineno"> 518</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get the next chunk of the download.</tt> </tt>
-<a name="L519"></a><tt class="py-lineno"> 519</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L520"></a><tt class="py-lineno"> 520</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L521"></a><tt class="py-lineno"> 521</tt>  <tt class="py-line"><tt class="py-docstring">      num_retries: Integer, number of times to retry 500's with randomized</tt> </tt>
-<a name="L522"></a><tt class="py-lineno"> 522</tt>  <tt class="py-line"><tt class="py-docstring">            exponential backoff. If all retries fail, the raised HttpError</tt> </tt>
-<a name="L523"></a><tt class="py-lineno"> 523</tt>  <tt class="py-line"><tt class="py-docstring">            represents the last request. If zero (default), we attempt the</tt> </tt>
-<a name="L524"></a><tt class="py-lineno"> 524</tt>  <tt class="py-line"><tt class="py-docstring">            request only once.</tt> </tt>
-<a name="L525"></a><tt class="py-lineno"> 525</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L526"></a><tt class="py-lineno"> 526</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L527"></a><tt class="py-lineno"> 527</tt>  <tt class="py-line"><tt class="py-docstring">      (status, done): (MediaDownloadStatus, boolean)</tt> </tt>
-<a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line"><tt class="py-docstring">         The value of 'done' will be True when the media has been fully</tt> </tt>
-<a name="L529"></a><tt class="py-lineno"> 529</tt>  <tt class="py-line"><tt class="py-docstring">         downloaded.</tt> </tt>
-<a name="L530"></a><tt class="py-lineno"> 530</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L531"></a><tt class="py-lineno"> 531</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L532"></a><tt class="py-lineno"> 532</tt>  <tt class="py-line"><tt class="py-docstring">      apiclient.errors.HttpError if the response was not a 2xx.</tt> </tt>
-<a name="L533"></a><tt class="py-lineno"> 533</tt>  <tt class="py-line"><tt class="py-docstring">      httplib2.HttpLib2Error if a transport error has occured.</tt> </tt>
-<a name="L534"></a><tt class="py-lineno"> 534</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L535"></a><tt class="py-lineno"> 535</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line">        <tt class="py-string">'range'</tt><tt class="py-op">:</tt> <tt class="py-string">'bytes=%d-%d'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
-<a name="L537"></a><tt class="py-lineno"> 537</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_progress</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_progress</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_chunksize</tt><tt class="py-op">)</tt> </tt>
-<a name="L538"></a><tt class="py-lineno"> 538</tt>  <tt class="py-line">        <tt class="py-op">}</tt> </tt>
-<a name="L539"></a><tt class="py-lineno"> 539</tt>  <tt class="py-line">    <tt id="link-72" class="py-name" targets="Module apiclient.http=apiclient.http-module.html,Method oauth2client.appengine.OAuth2Decorator.http()=oauth2client.appengine.OAuth2Decorator-class.html#http"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-72', 'http', 'link-72');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-73', 'http', 'link-72');">http</a></tt> </tt>
-<a name="L540"></a><tt class="py-lineno"> 540</tt>  <tt class="py-line"> </tt>
-<a name="L541"></a><tt class="py-lineno"> 541</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">retry_num</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-name">num_retries</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L542"></a><tt class="py-lineno"> 542</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">retry_num</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt><tt class="py-op">**</tt><tt class="py-name">retry_num</tt><tt class="py-op">)</tt> </tt>
-<a name="L544"></a><tt class="py-lineno"> 544</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt> </tt>
-<a name="L545"></a><tt class="py-lineno"> 545</tt>  <tt class="py-line">            <tt class="py-string">'Retry #%d for media download: GET %s, following status: %d'</tt> </tt>
-<a name="L546"></a><tt class="py-lineno"> 546</tt>  <tt class="py-line">            <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">retry_num</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_uri</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line"> </tt>
-<a name="L548"></a><tt class="py-lineno"> 548</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-74" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-74', 'http', 'link-72');">http</a></tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-75', 'request', 'link-68');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_uri</tt><tt class="py-op">,</tt> <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">500</tt><tt class="py-op">:</tt> </tt>
-<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line">        <tt class="py-keyword">break</tt> </tt>
-<a name="L551"></a><tt class="py-lineno"> 551</tt>  <tt class="py-line"> </tt>
-<a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-number">200</tt><tt class="py-op">,</tt> <tt class="py-number">206</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
-<a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'content-location'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resp</tt> <tt class="py-keyword">and</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'content-location'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_uri</tt><tt class="py-op">:</tt> </tt>
-<a name="L554"></a><tt class="py-lineno"> 554</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'content-location'</tt><tt class="py-op">]</tt> </tt>
-<a name="L555"></a><tt class="py-lineno"> 555</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_progress</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L556"></a><tt class="py-lineno"> 556</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fd</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L557"></a><tt class="py-lineno"> 557</tt>  <tt class="py-line"> </tt>
-<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'content-range'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resp</tt><tt class="py-op">:</tt> </tt>
-<a name="L559"></a><tt class="py-lineno"> 559</tt>  <tt class="py-line">        <tt class="py-name">content_range</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'content-range'</tt><tt class="py-op">]</tt> </tt>
-<a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">        <tt class="py-name">length</tt> <tt class="py-op">=</tt> <tt class="py-name">content_range</tt><tt class="py-op">.</tt><tt class="py-name">rsplit</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_total_size</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">length</tt><tt class="py-op">)</tt> </tt>
-<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line"> </tt>
-<a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_progress</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_total_size</tt><tt class="py-op">:</tt> </tt>
-<a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_done</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-76" class="py-name" targets="Class apiclient.http.MediaDownloadProgress=apiclient.http.MediaDownloadProgress-class.html"><a title="apiclient.http.MediaDownloadProgress" class="py-name" href="#" onclick="return doclink('link-76', 'MediaDownloadProgress', 'link-76');">MediaDownloadProgress</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_progress</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_total_size</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_done</tt> </tt>
-<a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-77" class="py-name"><a title="apiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-77', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_uri</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line"> </tt>
-<a name="_StreamSlice"></a><div id="_StreamSlice-def"><a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line"> </tt>
-<a name="L570"></a><tt class="py-lineno"> 570</tt> <a class="py-toggle" href="#" id="_StreamSlice-toggle" onclick="return toggle('_StreamSlice');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.http._StreamSlice-class.html">_StreamSlice</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_StreamSlice-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_StreamSlice-expanded"><a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line">  <tt class="py-docstring">"""Truncated stream.</tt> </tt>
-<a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line"><tt class="py-docstring">  Takes a stream and presents a stream that is a slice of the original stream.</tt> </tt>
-<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line"><tt class="py-docstring">  This is used when uploading media in chunks. In later versions of Python a</tt> </tt>
-<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line"><tt class="py-docstring">  stream can be passed to httplib in place of the string of data to send. The</tt> </tt>
-<a name="L576"></a><tt class="py-lineno"> 576</tt>  <tt class="py-line"><tt class="py-docstring">  problem is that httplib just blindly reads to the end of the stream. This</tt> </tt>
-<a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line"><tt class="py-docstring">  wrapper presents a virtual stream that only reads to the end of the chunk.</tt> </tt>
-<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line"> </tt>
-<a name="_StreamSlice.__init__"></a><div id="_StreamSlice.__init__-def"><a name="L580"></a><tt class="py-lineno"> 580</tt> <a class="py-toggle" href="#" id="_StreamSlice.__init__-toggle" onclick="return toggle('_StreamSlice.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http._StreamSlice-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">stream</tt><tt class="py-op">,</tt> <tt class="py-param">begin</tt><tt class="py-op">,</tt> <tt class="py-param">chunksize</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_StreamSlice.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="_StreamSlice.__init__-expanded"><a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
-<a name="L582"></a><tt class="py-lineno"> 582</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line"><tt class="py-docstring">      stream: (io.Base, file object), the stream to wrap.</tt> </tt>
-<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line"><tt class="py-docstring">      begin: int, the seek position the chunk begins at.</tt> </tt>
-<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line"><tt class="py-docstring">      chunksize: int, the size of the chunk.</tt> </tt>
-<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stream</tt> <tt class="py-op">=</tt> <tt id="link-78" class="py-name" targets="Method apiclient.http.MediaIoBaseUpload.stream()=apiclient.http.MediaIoBaseUpload-class.html#stream,Method apiclient.http.MediaUpload.stream()=apiclient.http.MediaUpload-class.html#stream"><a title="apiclient.http.MediaIoBaseUpload.stream
-apiclient.http.MediaUpload.stream" class="py-name" href="#" onclick="return doclink('link-78', 'stream', 'link-78');">stream</a></tt> </tt>
-<a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_begin</tt> <tt class="py-op">=</tt> <tt class="py-name">begin</tt> </tt>
-<a name="L590"></a><tt class="py-lineno"> 590</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_chunksize</tt> <tt class="py-op">=</tt> <tt id="link-79" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.chunksize
-apiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-79', 'chunksize', 'link-31');">chunksize</a></tt> </tt>
-<a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stream</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">begin</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line"> </tt>
-<a name="_StreamSlice.read"></a><div id="_StreamSlice.read-def"><a name="L593"></a><tt class="py-lineno"> 593</tt> <a class="py-toggle" href="#" id="_StreamSlice.read-toggle" onclick="return toggle('_StreamSlice.read');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http._StreamSlice-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">n</tt><tt class="py-op">=</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_StreamSlice.read-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="_StreamSlice.read-expanded"><a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line">    <tt class="py-docstring">"""Read n bytes.</tt> </tt>
-<a name="L595"></a><tt class="py-lineno"> 595</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line"><tt class="py-docstring">      n, int, the number of bytes to read.</tt> </tt>
-<a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L599"></a><tt class="py-lineno"> 599</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L600"></a><tt class="py-lineno"> 600</tt>  <tt class="py-line"><tt class="py-docstring">      A string of length 'n', or less if EOF is reached.</tt> </tt>
-<a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line">    <tt class="py-comment"># The data left available to read sits in [cur, end)</tt> </tt>
-<a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line">    <tt class="py-name">cur</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stream</tt><tt class="py-op">.</tt><tt class="py-name">tell</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line">    <tt class="py-name">end</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_begin</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_chunksize</tt> </tt>
-<a name="L605"></a><tt class="py-lineno"> 605</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">n</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-keyword">or</tt> <tt class="py-name">cur</tt> <tt class="py-op">+</tt> <tt class="py-name">n</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">end</tt><tt class="py-op">:</tt> </tt>
-<a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-line">      <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">end</tt> <tt class="py-op">-</tt> <tt class="py-name">cur</tt> </tt>
-<a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stream</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="apiclient.http._StreamSlice.read" class="py-name" href="#" onclick="return doclink('link-80', 'read', 'link-36');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line"> </tt>
-<a name="HttpRequest"></a><div id="HttpRequest-def"><a name="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line"> </tt>
-<a name="L610"></a><tt class="py-lineno"> 610</tt> <a class="py-toggle" href="#" id="HttpRequest-toggle" onclick="return toggle('HttpRequest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.http.HttpRequest-class.html">HttpRequest</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequest-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HttpRequest-expanded"><a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line">  <tt class="py-docstring">"""Encapsulates a single HTTP request."""</tt> </tt>
-<a name="L612"></a><tt class="py-lineno"> 612</tt>  <tt class="py-line"> </tt>
-<a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-81', 'positional', 'link-21');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="HttpRequest.__init__"></a><div id="HttpRequest.__init__-def"><a name="L614"></a><tt class="py-lineno"> 614</tt> <a class="py-toggle" href="#" id="HttpRequest.__init__-toggle" onclick="return toggle('HttpRequest.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.HttpRequest-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">postproc</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line">               <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> </tt>
-<a name="L616"></a><tt class="py-lineno"> 616</tt>  <tt class="py-line">               <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L617"></a><tt class="py-lineno"> 617</tt>  <tt class="py-line">               <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line">               <tt class="py-param">methodId</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line">               <tt class="py-param">resumable</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequest.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.__init__-expanded"><a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for an HttpRequest.</tt> </tt>
-<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, the transport object to use to make a request</tt> </tt>
-<a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-line"><tt class="py-docstring">      postproc: callable, called on the HTTP response and content to transform</tt> </tt>
-<a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line"><tt class="py-docstring">                it into a data object before returning, or raising an exception</tt> </tt>
-<a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line"><tt class="py-docstring">                on an error.</tt> </tt>
-<a name="L627"></a><tt class="py-lineno"> 627</tt>  <tt class="py-line"><tt class="py-docstring">      uri: string, the absolute URI to send the request to</tt> </tt>
-<a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line"><tt class="py-docstring">      method: string, the HTTP method to use</tt> </tt>
-<a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line"><tt class="py-docstring">      body: string, the request body of the HTTP request,</tt> </tt>
-<a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, the HTTP request headers</tt> </tt>
-<a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line"><tt class="py-docstring">      methodId: string, a unique identifier for the API method being called.</tt> </tt>
-<a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line"><tt class="py-docstring">      resumable: MediaUpload, None if this is not a resumbale request.</tt> </tt>
-<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L634"></a><tt class="py-lineno"> 634</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
-<a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">method</tt> </tt>
-<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-82', 'body', 'link-58');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-83" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-83', 'body', 'link-58');">body</a></tt> </tt>
-<a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt> <tt class="py-keyword">or</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L638"></a><tt class="py-lineno"> 638</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodId</tt> <tt class="py-op">=</tt> <tt class="py-name">methodId</tt> </tt>
-<a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-84', 'http', 'link-72');">http</a></tt> <tt class="py-op">=</tt> <tt id="link-85" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-85', 'http', 'link-72');">http</a></tt> </tt>
-<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt> <tt class="py-op">=</tt> <tt class="py-name">postproc</tt> </tt>
-<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-86', 'resumable', 'link-35');">resumable</a></tt> <tt class="py-op">=</tt> <tt id="link-87" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-87', 'resumable', 'link-35');">resumable</a></tt> </tt>
-<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_callbacks</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L644"></a><tt class="py-lineno"> 644</tt>  <tt class="py-line"> </tt>
-<a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line">    <tt class="py-comment"># Pull the multipart boundary out of the content-type header.</tt> </tt>
-<a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line">    <tt class="py-name">major</tt><tt class="py-op">,</tt> <tt class="py-name">minor</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt id="link-88" class="py-name"><a title="apiclient.mimeparse" class="py-name" href="#" onclick="return doclink('link-88', 'mimeparse', 'link-0');">mimeparse</a></tt><tt class="py-op">.</tt><tt id="link-89" class="py-name" targets="Function apiclient.mimeparse.parse_mime_type()=apiclient.mimeparse-module.html#parse_mime_type"><a title="apiclient.mimeparse.parse_mime_type" class="py-name" href="#" onclick="return doclink('link-89', 'parse_mime_type', 'link-89');">parse_mime_type</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line">        <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name" targets="Method apiclient.schema.Schemas.get()=apiclient.schema.Schemas-class.html#get,Method oauth2client.client.MemoryCache.get()=oauth2client.client.MemoryCache-class.html#get,Method oauth2client.client.Storage.get()=oauth2client.client.Storage-class.html#get"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-90', 'get', 'link-90');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'content-type'</tt><tt class="py-op">,</tt> <tt class="py-string">'application/json'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L648"></a><tt class="py-lineno"> 648</tt>  <tt class="py-line"> </tt>
-<a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line">    <tt class="py-comment"># The size of the non-media part of the request.</tt> </tt>
-<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body_size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-91', 'body', 'link-58');">body</a></tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-<a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line"> </tt>
-<a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line">    <tt class="py-comment"># The resumable URI to send chunks to.</tt> </tt>
-<a name="L653"></a><tt class="py-lineno"> 653</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line"> </tt>
-<a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line">    <tt class="py-comment"># The bytes that have been uploaded.</tt> </tt>
-<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line"> </tt>
-<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line">    <tt class="py-comment"># Stubs for testing.</tt> </tt>
-<a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">random</tt> </tt>
-<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt> </tt>
-</div><a name="L661"></a><tt class="py-lineno"> 661</tt>  <tt class="py-line"> </tt>
-<a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-92', 'positional', 'link-21');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="HttpRequest.execute"></a><div id="HttpRequest.execute-def"><a name="L663"></a><tt class="py-lineno"> 663</tt> <a class="py-toggle" href="#" id="HttpRequest.execute-toggle" onclick="return toggle('HttpRequest.execute');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.HttpRequest-class.html#execute">execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">num_retries</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequest.execute-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.execute-expanded"><a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line">    <tt class="py-docstring">"""Execute the request.</tt> </tt>
-<a name="L665"></a><tt class="py-lineno"> 665</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L666"></a><tt class="py-lineno"> 666</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L667"></a><tt class="py-lineno"> 667</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used in place of the</tt> </tt>
-<a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line"><tt class="py-docstring">            one the HttpRequest request object was constructed with.</tt> </tt>
-<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line"><tt class="py-docstring">      num_retries: Integer, number of times to retry 500's with randomized</tt> </tt>
-<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line"><tt class="py-docstring">            exponential backoff. If all retries fail, the raised HttpError</tt> </tt>
-<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line"><tt class="py-docstring">            represents the last request. If zero (default), we attempt the</tt> </tt>
-<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line"><tt class="py-docstring">            request only once.</tt> </tt>
-<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line"><tt class="py-docstring">      A deserialized object model of the response body as determined</tt> </tt>
-<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line"><tt class="py-docstring">      by the postproc.</tt> </tt>
-<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line"><tt class="py-docstring">      apiclient.errors.HttpError if the response was not a 2xx.</tt> </tt>
-<a name="L680"></a><tt class="py-lineno"> 680</tt>  <tt class="py-line"><tt class="py-docstring">      httplib2.HttpLib2Error if a transport error has occured.</tt> </tt>
-<a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L682"></a><tt class="py-lineno"> 682</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-93" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-93', 'http', 'link-72');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line">      <tt id="link-94" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-94', 'http', 'link-72');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-95', 'http', 'link-72');">http</a></tt> </tt>
-<a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line"> </tt>
-<a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-96', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line">      <tt id="link-97" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-97', 'body', 'link-58');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line">      <tt class="py-keyword">while</tt> <tt id="link-98" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-98', 'body', 'link-58');">body</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line">        <tt class="py-name">_</tt><tt class="py-op">,</tt> <tt id="link-99" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-99', 'body', 'link-58');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name" targets="Method apiclient.http.HttpRequest.next_chunk()=apiclient.http.HttpRequest-class.html#next_chunk,Method apiclient.http.MediaIoBaseDownload.next_chunk()=apiclient.http.MediaIoBaseDownload-class.html#next_chunk"><a title="apiclient.http.HttpRequest.next_chunk
-apiclient.http.MediaIoBaseDownload.next_chunk" class="py-name" href="#" onclick="return doclink('link-100', 'next_chunk', 'link-100');">next_chunk</a></tt><tt class="py-op">(</tt><tt id="link-101" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-101', 'http', 'link-72');">http</a></tt><tt class="py-op">=</tt><tt id="link-102" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-102', 'http', 'link-72');">http</a></tt><tt class="py-op">,</tt> <tt class="py-name">num_retries</tt><tt class="py-op">=</tt><tt class="py-name">num_retries</tt><tt class="py-op">)</tt> </tt>
-<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-103" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-103', 'body', 'link-58');">body</a></tt> </tt>
-<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line"> </tt>
-<a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line">    <tt class="py-comment"># Non-resumable case.</tt> </tt>
-<a name="L692"></a><tt class="py-lineno"> 692</tt>  <tt class="py-line"> </tt>
-<a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'content-length'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
-<a name="L694"></a><tt class="py-lineno"> 694</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line">    <tt class="py-comment"># If the request URI is too long then turn it into a POST request.</tt> </tt>
-<a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt id="link-104" class="py-name"><a title="apiclient.http.MAX_URI_LENGTH" class="py-name" href="#" onclick="return doclink('link-104', 'MAX_URI_LENGTH', 'link-20');">MAX_URI_LENGTH</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">==</tt> <tt class="py-string">'GET'</tt><tt class="py-op">:</tt> </tt>
-<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-string">'POST'</tt> </tt>
-<a name="L698"></a><tt class="py-lineno"> 698</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'x-http-method-override'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'GET'</tt> </tt>
-<a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'application/x-www-form-urlencoded'</tt> </tt>
-<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line">      <tt class="py-name">parsed</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlparse</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlunparse</tt><tt class="py-op">(</tt> </tt>
-<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line">          <tt class="py-op">(</tt><tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">scheme</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">netloc</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line">           <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line">          <tt class="py-op">)</tt> </tt>
-<a name="L705"></a><tt class="py-lineno"> 705</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-105', 'body', 'link-58');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">query</tt> </tt>
-<a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-106', 'body', 'link-58');">body</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line"> </tt>
-<a name="L708"></a><tt class="py-lineno"> 708</tt>  <tt class="py-line">    <tt class="py-comment"># Handle retries for server-side errors.</tt> </tt>
-<a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">retry_num</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-name">num_retries</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">retry_num</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt><tt class="py-op">**</tt><tt class="py-name">retry_num</tt><tt class="py-op">)</tt> </tt>
-<a name="L712"></a><tt class="py-lineno"> 712</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">'Retry #%d for request: %s %s, following status: %d'</tt> </tt>
-<a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line">                        <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">retry_num</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L714"></a><tt class="py-lineno"> 714</tt>  <tt class="py-line"> </tt>
-<a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-107" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-107', 'http', 'link-72');">http</a></tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-108', 'request', 'link-68');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line">                                   <tt id="link-109" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-109', 'body', 'link-58');">body</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-110', 'body', 'link-58');">body</a></tt><tt class="py-op">,</tt> <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L717"></a><tt class="py-lineno"> 717</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">500</tt><tt class="py-op">:</tt> </tt>
-<a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line">        <tt class="py-keyword">break</tt> </tt>
-<a name="L719"></a><tt class="py-lineno"> 719</tt>  <tt class="py-line"> </tt>
-<a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">callback</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_callbacks</tt><tt class="py-op">:</tt> </tt>
-<a name="L721"></a><tt class="py-lineno"> 721</tt>  <tt class="py-line">      <tt class="py-name">callback</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">)</tt> </tt>
-<a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">300</tt><tt class="py-op">:</tt> </tt>
-<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-111" class="py-name"><a title="apiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-111', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line"> </tt>
-<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-112', 'positional', 'link-21');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="HttpRequest.add_response_callback"></a><div id="HttpRequest.add_response_callback-def"><a name="L727"></a><tt class="py-lineno"> 727</tt> <a class="py-toggle" href="#" id="HttpRequest.add_response_callback-toggle" onclick="return toggle('HttpRequest.add_response_callback');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.HttpRequest-class.html#add_response_callback">add_response_callback</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">cb</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequest.add_response_callback-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.add_response_callback-expanded"><a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line">    <tt class="py-docstring">"""add_response_headers_callback</tt> </tt>
-<a name="L729"></a><tt class="py-lineno"> 729</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L730"></a><tt class="py-lineno"> 730</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line"><tt class="py-docstring">      cb: Callback to be called on receiving the response headers, of signature:</tt> </tt>
-<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line"><tt class="py-docstring">      def cb(resp):</tt> </tt>
-<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line"><tt class="py-docstring">        # Where resp is an instance of httplib2.Response</tt> </tt>
-<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_callbacks</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">cb</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line"> </tt>
-<a name="L738"></a><tt class="py-lineno"> 738</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-113', 'positional', 'link-21');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="HttpRequest.next_chunk"></a><div id="HttpRequest.next_chunk-def"><a name="L739"></a><tt class="py-lineno"> 739</tt> <a class="py-toggle" href="#" id="HttpRequest.next_chunk-toggle" onclick="return toggle('HttpRequest.next_chunk');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.HttpRequest-class.html#next_chunk">next_chunk</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">num_retries</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequest.next_chunk-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.next_chunk-expanded"><a name="L740"></a><tt class="py-lineno"> 740</tt>  <tt class="py-line">    <tt class="py-docstring">"""Execute the next step of a resumable upload.</tt> </tt>
-<a name="L741"></a><tt class="py-lineno"> 741</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L742"></a><tt class="py-lineno"> 742</tt>  <tt class="py-line"><tt class="py-docstring">    Can only be used if the method being executed supports media uploads and</tt> </tt>
-<a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line"><tt class="py-docstring">    the MediaUpload object passed in was flagged as using resumable upload.</tt> </tt>
-<a name="L744"></a><tt class="py-lineno"> 744</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L745"></a><tt class="py-lineno"> 745</tt>  <tt class="py-line"><tt class="py-docstring">    Example:</tt> </tt>
-<a name="L746"></a><tt class="py-lineno"> 746</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line"><tt class="py-docstring">      media = MediaFileUpload('cow.png', mimetype='image/png',</tt> </tt>
-<a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line"><tt class="py-docstring">                              chunksize=1000, resumable=True)</tt> </tt>
-<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line"><tt class="py-docstring">      request = farm.animals().insert(</tt> </tt>
-<a name="L750"></a><tt class="py-lineno"> 750</tt>  <tt class="py-line"><tt class="py-docstring">          id='cow',</tt> </tt>
-<a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line"><tt class="py-docstring">          name='cow.png',</tt> </tt>
-<a name="L752"></a><tt class="py-lineno"> 752</tt>  <tt class="py-line"><tt class="py-docstring">          media_body=media)</tt> </tt>
-<a name="L753"></a><tt class="py-lineno"> 753</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line"><tt class="py-docstring">      response = None</tt> </tt>
-<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line"><tt class="py-docstring">      while response is None:</tt> </tt>
-<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line"><tt class="py-docstring">        status, response = request.next_chunk()</tt> </tt>
-<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line"><tt class="py-docstring">        if status:</tt> </tt>
-<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line"><tt class="py-docstring">          print "Upload %d%% complete." % int(status.progress() * 100)</tt> </tt>
-<a name="L759"></a><tt class="py-lineno"> 759</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used in place of the</tt> </tt>
-<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line"><tt class="py-docstring">            one the HttpRequest request object was constructed with.</tt> </tt>
-<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line"><tt class="py-docstring">      num_retries: Integer, number of times to retry 500's with randomized</tt> </tt>
-<a name="L765"></a><tt class="py-lineno"> 765</tt>  <tt class="py-line"><tt class="py-docstring">            exponential backoff. If all retries fail, the raised HttpError</tt> </tt>
-<a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line"><tt class="py-docstring">            represents the last request. If zero (default), we attempt the</tt> </tt>
-<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line"><tt class="py-docstring">            request only once.</tt> </tt>
-<a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L769"></a><tt class="py-lineno"> 769</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L770"></a><tt class="py-lineno"> 770</tt>  <tt class="py-line"><tt class="py-docstring">      (status, body): (ResumableMediaStatus, object)</tt> </tt>
-<a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line"><tt class="py-docstring">         The body will be None until the resumable media is fully uploaded.</tt> </tt>
-<a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L774"></a><tt class="py-lineno"> 774</tt>  <tt class="py-line"><tt class="py-docstring">      apiclient.errors.HttpError if the response was not a 2xx.</tt> </tt>
-<a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line"><tt class="py-docstring">      httplib2.HttpLib2Error if a transport error has occured.</tt> </tt>
-<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-114" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-114', 'http', 'link-72');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L778"></a><tt class="py-lineno"> 778</tt>  <tt class="py-line">      <tt id="link-115" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-115', 'http', 'link-72');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-116', 'http', 'link-72');">http</a></tt> </tt>
-<a name="L779"></a><tt class="py-lineno"> 779</tt>  <tt class="py-line"> </tt>
-<a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-117', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-118" class="py-name" targets="Method apiclient.http.MediaIoBaseUpload.size()=apiclient.http.MediaIoBaseUpload-class.html#size,Method apiclient.http.MediaUpload.size()=apiclient.http.MediaUpload-class.html#size"><a title="apiclient.http.MediaIoBaseUpload.size
-apiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-118', 'size', 'link-118');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L781"></a><tt class="py-lineno"> 781</tt>  <tt class="py-line">      <tt id="link-119" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.size
-apiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-119', 'size', 'link-118');">size</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'*'</tt> </tt>
-<a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line">      <tt id="link-120" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.size
-apiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-120', 'size', 'link-118');">size</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-121', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.size
-apiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-122', 'size', 'link-118');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L784"></a><tt class="py-lineno"> 784</tt>  <tt class="py-line"> </tt>
-<a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line">      <tt class="py-name">start_headers</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line">      <tt class="py-name">start_headers</tt><tt class="py-op">[</tt><tt class="py-string">'X-Upload-Content-Type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-123', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.mimetype
-apiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-124', 'mimetype', 'link-30');">mimetype</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt id="link-125" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.size
-apiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-125', 'size', 'link-118');">size</a></tt> <tt class="py-op">!=</tt> <tt class="py-string">'*'</tt><tt class="py-op">:</tt> </tt>
-<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line">        <tt class="py-name">start_headers</tt><tt class="py-op">[</tt><tt class="py-string">'X-Upload-Content-Length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-126" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.size
-apiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-126', 'size', 'link-118');">size</a></tt> </tt>
-<a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line">      <tt class="py-name">start_headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L791"></a><tt class="py-lineno"> 791</tt>  <tt class="py-line"> </tt>
-<a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">retry_num</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-name">num_retries</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">retry_num</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L794"></a><tt class="py-lineno"> 794</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt><tt class="py-op">**</tt><tt class="py-name">retry_num</tt><tt class="py-op">)</tt> </tt>
-<a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line">          <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt> </tt>
-<a name="L796"></a><tt class="py-lineno"> 796</tt>  <tt class="py-line">              <tt class="py-string">'Retry #%d for resumable URI request: %s %s, following status: %d'</tt> </tt>
-<a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line">              <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">retry_num</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L798"></a><tt class="py-lineno"> 798</tt>  <tt class="py-line"> </tt>
-<a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line">        <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-127" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-127', 'http', 'link-72');">http</a></tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-128', 'request', 'link-68');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> </tt>
-<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line">                                     <tt id="link-129" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-129', 'body', 'link-58');">body</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-130', 'body', 'link-58');">body</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line">                                     <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">start_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L802"></a><tt class="py-lineno"> 802</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">500</tt><tt class="py-op">:</tt> </tt>
-<a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line">          <tt class="py-keyword">break</tt> </tt>
-<a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line"> </tt>
-<a name="L805"></a><tt class="py-lineno"> 805</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">200</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'location'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resp</tt><tt class="py-op">:</tt> </tt>
-<a name="L806"></a><tt class="py-lineno"> 806</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'location'</tt><tt class="py-op">]</tt> </tt>
-<a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt id="link-131" class="py-name"><a title="apiclient.errors.ResumableUploadError" class="py-name" href="#" onclick="return doclink('link-131', 'ResumableUploadError', 'link-8');">ResumableUploadError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L809"></a><tt class="py-lineno"> 809</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt><tt class="py-op">:</tt> </tt>
-<a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line">      <tt class="py-comment"># If we are in an error state then query the server for current state of</tt> </tt>
-<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line">      <tt class="py-comment"># the upload by sending an empty PUT and reading the 'range' header in</tt> </tt>
-<a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line">      <tt class="py-comment"># the response.</tt> </tt>
-<a name="L813"></a><tt class="py-lineno"> 813</tt>  <tt class="py-line">      <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line">          <tt class="py-string">'Content-Range'</tt><tt class="py-op">:</tt> <tt class="py-string">'bytes */%s'</tt> <tt class="py-op">%</tt> <tt id="link-132" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.size
-apiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-132', 'size', 'link-118');">size</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line">          <tt class="py-string">'content-length'</tt><tt class="py-op">:</tt> <tt class="py-string">'0'</tt> </tt>
-<a name="L816"></a><tt class="py-lineno"> 816</tt>  <tt class="py-line">          <tt class="py-op">}</tt> </tt>
-<a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-133" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-133', 'http', 'link-72');">http</a></tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-134', 'request', 'link-68');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt><tt class="py-op">,</tt> <tt class="py-string">'PUT'</tt><tt class="py-op">,</tt> </tt>
-<a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line">                                   <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L819"></a><tt class="py-lineno"> 819</tt>  <tt class="py-line">      <tt class="py-name">status</tt><tt class="py-op">,</tt> <tt id="link-135" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-135', 'body', 'link-58');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name" targets="Method apiclient.http.HttpRequest._process_response()=apiclient.http.HttpRequest-class.html#_process_response"><a title="apiclient.http.HttpRequest._process_response" class="py-name" href="#" onclick="return doclink('link-136', '_process_response', 'link-136');">_process_response</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt id="link-137" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-137', 'body', 'link-58');">body</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line">        <tt class="py-comment"># The upload was complete.</tt> </tt>
-<a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">status</tt><tt class="py-op">,</tt> <tt id="link-138" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-138', 'body', 'link-58');">body</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L823"></a><tt class="py-lineno"> 823</tt>  <tt class="py-line"> </tt>
-<a name="L824"></a><tt class="py-lineno"> 824</tt>  <tt class="py-line">    <tt class="py-comment"># The httplib.request method can take streams for the body parameter, but</tt> </tt>
-<a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line">    <tt class="py-comment"># only in Python 2.6 or later. If a stream is available under those</tt> </tt>
-<a name="L826"></a><tt class="py-lineno"> 826</tt>  <tt class="py-line">    <tt class="py-comment"># conditions then use it as the body argument.</tt> </tt>
-<a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-139', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-140" class="py-name" targets="Method apiclient.http.MediaIoBaseUpload.has_stream()=apiclient.http.MediaIoBaseUpload-class.html#has_stream,Method apiclient.http.MediaUpload.has_stream()=apiclient.http.MediaUpload-class.html#has_stream"><a title="apiclient.http.MediaIoBaseUpload.has_stream
-apiclient.http.MediaUpload.has_stream" class="py-name" href="#" onclick="return doclink('link-140', 'has_stream', 'link-140');">has_stream</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">version_info</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">6</tt><tt class="py-op">:</tt> </tt>
-<a name="L828"></a><tt class="py-lineno"> 828</tt>  <tt class="py-line">      <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-141', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.stream
-apiclient.http.MediaUpload.stream" class="py-name" href="#" onclick="return doclink('link-142', 'stream', 'link-78');">stream</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L829"></a><tt class="py-lineno"> 829</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-143', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.chunksize
-apiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-144', 'chunksize', 'link-31');">chunksize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line">        <tt class="py-name">data</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">)</tt> </tt>
-<a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line">        <tt class="py-name">chunk_end</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-145', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.size
-apiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-146', 'size', 'link-118');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
-<a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line">        <tt class="py-comment"># Doing chunking with a stream, so wrap a slice of the stream.</tt> </tt>
-<a name="L834"></a><tt class="py-lineno"> 834</tt>  <tt class="py-line">        <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt id="link-147" class="py-name" targets="Class apiclient.http._StreamSlice=apiclient.http._StreamSlice-class.html"><a title="apiclient.http._StreamSlice" class="py-name" href="#" onclick="return doclink('link-147', '_StreamSlice', 'link-147');">_StreamSlice</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">,</tt> </tt>
-<a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line">                            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-148', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.chunksize
-apiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-149', 'chunksize', 'link-31');">chunksize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line">        <tt class="py-name">chunk_end</tt> <tt class="py-op">=</tt> <tt class="py-name">min</tt><tt class="py-op">(</tt> </tt>
-<a name="L837"></a><tt class="py-lineno"> 837</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-150', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.chunksize
-apiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-151', 'chunksize', 'link-31');">chunksize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
-<a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-152', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.size
-apiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-153', 'size', 'link-118');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line">      <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-154', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-155" class="py-name" targets="Method apiclient.http.MediaIoBaseUpload.getbytes()=apiclient.http.MediaIoBaseUpload-class.html#getbytes,Method apiclient.http.MediaUpload.getbytes()=apiclient.http.MediaUpload-class.html#getbytes"><a title="apiclient.http.MediaIoBaseUpload.getbytes
-apiclient.http.MediaUpload.getbytes" class="py-name" href="#" onclick="return doclink('link-155', 'getbytes', 'link-155');">getbytes</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-156', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.chunksize
-apiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-157', 'chunksize', 'link-31');">chunksize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line"> </tt>
-<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line">      <tt class="py-comment"># A short read implies that we are at EOF, so finish the upload.</tt> </tt>
-<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-158', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.chunksize
-apiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-159', 'chunksize', 'link-31');">chunksize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L845"></a><tt class="py-lineno"> 845</tt>  <tt class="py-line">        <tt id="link-160" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.size
-apiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-160', 'size', 'link-118');">size</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">+</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line"> </tt>
-<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line">      <tt class="py-name">chunk_end</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">+</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
-<a name="L848"></a><tt class="py-lineno"> 848</tt>  <tt class="py-line"> </tt>
-<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line">        <tt class="py-string">'Content-Range'</tt><tt class="py-op">:</tt> <tt class="py-string">'bytes %d-%d/%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
-<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">,</tt> <tt class="py-name">chunk_end</tt><tt class="py-op">,</tt> <tt id="link-161" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.size
-apiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-161', 'size', 'link-118');">size</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line">        <tt class="py-comment"># Must set the content-length header here because httplib can't</tt> </tt>
-<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line">        <tt class="py-comment"># calculate the size when working with _StreamSlice.</tt> </tt>
-<a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line">        <tt class="py-string">'Content-Length'</tt><tt class="py-op">:</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">chunk_end</tt> <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L855"></a><tt class="py-lineno"> 855</tt>  <tt class="py-line">        <tt class="py-op">}</tt> </tt>
-<a name="L856"></a><tt class="py-lineno"> 856</tt>  <tt class="py-line"> </tt>
-<a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">retry_num</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-name">num_retries</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">retry_num</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L859"></a><tt class="py-lineno"> 859</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt><tt class="py-op">**</tt><tt class="py-name">retry_num</tt><tt class="py-op">)</tt> </tt>
-<a name="L860"></a><tt class="py-lineno"> 860</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt> </tt>
-<a name="L861"></a><tt class="py-lineno"> 861</tt>  <tt class="py-line">            <tt class="py-string">'Retry #%d for media upload: %s %s, following status: %d'</tt> </tt>
-<a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line">            <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">retry_num</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line"> </tt>
-<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line">        <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-162" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-162', 'http', 'link-72');">http</a></tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-163', 'request', 'link-68');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-string">'PUT'</tt><tt class="py-op">,</tt> </tt>
-<a name="L866"></a><tt class="py-lineno"> 866</tt>  <tt class="py-line">                                     <tt id="link-164" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-164', 'body', 'link-58');">body</a></tt><tt class="py-op">=</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> </tt>
-<a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line">                                     <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L870"></a><tt class="py-lineno"> 870</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> </tt>
-<a name="L871"></a><tt class="py-lineno"> 871</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">500</tt><tt class="py-op">:</tt> </tt>
-<a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line">        <tt class="py-keyword">break</tt> </tt>
-<a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line"> </tt>
-<a name="L874"></a><tt class="py-lineno"> 874</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="apiclient.http.HttpRequest._process_response" class="py-name" href="#" onclick="return doclink('link-165', '_process_response', 'link-136');">_process_response</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line"> </tt>
-<a name="HttpRequest._process_response"></a><div id="HttpRequest._process_response-def"><a name="L876"></a><tt class="py-lineno"> 876</tt> <a class="py-toggle" href="#" id="HttpRequest._process_response-toggle" onclick="return toggle('HttpRequest._process_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.HttpRequest-class.html#_process_response">_process_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequest._process_response-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest._process_response-expanded"><a name="L877"></a><tt class="py-lineno"> 877</tt>  <tt class="py-line">    <tt class="py-docstring">"""Process the response from a single chunk upload.</tt> </tt>
-<a name="L878"></a><tt class="py-lineno"> 878</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L880"></a><tt class="py-lineno"> 880</tt>  <tt class="py-line"><tt class="py-docstring">      resp: httplib2.Response, the response object.</tt> </tt>
-<a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the content of the response.</tt> </tt>
-<a name="L882"></a><tt class="py-lineno"> 882</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line"><tt class="py-docstring">      (status, body): (ResumableMediaStatus, object)</tt> </tt>
-<a name="L885"></a><tt class="py-lineno"> 885</tt>  <tt class="py-line"><tt class="py-docstring">         The body will be None until the resumable media is fully uploaded.</tt> </tt>
-<a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line"><tt class="py-docstring">      apiclient.errors.HttpError if the response was not a 2xx or a 308.</tt> </tt>
-<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-number">200</tt><tt class="py-op">,</tt> <tt class="py-number">201</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
-<a name="L891"></a><tt class="py-lineno"> 891</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L892"></a><tt class="py-lineno"> 892</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">308</tt><tt class="py-op">:</tt> </tt>
-<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line">      <tt class="py-comment"># A "308 Resume Incomplete" indicates we are not done.</tt> </tt>
-<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'range'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'-'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'location'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resp</tt><tt class="py-op">:</tt> </tt>
-<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'location'</tt><tt class="py-op">]</tt> </tt>
-<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L901"></a><tt class="py-lineno"> 901</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-166" class="py-name"><a title="apiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-166', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line"> </tt>
-<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt id="link-167" class="py-name" targets="Class apiclient.http.MediaUploadProgress=apiclient.http.MediaUploadProgress-class.html"><a title="apiclient.http.MediaUploadProgress" class="py-name" href="#" onclick="return doclink('link-167', 'MediaUploadProgress', 'link-167');">MediaUploadProgress</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-168', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.size
-apiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-169', 'size', 'link-118');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line">            <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line"> </tt>
-<a name="HttpRequest.to_json"></a><div id="HttpRequest.to_json-def"><a name="L906"></a><tt class="py-lineno"> 906</tt> <a class="py-toggle" href="#" id="HttpRequest.to_json-toggle" onclick="return toggle('HttpRequest.to_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.HttpRequest-class.html#to_json">to_json</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequest.to_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.to_json-expanded"><a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line">    <tt class="py-docstring">"""Returns a JSON representation of the HttpRequest."""</tt> </tt>
-<a name="L908"></a><tt class="py-lineno"> 908</tt>  <tt class="py-line">    <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">)</tt> </tt>
-<a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line">      <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-170', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-171" class="py-name" targets="Method apiclient.http.HttpRequest.to_json()=apiclient.http.HttpRequest-class.html#to_json,Method apiclient.http.MediaFileUpload.to_json()=apiclient.http.MediaFileUpload-class.html#to_json,Method apiclient.http.MediaIoBaseUpload.to_json()=apiclient.http.MediaIoBaseUpload-class.html#to_json,Method apiclient.http.MediaUpload.to_json()=apiclient.http.MediaUpload-class.html#to_json,Method oauth2client.client.Credentials.to_json()=oauth2client.client.Credentials-class.html#to_json,Method oauth2client.client.OAuth2Credentials.to_json()=oauth2client.client.OAuth2Credentials-class.html#to_json"><a title="apiclient.http.HttpRequest.to_json
-apiclient.http.MediaFileUpload.to_json
-apiclient.http.MediaIoBaseUpload.to_json
-apiclient.http.MediaUpload.to_json
-oauth2client.client.Credentials.to_json
-oauth2client.client.OAuth2Credentials.to_json" class="py-name" href="#" onclick="return doclink('link-171', 'to_json', 'link-171');">to_json</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'http'</tt><tt class="py-op">]</tt> </tt>
-<a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'postproc'</tt><tt class="py-op">]</tt> </tt>
-<a name="L913"></a><tt class="py-lineno"> 913</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_sleep'</tt><tt class="py-op">]</tt> </tt>
-<a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_rand'</tt><tt class="py-op">]</tt> </tt>
-<a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line"> </tt>
-<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line"> </tt>
-<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
-<a name="HttpRequest.from_json"></a><div id="HttpRequest.from_json-def"><a name="L919"></a><tt class="py-lineno"> 919</tt> <a class="py-toggle" href="#" id="HttpRequest.from_json-toggle" onclick="return toggle('HttpRequest.from_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.HttpRequest-class.html#from_json">from_json</a><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">postproc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequest.from_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.from_json-expanded"><a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">    <tt class="py-docstring">"""Returns an HttpRequest populated with info from a JSON object."""</tt> </tt>
-<a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line">    <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-172', 'loads', 'link-23');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L922"></a><tt class="py-lineno"> 922</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line">      <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-173" class="py-name" targets="Class apiclient.http.MediaUpload=apiclient.http.MediaUpload-class.html"><a title="apiclient.http.MediaUpload" class="py-name" href="#" onclick="return doclink('link-173', 'MediaUpload', 'link-173');">MediaUpload</a></tt><tt class="py-op">.</tt><tt id="link-174" class="py-name" targets="Class Method apiclient.http.MediaUpload.new_from_json()=apiclient.http.MediaUpload-class.html#new_from_json,Class Method oauth2client.client.Credentials.new_from_json()=oauth2client.client.Credentials-class.html#new_from_json"><a title="apiclient.http.MediaUpload.new_from_json
-oauth2client.client.Credentials.new_from_json" class="py-name" href="#" onclick="return doclink('link-174', 'new_from_json', 'link-174');">new_from_json</a></tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-175" class="py-name" targets="Class apiclient.http.HttpRequest=apiclient.http.HttpRequest-class.html"><a title="apiclient.http.HttpRequest" class="py-name" href="#" onclick="return doclink('link-175', 'HttpRequest', 'link-175');">HttpRequest</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line">        <tt id="link-176" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-176', 'http', 'link-72');">http</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line">        <tt class="py-name">postproc</tt><tt class="py-op">,</tt> </tt>
-<a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line">        <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'uri'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line">        <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'method'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line">        <tt id="link-177" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-177', 'body', 'link-58');">body</a></tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'body'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line">        <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'headers'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line">        <tt class="py-name">methodId</tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'methodId'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line">        <tt id="link-178" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-178', 'resumable', 'link-35');">resumable</a></tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line"> </tt>
-<a name="BatchHttpRequest"></a><div id="BatchHttpRequest-def"><a name="L934"></a><tt class="py-lineno"> 934</tt>  <tt class="py-line"> </tt>
-<a name="L935"></a><tt class="py-lineno"> 935</tt> <a class="py-toggle" href="#" id="BatchHttpRequest-toggle" onclick="return toggle('BatchHttpRequest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="BatchHttpRequest-expanded"><a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line">  <tt class="py-docstring">"""Batches multiple HttpRequest objects into a single HTTP request.</tt> </tt>
-<a name="L937"></a><tt class="py-lineno"> 937</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L938"></a><tt class="py-lineno"> 938</tt>  <tt class="py-line"><tt class="py-docstring">  Example:</tt> </tt>
-<a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line"><tt class="py-docstring">    from apiclient.http import BatchHttpRequest</tt> </tt>
-<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line"><tt class="py-docstring">    def list_animals(request_id, response, exception):</tt> </tt>
-<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line"><tt class="py-docstring">      \"\"\"Do something with the animals list response.\"\"\"</tt> </tt>
-<a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line"><tt class="py-docstring">      if exception is not None:</tt> </tt>
-<a name="L944"></a><tt class="py-lineno"> 944</tt>  <tt class="py-line"><tt class="py-docstring">        # Do something with the exception.</tt> </tt>
-<a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line"><tt class="py-docstring">        pass</tt> </tt>
-<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line"><tt class="py-docstring">      else:</tt> </tt>
-<a name="L947"></a><tt class="py-lineno"> 947</tt>  <tt class="py-line"><tt class="py-docstring">        # Do something with the response.</tt> </tt>
-<a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line"><tt class="py-docstring">        pass</tt> </tt>
-<a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L950"></a><tt class="py-lineno"> 950</tt>  <tt class="py-line"><tt class="py-docstring">    def list_farmers(request_id, response, exception):</tt> </tt>
-<a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line"><tt class="py-docstring">      \"\"\"Do something with the farmers list response.\"\"\"</tt> </tt>
-<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line"><tt class="py-docstring">      if exception is not None:</tt> </tt>
-<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line"><tt class="py-docstring">        # Do something with the exception.</tt> </tt>
-<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line"><tt class="py-docstring">        pass</tt> </tt>
-<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line"><tt class="py-docstring">      else:</tt> </tt>
-<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line"><tt class="py-docstring">        # Do something with the response.</tt> </tt>
-<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line"><tt class="py-docstring">        pass</tt> </tt>
-<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line"><tt class="py-docstring">    service = build('farm', 'v2')</tt> </tt>
-<a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line"><tt class="py-docstring">    batch = BatchHttpRequest()</tt> </tt>
-<a name="L962"></a><tt class="py-lineno"> 962</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L963"></a><tt class="py-lineno"> 963</tt>  <tt class="py-line"><tt class="py-docstring">    batch.add(service.animals().list(), list_animals)</tt> </tt>
-<a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line"><tt class="py-docstring">    batch.add(service.farmers().list(), list_farmers)</tt> </tt>
-<a name="L965"></a><tt class="py-lineno"> 965</tt>  <tt class="py-line"><tt class="py-docstring">    batch.execute(http=http)</tt> </tt>
-<a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line"> </tt>
-<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-179', 'positional', 'link-21');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="BatchHttpRequest.__init__"></a><div id="BatchHttpRequest.__init__-def"><a name="L969"></a><tt class="py-lineno"> 969</tt> <a class="py-toggle" href="#" id="BatchHttpRequest.__init__-toggle" onclick="return toggle('BatchHttpRequest.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.BatchHttpRequest-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">callback</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">batch_uri</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest.__init__-expanded"><a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for a BatchHttpRequest.</tt> </tt>
-<a name="L971"></a><tt class="py-lineno"> 971</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L973"></a><tt class="py-lineno"> 973</tt>  <tt class="py-line"><tt class="py-docstring">      callback: callable, A callback to be called for each response, of the</tt> </tt>
-<a name="L974"></a><tt class="py-lineno"> 974</tt>  <tt class="py-line"><tt class="py-docstring">        form callback(id, response, exception). The first parameter is the</tt> </tt>
-<a name="L975"></a><tt class="py-lineno"> 975</tt>  <tt class="py-line"><tt class="py-docstring">        request id, and the second is the deserialized response object. The</tt> </tt>
-<a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line"><tt class="py-docstring">        third is an apiclient.errors.HttpError exception object if an HTTP error</tt> </tt>
-<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line"><tt class="py-docstring">        occurred while processing the request, or None if no error occurred.</tt> </tt>
-<a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line"><tt class="py-docstring">      batch_uri: string, URI to send batch requests to.</tt> </tt>
-<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">batch_uri</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line">      <tt class="py-name">batch_uri</tt> <tt class="py-op">=</tt> <tt class="py-string">'https://www.googleapis.com/batch'</tt> </tt>
-<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_batch_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">batch_uri</tt> </tt>
-<a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line"> </tt>
-<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line">    <tt class="py-comment"># Global callback to be called for each individual response in the batch.</tt> </tt>
-<a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callback</tt> <tt class="py-op">=</tt> <tt class="py-name">callback</tt> </tt>
-<a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line"> </tt>
-<a name="L987"></a><tt class="py-lineno"> 987</tt>  <tt class="py-line">    <tt class="py-comment"># A map from id to request.</tt> </tt>
-<a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line"> </tt>
-<a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line">    <tt class="py-comment"># A map from id to callback.</tt> </tt>
-<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callbacks</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line"> </tt>
-<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line">    <tt class="py-comment"># List of request ids, in the order in which they were added.</tt> </tt>
-<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line"> </tt>
-<a name="L996"></a><tt class="py-lineno"> 996</tt>  <tt class="py-line">    <tt class="py-comment"># The last auto generated id.</tt> </tt>
-<a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line"> </tt>
-<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line">    <tt class="py-comment"># Unique ID on which to base the Content-ID headers.</tt> </tt>
-<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base_id</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line"> </tt>
-<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line">    <tt class="py-comment"># A map from request id to (httplib2.Response, content) response pairs</tt> </tt>
-<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_responses</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line"> </tt>
-<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line">    <tt class="py-comment"># A map of id(Credentials) that have been refreshed.</tt> </tt>
-<a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_refreshed_credentials</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-</div><a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line"> </tt>
-<a name="BatchHttpRequest._refresh_and_apply_credentials"></a><div id="BatchHttpRequest._refresh_and_apply_credentials-def"><a name="L1008"></a><tt class="py-lineno">1008</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._refresh_and_apply_credentials-toggle" onclick="return toggle('BatchHttpRequest._refresh_and_apply_credentials');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.BatchHttpRequest-class.html#_refresh_and_apply_credentials">_refresh_and_apply_credentials</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest._refresh_and_apply_credentials-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._refresh_and_apply_credentials-expanded"><a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line">    <tt class="py-docstring">"""Refresh the credentials and apply to the request.</tt> </tt>
-<a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line"><tt class="py-docstring">      request: HttpRequest, the request.</tt> </tt>
-<a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, the global http object for the batch.</tt> </tt>
-<a name="L1014"></a><tt class="py-lineno">1014</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1015"></a><tt class="py-lineno">1015</tt>  <tt class="py-line">    <tt class="py-comment"># For the credentials to refresh, but only once per refresh_token</tt> </tt>
-<a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line">    <tt class="py-comment"># If there is no http per the request then refresh the http passed in</tt> </tt>
-<a name="L1017"></a><tt class="py-lineno">1017</tt>  <tt class="py-line">    <tt class="py-comment"># via execute()</tt> </tt>
-<a name="L1018"></a><tt class="py-lineno">1018</tt>  <tt class="py-line">    <tt class="py-name">creds</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1019"></a><tt class="py-lineno">1019</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-180" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-180', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-181', 'http', 'link-72');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-182" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-182', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-183', 'http', 'link-72');">http</a></tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-184', 'request', 'link-68');">request</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1020"></a><tt class="py-lineno">1020</tt>  <tt class="py-line">        <tt class="py-string">'credentials'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1021"></a><tt class="py-lineno">1021</tt>  <tt class="py-line">      <tt class="py-name">creds</tt> <tt class="py-op">=</tt> <tt id="link-185" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-185', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-186', 'http', 'link-72');">http</a></tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-187', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt id="link-188" class="py-name" targets="Variable oauth2client.appengine.CredentialsModel.credentials=oauth2client.appengine.CredentialsModel-class.html#credentials,Variable oauth2client.appengine.CredentialsNDBModel.credentials=oauth2client.appengine.CredentialsNDBModel-class.html#credentials,Variable oauth2client.appengine.OAuth2Decorator.credentials=oauth2client.appengine.OAuth2Decorator-class.html#credentials"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-188', 'credentials', 'link-188');">credentials</a></tt> </tt>
-<a name="L1022"></a><tt class="py-lineno">1022</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt id="link-189" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-189', 'http', 'link-72');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-190" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-190', 'http', 'link-72');">http</a></tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-191', 'request', 'link-68');">request</a></tt><tt class="py-op">,</tt> <tt class="py-string">'credentials'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1023"></a><tt class="py-lineno">1023</tt>  <tt class="py-line">      <tt class="py-name">creds</tt> <tt class="py-op">=</tt> <tt id="link-192" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-192', 'http', 'link-72');">http</a></tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-193', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-194', 'credentials', 'link-188');">credentials</a></tt> </tt>
-<a name="L1024"></a><tt class="py-lineno">1024</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">creds</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1025"></a><tt class="py-lineno">1025</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">id</tt><tt class="py-op">(</tt><tt class="py-name">creds</tt><tt class="py-op">)</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_refreshed_credentials</tt><tt class="py-op">:</tt> </tt>
-<a name="L1026"></a><tt class="py-lineno">1026</tt>  <tt class="py-line">        <tt class="py-name">creds</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name" targets="Method oauth2client.client.Credentials.refresh()=oauth2client.client.Credentials-class.html#refresh,Method oauth2client.client.OAuth2Credentials.refresh()=oauth2client.client.OAuth2Credentials-class.html#refresh"><a title="oauth2client.client.Credentials.refresh
-oauth2client.client.OAuth2Credentials.refresh" class="py-name" href="#" onclick="return doclink('link-195', 'refresh', 'link-195');">refresh</a></tt><tt class="py-op">(</tt><tt id="link-196" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-196', 'http', 'link-72');">http</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_refreshed_credentials</tt><tt class="py-op">[</tt><tt class="py-name">id</tt><tt class="py-op">(</tt><tt class="py-name">creds</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line"> </tt>
-<a name="L1029"></a><tt class="py-lineno">1029</tt>  <tt class="py-line">    <tt class="py-comment"># Only apply the credentials if we are using the http object passed in,</tt> </tt>
-<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line">    <tt class="py-comment"># otherwise apply() will get called during _serialize_request().</tt> </tt>
-<a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-197" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-197', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-198', 'http', 'link-72');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-199" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-199', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-200', 'http', 'link-72');">http</a></tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-201', 'request', 'link-68');">request</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line">        <tt class="py-string">'credentials'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line">      <tt class="py-name">creds</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name" targets="Method oauth2client.client.Credentials.apply()=oauth2client.client.Credentials-class.html#apply,Method oauth2client.client.OAuth2Credentials.apply()=oauth2client.client.OAuth2Credentials-class.html#apply"><a title="oauth2client.client.Credentials.apply
-oauth2client.client.OAuth2Credentials.apply" class="py-name" href="#" onclick="return doclink('link-202', 'apply', 'link-202');">apply</a></tt><tt class="py-op">(</tt><tt id="link-203" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-203', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1034"></a><tt class="py-lineno">1034</tt>  <tt class="py-line"> </tt>
-<a name="BatchHttpRequest._id_to_header"></a><div id="BatchHttpRequest._id_to_header-def"><a name="L1035"></a><tt class="py-lineno">1035</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._id_to_header-toggle" onclick="return toggle('BatchHttpRequest._id_to_header');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.BatchHttpRequest-class.html#_id_to_header">_id_to_header</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">id_</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest._id_to_header-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._id_to_header-expanded"><a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert an id to a Content-ID header value.</tt> </tt>
-<a name="L1037"></a><tt class="py-lineno">1037</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line"><tt class="py-docstring">      id_: string, identifier of individual request.</tt> </tt>
-<a name="L1040"></a><tt class="py-lineno">1040</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L1042"></a><tt class="py-lineno">1042</tt>  <tt class="py-line"><tt class="py-docstring">      A Content-ID header with the id_ encoded into it. A UUID is prepended to</tt> </tt>
-<a name="L1043"></a><tt class="py-lineno">1043</tt>  <tt class="py-line"><tt class="py-docstring">      the value because Content-ID headers are supposed to be universally</tt> </tt>
-<a name="L1044"></a><tt class="py-lineno">1044</tt>  <tt class="py-line"><tt class="py-docstring">      unique.</tt> </tt>
-<a name="L1045"></a><tt class="py-lineno">1045</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1046"></a><tt class="py-lineno">1046</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base_id</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1047"></a><tt class="py-lineno">1047</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base_id</tt> <tt class="py-op">=</tt> <tt class="py-name">uuid</tt><tt class="py-op">.</tt><tt class="py-name">uuid4</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1048"></a><tt class="py-lineno">1048</tt>  <tt class="py-line"> </tt>
-<a name="L1049"></a><tt class="py-lineno">1049</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;%s+%s&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base_id</tt><tt class="py-op">,</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">quote</tt><tt class="py-op">(</tt><tt class="py-name">id_</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1050"></a><tt class="py-lineno">1050</tt>  <tt class="py-line"> </tt>
-<a name="BatchHttpRequest._header_to_id"></a><div id="BatchHttpRequest._header_to_id-def"><a name="L1051"></a><tt class="py-lineno">1051</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._header_to_id-toggle" onclick="return toggle('BatchHttpRequest._header_to_id');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.BatchHttpRequest-class.html#_header_to_id">_header_to_id</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">header</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest._header_to_id-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._header_to_id-expanded"><a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert a Content-ID header value to an id.</tt> </tt>
-<a name="L1053"></a><tt class="py-lineno">1053</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1054"></a><tt class="py-lineno">1054</tt>  <tt class="py-line"><tt class="py-docstring">    Presumes the Content-ID header conforms to the format that _id_to_header()</tt> </tt>
-<a name="L1055"></a><tt class="py-lineno">1055</tt>  <tt class="py-line"><tt class="py-docstring">    returns.</tt> </tt>
-<a name="L1056"></a><tt class="py-lineno">1056</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1057"></a><tt class="py-lineno">1057</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1058"></a><tt class="py-lineno">1058</tt>  <tt class="py-line"><tt class="py-docstring">      header: string, Content-ID header value.</tt> </tt>
-<a name="L1059"></a><tt class="py-lineno">1059</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1060"></a><tt class="py-lineno">1060</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L1061"></a><tt class="py-lineno">1061</tt>  <tt class="py-line"><tt class="py-docstring">      The extracted id value.</tt> </tt>
-<a name="L1062"></a><tt class="py-lineno">1062</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1063"></a><tt class="py-lineno">1063</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L1064"></a><tt class="py-lineno">1064</tt>  <tt class="py-line"><tt class="py-docstring">      BatchError if the header is not in the expected format.</tt> </tt>
-<a name="L1065"></a><tt class="py-lineno">1065</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1066"></a><tt class="py-lineno">1066</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">header</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'&lt;'</tt> <tt class="py-keyword">or</tt> <tt class="py-name">header</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'&gt;'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1067"></a><tt class="py-lineno">1067</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-204" class="py-name"><a title="apiclient.errors.BatchError" class="py-name" href="#" onclick="return doclink('link-204', 'BatchError', 'link-2');">BatchError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Invalid value for Content-ID: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">header</tt><tt class="py-op">)</tt> </tt>
-<a name="L1068"></a><tt class="py-lineno">1068</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'+'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">header</tt><tt class="py-op">:</tt> </tt>
-<a name="L1069"></a><tt class="py-lineno">1069</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-205" class="py-name"><a title="apiclient.errors.BatchError" class="py-name" href="#" onclick="return doclink('link-205', 'BatchError', 'link-2');">BatchError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Invalid value for Content-ID: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">header</tt><tt class="py-op">)</tt> </tt>
-<a name="L1070"></a><tt class="py-lineno">1070</tt>  <tt class="py-line">    <tt class="py-name">base</tt><tt class="py-op">,</tt> <tt class="py-name">id_</tt> <tt class="py-op">=</tt> <tt class="py-name">header</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">rsplit</tt><tt class="py-op">(</tt><tt class="py-string">'+'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L1071"></a><tt class="py-lineno">1071</tt>  <tt class="py-line"> </tt>
-<a name="L1072"></a><tt class="py-lineno">1072</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">unquote</tt><tt class="py-op">(</tt><tt class="py-name">id_</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1073"></a><tt class="py-lineno">1073</tt>  <tt class="py-line"> </tt>
-<a name="BatchHttpRequest._serialize_request"></a><div id="BatchHttpRequest._serialize_request-def"><a name="L1074"></a><tt class="py-lineno">1074</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._serialize_request-toggle" onclick="return toggle('BatchHttpRequest._serialize_request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.BatchHttpRequest-class.html#_serialize_request">_serialize_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest._serialize_request-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._serialize_request-expanded"><a name="L1075"></a><tt class="py-lineno">1075</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert an HttpRequest object into a string.</tt> </tt>
-<a name="L1076"></a><tt class="py-lineno">1076</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1077"></a><tt class="py-lineno">1077</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1078"></a><tt class="py-lineno">1078</tt>  <tt class="py-line"><tt class="py-docstring">      request: HttpRequest, the request to serialize.</tt> </tt>
-<a name="L1079"></a><tt class="py-lineno">1079</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1080"></a><tt class="py-lineno">1080</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L1081"></a><tt class="py-lineno">1081</tt>  <tt class="py-line"><tt class="py-docstring">      The request as a string in application/http format.</tt> </tt>
-<a name="L1082"></a><tt class="py-lineno">1082</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1083"></a><tt class="py-lineno">1083</tt>  <tt class="py-line">    <tt class="py-comment"># Construct status line</tt> </tt>
-<a name="L1084"></a><tt class="py-lineno">1084</tt>  <tt class="py-line">    <tt class="py-name">parsed</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlparse</tt><tt class="py-op">(</tt><tt id="link-206" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-206', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L1085"></a><tt class="py-lineno">1085</tt>  <tt class="py-line">    <tt class="py-name">request_line</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlunparse</tt><tt class="py-op">(</tt> </tt>
-<a name="L1086"></a><tt class="py-lineno">1086</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L1087"></a><tt class="py-lineno">1087</tt>  <tt class="py-line">        <tt class="py-op">)</tt> </tt>
-<a name="L1088"></a><tt class="py-lineno">1088</tt>  <tt class="py-line">    <tt class="py-name">status_line</tt> <tt class="py-op">=</tt> <tt id="link-207" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-207', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> <tt class="py-op">+</tt> <tt class="py-name">request_line</tt> <tt class="py-op">+</tt> <tt class="py-string">' HTTP/1.1\n'</tt> </tt>
-<a name="L1089"></a><tt class="py-lineno">1089</tt>  <tt class="py-line">    <tt class="py-name">major</tt><tt class="py-op">,</tt> <tt class="py-name">minor</tt> <tt class="py-op">=</tt> <tt id="link-208" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-208', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-209', 'get', 'link-90');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'content-type'</tt><tt class="py-op">,</tt> <tt class="py-string">'application/json'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1090"></a><tt class="py-lineno">1090</tt>  <tt class="py-line">    <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMENonMultipart</tt><tt class="py-op">(</tt><tt class="py-name">major</tt><tt class="py-op">,</tt> <tt class="py-name">minor</tt><tt class="py-op">)</tt> </tt>
-<a name="L1091"></a><tt class="py-lineno">1091</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt id="link-210" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-210', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1092"></a><tt class="py-lineno">1092</tt>  <tt class="py-line"> </tt>
-<a name="L1093"></a><tt class="py-lineno">1093</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-211" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-211', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-212', 'http', 'link-72');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-213" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-213', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt id="link-214" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-214', 'http', 'link-72');">http</a></tt><tt class="py-op">.</tt><tt id="link-215" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-215', 'request', 'link-68');">request</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1094"></a><tt class="py-lineno">1094</tt>  <tt class="py-line">        <tt class="py-string">'credentials'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1095"></a><tt class="py-lineno">1095</tt>  <tt class="py-line">      <tt id="link-216" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-216', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-217', 'http', 'link-72');">http</a></tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-218', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt id="link-219" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-219', 'credentials', 'link-188');">credentials</a></tt><tt class="py-op">.</tt><tt id="link-220" class="py-name"><a title="oauth2client.client.Credentials.apply
-oauth2client.client.OAuth2Credentials.apply" class="py-name" href="#" onclick="return doclink('link-220', 'apply', 'link-202');">apply</a></tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L1096"></a><tt class="py-lineno">1096</tt>  <tt class="py-line"> </tt>
-<a name="L1097"></a><tt class="py-lineno">1097</tt>  <tt class="py-line">    <tt class="py-comment"># MIMENonMultipart adds its own Content-Type header.</tt> </tt>
-<a name="L1098"></a><tt class="py-lineno">1098</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'content-type'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
-<a name="L1099"></a><tt class="py-lineno">1099</tt>  <tt class="py-line">      <tt class="py-keyword">del</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> </tt>
-<a name="L1100"></a><tt class="py-lineno">1100</tt>  <tt class="py-line"> </tt>
-<a name="L1101"></a><tt class="py-lineno">1101</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1102"></a><tt class="py-lineno">1102</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
-<a name="L1103"></a><tt class="py-lineno">1103</tt>  <tt class="py-line">    <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'Host'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">netloc</tt> </tt>
-<a name="L1104"></a><tt class="py-lineno">1104</tt>  <tt class="py-line">    <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_unixfrom</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L1105"></a><tt class="py-lineno">1105</tt>  <tt class="py-line"> </tt>
-<a name="L1106"></a><tt class="py-lineno">1106</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-221" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-221', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-222', 'body', 'link-58');">body</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1107"></a><tt class="py-lineno">1107</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_payload</tt><tt class="py-op">(</tt><tt id="link-223" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-223', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt id="link-224" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-224', 'body', 'link-58');">body</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1108"></a><tt class="py-lineno">1108</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'content-length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-225" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-225', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-226', 'body', 'link-58');">body</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1109"></a><tt class="py-lineno">1109</tt>  <tt class="py-line"> </tt>
-<a name="L1110"></a><tt class="py-lineno">1110</tt>  <tt class="py-line">    <tt class="py-comment"># Serialize the mime message.</tt> </tt>
-<a name="L1111"></a><tt class="py-lineno">1111</tt>  <tt class="py-line">    <tt class="py-name">fp</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">.</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1112"></a><tt class="py-lineno">1112</tt>  <tt class="py-line">    <tt class="py-comment"># maxheaderlen=0 means don't line wrap headers.</tt> </tt>
-<a name="L1113"></a><tt class="py-lineno">1113</tt>  <tt class="py-line">    <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt class="py-name">Generator</tt><tt class="py-op">(</tt><tt class="py-name">fp</tt><tt class="py-op">,</tt> <tt class="py-name">maxheaderlen</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L1114"></a><tt class="py-lineno">1114</tt>  <tt class="py-line">    <tt class="py-name">g</tt><tt class="py-op">.</tt><tt class="py-name">flatten</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">,</tt> <tt class="py-name">unixfrom</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L1115"></a><tt class="py-lineno">1115</tt>  <tt class="py-line">    <tt id="link-227" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-227', 'body', 'link-58');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">fp</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1116"></a><tt class="py-lineno">1116</tt>  <tt class="py-line"> </tt>
-<a name="L1117"></a><tt class="py-lineno">1117</tt>  <tt class="py-line">    <tt class="py-comment"># Strip off the \n\n that the MIME lib tacks onto the end of the payload.</tt> </tt>
-<a name="L1118"></a><tt class="py-lineno">1118</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-228" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-228', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-229', 'body', 'link-58');">body</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1119"></a><tt class="py-lineno">1119</tt>  <tt class="py-line">      <tt id="link-230" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-230', 'body', 'link-58');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-231" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-231', 'body', 'link-58');">body</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
-<a name="L1120"></a><tt class="py-lineno">1120</tt>  <tt class="py-line"> </tt>
-<a name="L1121"></a><tt class="py-lineno">1121</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">status_line</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt id="link-232" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-232', 'body', 'link-58');">body</a></tt> </tt>
-</div><a name="L1122"></a><tt class="py-lineno">1122</tt>  <tt class="py-line"> </tt>
-<a name="BatchHttpRequest._deserialize_response"></a><div id="BatchHttpRequest._deserialize_response-def"><a name="L1123"></a><tt class="py-lineno">1123</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._deserialize_response-toggle" onclick="return toggle('BatchHttpRequest._deserialize_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.BatchHttpRequest-class.html#_deserialize_response">_deserialize_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">payload</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest._deserialize_response-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._deserialize_response-expanded"><a name="L1124"></a><tt class="py-lineno">1124</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert string into httplib2 response and content.</tt> </tt>
-<a name="L1125"></a><tt class="py-lineno">1125</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1126"></a><tt class="py-lineno">1126</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1127"></a><tt class="py-lineno">1127</tt>  <tt class="py-line"><tt class="py-docstring">      payload: string, headers and body as a string.</tt> </tt>
-<a name="L1128"></a><tt class="py-lineno">1128</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1129"></a><tt class="py-lineno">1129</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L1130"></a><tt class="py-lineno">1130</tt>  <tt class="py-line"><tt class="py-docstring">      A pair (resp, content), such as would be returned from httplib2.request.</tt> </tt>
-<a name="L1131"></a><tt class="py-lineno">1131</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1132"></a><tt class="py-lineno">1132</tt>  <tt class="py-line">    <tt class="py-comment"># Strip off the status line</tt> </tt>
-<a name="L1133"></a><tt class="py-lineno">1133</tt>  <tt class="py-line">    <tt class="py-name">status_line</tt><tt class="py-op">,</tt> <tt class="py-name">payload</tt> <tt class="py-op">=</tt> <tt class="py-name">payload</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L1134"></a><tt class="py-lineno">1134</tt>  <tt class="py-line">    <tt class="py-name">protocol</tt><tt class="py-op">,</tt> <tt class="py-name">status</tt><tt class="py-op">,</tt> <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">status_line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L1135"></a><tt class="py-lineno">1135</tt>  <tt class="py-line"> </tt>
-<a name="L1136"></a><tt class="py-lineno">1136</tt>  <tt class="py-line">    <tt class="py-comment"># Parse the rest of the response</tt> </tt>
-<a name="L1137"></a><tt class="py-lineno">1137</tt>  <tt class="py-line">    <tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt class="py-name">FeedParser</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1138"></a><tt class="py-lineno">1138</tt>  <tt class="py-line">    <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">feed</tt><tt class="py-op">(</tt><tt class="py-name">payload</tt><tt class="py-op">)</tt> </tt>
-<a name="L1139"></a><tt class="py-lineno">1139</tt>  <tt class="py-line">    <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1140"></a><tt class="py-lineno">1140</tt>  <tt class="py-line">    <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'status'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">status</tt> </tt>
-<a name="L1141"></a><tt class="py-lineno">1141</tt>  <tt class="py-line"> </tt>
-<a name="L1142"></a><tt class="py-lineno">1142</tt>  <tt class="py-line">    <tt class="py-comment"># Create httplib2.Response from the parsed headers.</tt> </tt>
-<a name="L1143"></a><tt class="py-lineno">1143</tt>  <tt class="py-line">    <tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Response</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L1144"></a><tt class="py-lineno">1144</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">reason</tt> </tt>
-<a name="L1145"></a><tt class="py-lineno">1145</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">protocol</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1146"></a><tt class="py-lineno">1146</tt>  <tt class="py-line"> </tt>
-<a name="L1147"></a><tt class="py-lineno">1147</tt>  <tt class="py-line">    <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">payload</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'\r\n\r\n'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L1148"></a><tt class="py-lineno">1148</tt>  <tt class="py-line"> </tt>
-<a name="L1149"></a><tt class="py-lineno">1149</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> </tt>
-</div><a name="L1150"></a><tt class="py-lineno">1150</tt>  <tt class="py-line"> </tt>
-<a name="BatchHttpRequest._new_id"></a><div id="BatchHttpRequest._new_id-def"><a name="L1151"></a><tt class="py-lineno">1151</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._new_id-toggle" onclick="return toggle('BatchHttpRequest._new_id');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.BatchHttpRequest-class.html#_new_id">_new_id</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest._new_id-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._new_id-expanded"><a name="L1152"></a><tt class="py-lineno">1152</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create a new id.</tt> </tt>
-<a name="L1153"></a><tt class="py-lineno">1153</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1154"></a><tt class="py-lineno">1154</tt>  <tt class="py-line"><tt class="py-docstring">    Auto incrementing number that avoids conflicts with ids already used.</tt> </tt>
-<a name="L1155"></a><tt class="py-lineno">1155</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1156"></a><tt class="py-lineno">1156</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L1157"></a><tt class="py-lineno">1157</tt>  <tt class="py-line"><tt class="py-docstring">       string, a new unique id.</tt> </tt>
-<a name="L1158"></a><tt class="py-lineno">1158</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1159"></a><tt class="py-lineno">1159</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L1160"></a><tt class="py-lineno">1160</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">:</tt> </tt>
-<a name="L1161"></a><tt class="py-lineno">1161</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L1162"></a><tt class="py-lineno">1162</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1163"></a><tt class="py-lineno">1163</tt>  <tt class="py-line"> </tt>
-<a name="L1164"></a><tt class="py-lineno">1164</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-233', 'positional', 'link-21');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="BatchHttpRequest.add"></a><div id="BatchHttpRequest.add-def"><a name="L1165"></a><tt class="py-lineno">1165</tt> <a class="py-toggle" href="#" id="BatchHttpRequest.add-toggle" onclick="return toggle('BatchHttpRequest.add');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.BatchHttpRequest-class.html#add">add</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request</tt><tt class="py-op">,</tt> <tt class="py-param">callback</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">request_id</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest.add-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest.add-expanded"><a name="L1166"></a><tt class="py-lineno">1166</tt>  <tt class="py-line">    <tt class="py-docstring">"""Add a new request.</tt> </tt>
-<a name="L1167"></a><tt class="py-lineno">1167</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1168"></a><tt class="py-lineno">1168</tt>  <tt class="py-line"><tt class="py-docstring">    Every callback added will be paired with a unique id, the request_id. That</tt> </tt>
-<a name="L1169"></a><tt class="py-lineno">1169</tt>  <tt class="py-line"><tt class="py-docstring">    unique id will be passed back to the callback when the response comes back</tt> </tt>
-<a name="L1170"></a><tt class="py-lineno">1170</tt>  <tt class="py-line"><tt class="py-docstring">    from the server. The default behavior is to have the library generate it's</tt> </tt>
-<a name="L1171"></a><tt class="py-lineno">1171</tt>  <tt class="py-line"><tt class="py-docstring">    own unique id. If the caller passes in a request_id then they must ensure</tt> </tt>
-<a name="L1172"></a><tt class="py-lineno">1172</tt>  <tt class="py-line"><tt class="py-docstring">    uniqueness for each request_id, and if they are not an exception is</tt> </tt>
-<a name="L1173"></a><tt class="py-lineno">1173</tt>  <tt class="py-line"><tt class="py-docstring">    raised. Callers should either supply all request_ids or nevery supply a</tt> </tt>
-<a name="L1174"></a><tt class="py-lineno">1174</tt>  <tt class="py-line"><tt class="py-docstring">    request id, to avoid such an error.</tt> </tt>
-<a name="L1175"></a><tt class="py-lineno">1175</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1176"></a><tt class="py-lineno">1176</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1177"></a><tt class="py-lineno">1177</tt>  <tt class="py-line"><tt class="py-docstring">      request: HttpRequest, Request to add to the batch.</tt> </tt>
-<a name="L1178"></a><tt class="py-lineno">1178</tt>  <tt class="py-line"><tt class="py-docstring">      callback: callable, A callback to be called for this response, of the</tt> </tt>
-<a name="L1179"></a><tt class="py-lineno">1179</tt>  <tt class="py-line"><tt class="py-docstring">        form callback(id, response, exception). The first parameter is the</tt> </tt>
-<a name="L1180"></a><tt class="py-lineno">1180</tt>  <tt class="py-line"><tt class="py-docstring">        request id, and the second is the deserialized response object. The</tt> </tt>
-<a name="L1181"></a><tt class="py-lineno">1181</tt>  <tt class="py-line"><tt class="py-docstring">        third is an apiclient.errors.HttpError exception object if an HTTP error</tt> </tt>
-<a name="L1182"></a><tt class="py-lineno">1182</tt>  <tt class="py-line"><tt class="py-docstring">        occurred while processing the request, or None if no errors occurred.</tt> </tt>
-<a name="L1183"></a><tt class="py-lineno">1183</tt>  <tt class="py-line"><tt class="py-docstring">      request_id: string, A unique id for the request. The id will be passed to</tt> </tt>
-<a name="L1184"></a><tt class="py-lineno">1184</tt>  <tt class="py-line"><tt class="py-docstring">        the callback with the response.</tt> </tt>
-<a name="L1185"></a><tt class="py-lineno">1185</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1186"></a><tt class="py-lineno">1186</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L1187"></a><tt class="py-lineno">1187</tt>  <tt class="py-line"><tt class="py-docstring">      None</tt> </tt>
-<a name="L1188"></a><tt class="py-lineno">1188</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1189"></a><tt class="py-lineno">1189</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L1190"></a><tt class="py-lineno">1190</tt>  <tt class="py-line"><tt class="py-docstring">      BatchError if a media request is added to a batch.</tt> </tt>
-<a name="L1191"></a><tt class="py-lineno">1191</tt>  <tt class="py-line"><tt class="py-docstring">      KeyError is the request_id is not unique.</tt> </tt>
-<a name="L1192"></a><tt class="py-lineno">1192</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1193"></a><tt class="py-lineno">1193</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1194"></a><tt class="py-lineno">1194</tt>  <tt class="py-line">      <tt class="py-name">request_id</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-234" class="py-name" targets="Method apiclient.http.BatchHttpRequest._new_id()=apiclient.http.BatchHttpRequest-class.html#_new_id"><a title="apiclient.http.BatchHttpRequest._new_id" class="py-name" href="#" onclick="return doclink('link-234', '_new_id', 'link-234');">_new_id</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1195"></a><tt class="py-lineno">1195</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-235" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-235', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt id="link-236" class="py-name"><a title="apiclient.http.MediaIoBaseUpload.resumable
-apiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-236', 'resumable', 'link-35');">resumable</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1196"></a><tt class="py-lineno">1196</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-237" class="py-name"><a title="apiclient.errors.BatchError" class="py-name" href="#" onclick="return doclink('link-237', 'BatchError', 'link-2');">BatchError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Media requests cannot be used in a batch request."</tt><tt class="py-op">)</tt> </tt>
-<a name="L1197"></a><tt class="py-lineno">1197</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">:</tt> </tt>
-<a name="L1198"></a><tt class="py-lineno">1198</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt class="py-name">KeyError</tt><tt class="py-op">(</tt><tt class="py-string">"A request with this ID already exists: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">request_id</tt><tt class="py-op">)</tt> </tt>
-<a name="L1199"></a><tt class="py-lineno">1199</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-238" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-238', 'request', 'link-68');">request</a></tt> </tt>
-<a name="L1200"></a><tt class="py-lineno">1200</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callbacks</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">callback</tt> </tt>
-<a name="L1201"></a><tt class="py-lineno">1201</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1202"></a><tt class="py-lineno">1202</tt>  <tt class="py-line"> </tt>
-<a name="BatchHttpRequest._execute"></a><div id="BatchHttpRequest._execute-def"><a name="L1203"></a><tt class="py-lineno">1203</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._execute-toggle" onclick="return toggle('BatchHttpRequest._execute');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.BatchHttpRequest-class.html#_execute">_execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">order</tt><tt class="py-op">,</tt> <tt class="py-param">requests</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest._execute-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._execute-expanded"><a name="L1204"></a><tt class="py-lineno">1204</tt>  <tt class="py-line">    <tt class="py-docstring">"""Serialize batch request, send to server, process response.</tt> </tt>
-<a name="L1205"></a><tt class="py-lineno">1205</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1206"></a><tt class="py-lineno">1206</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1207"></a><tt class="py-lineno">1207</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used to make the request with.</tt> </tt>
-<a name="L1208"></a><tt class="py-lineno">1208</tt>  <tt class="py-line"><tt class="py-docstring">      order: list, list of request ids in the order they were added to the</tt> </tt>
-<a name="L1209"></a><tt class="py-lineno">1209</tt>  <tt class="py-line"><tt class="py-docstring">        batch.</tt> </tt>
-<a name="L1210"></a><tt class="py-lineno">1210</tt>  <tt class="py-line"><tt class="py-docstring">      request: list, list of request objects to send.</tt> </tt>
-<a name="L1211"></a><tt class="py-lineno">1211</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1212"></a><tt class="py-lineno">1212</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L1213"></a><tt class="py-lineno">1213</tt>  <tt class="py-line"><tt class="py-docstring">      httplib2.HttpLib2Error if a transport error has occured.</tt> </tt>
-<a name="L1214"></a><tt class="py-lineno">1214</tt>  <tt class="py-line"><tt class="py-docstring">      apiclient.errors.BatchError if the response is the wrong format.</tt> </tt>
-<a name="L1215"></a><tt class="py-lineno">1215</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1216"></a><tt class="py-lineno">1216</tt>  <tt class="py-line">    <tt class="py-name">message</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMEMultipart</tt><tt class="py-op">(</tt><tt class="py-string">'mixed'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1217"></a><tt class="py-lineno">1217</tt>  <tt class="py-line">    <tt class="py-comment"># Message should not write out it's own headers.</tt> </tt>
-<a name="L1218"></a><tt class="py-lineno">1218</tt>  <tt class="py-line">    <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">,</tt> <tt class="py-string">'_write_headers'</tt><tt class="py-op">,</tt> <tt class="py-keyword">lambda</tt> <tt class="py-name">self</tt><tt class="py-op">:</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L1219"></a><tt class="py-lineno">1219</tt>  <tt class="py-line"> </tt>
-<a name="L1220"></a><tt class="py-lineno">1220</tt>  <tt class="py-line">    <tt class="py-comment"># Add all the individual requests.</tt> </tt>
-<a name="L1221"></a><tt class="py-lineno">1221</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">order</tt><tt class="py-op">:</tt> </tt>
-<a name="L1222"></a><tt class="py-lineno">1222</tt>  <tt class="py-line">      <tt id="link-239" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-239', 'request', 'link-68');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
-<a name="L1223"></a><tt class="py-lineno">1223</tt>  <tt class="py-line"> </tt>
-<a name="L1224"></a><tt class="py-lineno">1224</tt>  <tt class="py-line">      <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMENonMultipart</tt><tt class="py-op">(</tt><tt class="py-string">'application'</tt><tt class="py-op">,</tt> <tt class="py-string">'http'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1225"></a><tt class="py-lineno">1225</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'Content-Transfer-Encoding'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'binary'</tt> </tt>
-<a name="L1226"></a><tt class="py-lineno">1226</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'Content-ID'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-240" class="py-name" targets="Method apiclient.http.BatchHttpRequest._id_to_header()=apiclient.http.BatchHttpRequest-class.html#_id_to_header"><a title="apiclient.http.BatchHttpRequest._id_to_header" class="py-name" href="#" onclick="return doclink('link-240', '_id_to_header', 'link-240');">_id_to_header</a></tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">)</tt> </tt>
-<a name="L1227"></a><tt class="py-lineno">1227</tt>  <tt class="py-line"> </tt>
-<a name="L1228"></a><tt class="py-lineno">1228</tt>  <tt class="py-line">      <tt id="link-241" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-241', 'body', 'link-58');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name" targets="Method apiclient.http.BatchHttpRequest._serialize_request()=apiclient.http.BatchHttpRequest-class.html#_serialize_request"><a title="apiclient.http.BatchHttpRequest._serialize_request" class="py-name" href="#" onclick="return doclink('link-242', '_serialize_request', 'link-242');">_serialize_request</a></tt><tt class="py-op">(</tt><tt id="link-243" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-243', 'request', 'link-68');">request</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1229"></a><tt class="py-lineno">1229</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_payload</tt><tt class="py-op">(</tt><tt id="link-244" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-244', 'body', 'link-58');">body</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1230"></a><tt class="py-lineno">1230</tt>  <tt class="py-line">      <tt class="py-name">message</tt><tt class="py-op">.</tt><tt class="py-name">attach</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L1231"></a><tt class="py-lineno">1231</tt>  <tt class="py-line"> </tt>
-<a name="L1232"></a><tt class="py-lineno">1232</tt>  <tt class="py-line">    <tt id="link-245" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-245', 'body', 'link-58');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">message</tt><tt class="py-op">.</tt><tt class="py-name">as_string</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1233"></a><tt class="py-lineno">1233</tt>  <tt class="py-line"> </tt>
-<a name="L1234"></a><tt class="py-lineno">1234</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L1235"></a><tt class="py-lineno">1235</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'multipart/mixed; '</tt> </tt>
-<a name="L1236"></a><tt class="py-lineno">1236</tt>  <tt class="py-line">                               <tt class="py-string">'boundary="%s"'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">message</tt><tt class="py-op">.</tt><tt class="py-name">get_boundary</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1237"></a><tt class="py-lineno">1237</tt>  <tt class="py-line"> </tt>
-<a name="L1238"></a><tt class="py-lineno">1238</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-246" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-246', 'http', 'link-72');">http</a></tt><tt class="py-op">.</tt><tt id="link-247" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-247', 'request', 'link-68');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_batch_uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-string">'POST'</tt><tt class="py-op">,</tt> <tt id="link-248" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-248', 'body', 'link-58');">body</a></tt><tt class="py-op">=</tt><tt id="link-249" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-249', 'body', 'link-58');">body</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1239"></a><tt class="py-lineno">1239</tt>  <tt class="py-line">                                 <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L1240"></a><tt class="py-lineno">1240</tt>  <tt class="py-line"> </tt>
-<a name="L1241"></a><tt class="py-lineno">1241</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">300</tt><tt class="py-op">:</tt> </tt>
-<a name="L1242"></a><tt class="py-lineno">1242</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-250" class="py-name"><a title="apiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-250', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_batch_uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L1243"></a><tt class="py-lineno">1243</tt>  <tt class="py-line"> </tt>
-<a name="L1244"></a><tt class="py-lineno">1244</tt>  <tt class="py-line">    <tt class="py-comment"># Now break out the individual responses and store each one.</tt> </tt>
-<a name="L1245"></a><tt class="py-lineno">1245</tt>  <tt class="py-line">    <tt class="py-name">boundary</tt><tt class="py-op">,</tt> <tt class="py-name">_</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L1246"></a><tt class="py-lineno">1246</tt>  <tt class="py-line"> </tt>
-<a name="L1247"></a><tt class="py-lineno">1247</tt>  <tt class="py-line">    <tt class="py-comment"># Prepend with a content-type header so FeedParser can handle it.</tt> </tt>
-<a name="L1248"></a><tt class="py-lineno">1248</tt>  <tt class="py-line">    <tt class="py-name">header</tt> <tt class="py-op">=</tt> <tt class="py-string">'content-type: %s\r\n\r\n'</tt> <tt class="py-op">%</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> </tt>
-<a name="L1249"></a><tt class="py-lineno">1249</tt>  <tt class="py-line">    <tt class="py-name">for_parser</tt> <tt class="py-op">=</tt> <tt class="py-name">header</tt> <tt class="py-op">+</tt> <tt class="py-name">content</tt> </tt>
-<a name="L1250"></a><tt class="py-lineno">1250</tt>  <tt class="py-line"> </tt>
-<a name="L1251"></a><tt class="py-lineno">1251</tt>  <tt class="py-line">    <tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt class="py-name">FeedParser</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1252"></a><tt class="py-lineno">1252</tt>  <tt class="py-line">    <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">feed</tt><tt class="py-op">(</tt><tt class="py-name">for_parser</tt><tt class="py-op">)</tt> </tt>
-<a name="L1253"></a><tt class="py-lineno">1253</tt>  <tt class="py-line">    <tt class="py-name">mime_response</tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1254"></a><tt class="py-lineno">1254</tt>  <tt class="py-line"> </tt>
-<a name="L1255"></a><tt class="py-lineno">1255</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">mime_response</tt><tt class="py-op">.</tt><tt class="py-name">is_multipart</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1256"></a><tt class="py-lineno">1256</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-251" class="py-name"><a title="apiclient.errors.BatchError" class="py-name" href="#" onclick="return doclink('link-251', 'BatchError', 'link-2');">BatchError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Response not in multipart/mixed format."</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">=</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> </tt>
-<a name="L1257"></a><tt class="py-lineno">1257</tt>  <tt class="py-line">                       <tt class="py-name">content</tt><tt class="py-op">=</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L1258"></a><tt class="py-lineno">1258</tt>  <tt class="py-line"> </tt>
-<a name="L1259"></a><tt class="py-lineno">1259</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">part</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mime_response</tt><tt class="py-op">.</tt><tt class="py-name">get_payload</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1260"></a><tt class="py-lineno">1260</tt>  <tt class="py-line">      <tt class="py-name">request_id</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-252" class="py-name" targets="Method apiclient.http.BatchHttpRequest._header_to_id()=apiclient.http.BatchHttpRequest-class.html#_header_to_id"><a title="apiclient.http.BatchHttpRequest._header_to_id" class="py-name" href="#" onclick="return doclink('link-252', '_header_to_id', 'link-252');">_header_to_id</a></tt><tt class="py-op">(</tt><tt class="py-name">part</tt><tt class="py-op">[</tt><tt class="py-string">'Content-ID'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1261"></a><tt class="py-lineno">1261</tt>  <tt class="py-line">      <tt id="link-253" class="py-name" targets="Method apiclient.model.BaseModel.response()=apiclient.model.BaseModel-class.html#response,Method apiclient.model.Model.response()=apiclient.model.Model-class.html#response"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-253', 'response', 'link-253');">response</a></tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-254" class="py-name" targets="Method apiclient.http.BatchHttpRequest._deserialize_response()=apiclient.http.BatchHttpRequest-class.html#_deserialize_response"><a title="apiclient.http.BatchHttpRequest._deserialize_response" class="py-name" href="#" onclick="return doclink('link-254', '_deserialize_response', 'link-254');">_deserialize_response</a></tt><tt class="py-op">(</tt><tt class="py-name">part</tt><tt class="py-op">.</tt><tt class="py-name">get_payload</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1262"></a><tt class="py-lineno">1262</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_responses</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt id="link-255" class="py-name"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-255', 'response', 'link-253');">response</a></tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1263"></a><tt class="py-lineno">1263</tt>  <tt class="py-line"> </tt>
-<a name="L1264"></a><tt class="py-lineno">1264</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-256" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-256', 'positional', 'link-21');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="BatchHttpRequest.execute"></a><div id="BatchHttpRequest.execute-def"><a name="L1265"></a><tt class="py-lineno">1265</tt> <a class="py-toggle" href="#" id="BatchHttpRequest.execute-toggle" onclick="return toggle('BatchHttpRequest.execute');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.BatchHttpRequest-class.html#execute">execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest.execute-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest.execute-expanded"><a name="L1266"></a><tt class="py-lineno">1266</tt>  <tt class="py-line">    <tt class="py-docstring">"""Execute all the requests as a single batched HTTP request.</tt> </tt>
-<a name="L1267"></a><tt class="py-lineno">1267</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1268"></a><tt class="py-lineno">1268</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1269"></a><tt class="py-lineno">1269</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used in place of the one the</tt> </tt>
-<a name="L1270"></a><tt class="py-lineno">1270</tt>  <tt class="py-line"><tt class="py-docstring">        HttpRequest request object was constructed with. If one isn't supplied</tt> </tt>
-<a name="L1271"></a><tt class="py-lineno">1271</tt>  <tt class="py-line"><tt class="py-docstring">        then use a http object from the requests in this batch.</tt> </tt>
-<a name="L1272"></a><tt class="py-lineno">1272</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1273"></a><tt class="py-lineno">1273</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L1274"></a><tt class="py-lineno">1274</tt>  <tt class="py-line"><tt class="py-docstring">      None</tt> </tt>
-<a name="L1275"></a><tt class="py-lineno">1275</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1276"></a><tt class="py-lineno">1276</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L1277"></a><tt class="py-lineno">1277</tt>  <tt class="py-line"><tt class="py-docstring">      httplib2.HttpLib2Error if a transport error has occured.</tt> </tt>
-<a name="L1278"></a><tt class="py-lineno">1278</tt>  <tt class="py-line"><tt class="py-docstring">      apiclient.errors.BatchError if the response is the wrong format.</tt> </tt>
-<a name="L1279"></a><tt class="py-lineno">1279</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1280"></a><tt class="py-lineno">1280</tt>  <tt class="py-line"> </tt>
-<a name="L1281"></a><tt class="py-lineno">1281</tt>  <tt class="py-line">    <tt class="py-comment"># If http is not supplied use the first valid one given in the requests.</tt> </tt>
-<a name="L1282"></a><tt class="py-lineno">1282</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-257" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-257', 'http', 'link-72');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1283"></a><tt class="py-lineno">1283</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">:</tt> </tt>
-<a name="L1284"></a><tt class="py-lineno">1284</tt>  <tt class="py-line">        <tt id="link-258" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-258', 'request', 'link-68');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
-<a name="L1285"></a><tt class="py-lineno">1285</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-259" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-259', 'request', 'link-68');">request</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1286"></a><tt class="py-lineno">1286</tt>  <tt class="py-line">          <tt id="link-260" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-260', 'http', 'link-72');">http</a></tt> <tt class="py-op">=</tt> <tt id="link-261" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-261', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-262', 'http', 'link-72');">http</a></tt> </tt>
-<a name="L1287"></a><tt class="py-lineno">1287</tt>  <tt class="py-line">          <tt class="py-keyword">break</tt> </tt>
-<a name="L1288"></a><tt class="py-lineno">1288</tt>  <tt class="py-line"> </tt>
-<a name="L1289"></a><tt class="py-lineno">1289</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-263" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-263', 'http', 'link-72');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1290"></a><tt class="py-lineno">1290</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Missing a valid http object."</tt><tt class="py-op">)</tt> </tt>
-<a name="L1291"></a><tt class="py-lineno">1291</tt>  <tt class="py-line"> </tt>
-<a name="L1292"></a><tt class="py-lineno">1292</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-264" class="py-name" targets="Method apiclient.http.BatchHttpRequest._execute()=apiclient.http.BatchHttpRequest-class.html#_execute"><a title="apiclient.http.BatchHttpRequest._execute" class="py-name" href="#" onclick="return doclink('link-264', '_execute', 'link-264');">_execute</a></tt><tt class="py-op">(</tt><tt id="link-265" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-265', 'http', 'link-72');">http</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">)</tt> </tt>
-<a name="L1293"></a><tt class="py-lineno">1293</tt>  <tt class="py-line"> </tt>
-<a name="L1294"></a><tt class="py-lineno">1294</tt>  <tt class="py-line">    <tt class="py-comment"># Loop over all the requests and check for 401s. For each 401 request the</tt> </tt>
-<a name="L1295"></a><tt class="py-lineno">1295</tt>  <tt class="py-line">    <tt class="py-comment"># credentials should be refreshed and then sent again in a separate batch.</tt> </tt>
-<a name="L1296"></a><tt class="py-lineno">1296</tt>  <tt class="py-line">    <tt class="py-name">redo_requests</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L1297"></a><tt class="py-lineno">1297</tt>  <tt class="py-line">    <tt class="py-name">redo_order</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L1298"></a><tt class="py-lineno">1298</tt>  <tt class="py-line"> </tt>
-<a name="L1299"></a><tt class="py-lineno">1299</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">:</tt> </tt>
-<a name="L1300"></a><tt class="py-lineno">1300</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_responses</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
-<a name="L1301"></a><tt class="py-lineno">1301</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'status'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'401'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1302"></a><tt class="py-lineno">1302</tt>  <tt class="py-line">        <tt class="py-name">redo_order</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">)</tt> </tt>
-<a name="L1303"></a><tt class="py-lineno">1303</tt>  <tt class="py-line">        <tt id="link-266" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-266', 'request', 'link-68');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
-<a name="L1304"></a><tt class="py-lineno">1304</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-267" class="py-name" targets="Method apiclient.http.BatchHttpRequest._refresh_and_apply_credentials()=apiclient.http.BatchHttpRequest-class.html#_refresh_and_apply_credentials"><a title="apiclient.http.BatchHttpRequest._refresh_and_apply_credentials" class="py-name" href="#" onclick="return doclink('link-267', '_refresh_and_apply_credentials', 'link-267');">_refresh_and_apply_credentials</a></tt><tt class="py-op">(</tt><tt id="link-268" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-268', 'request', 'link-68');">request</a></tt><tt class="py-op">,</tt> <tt id="link-269" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-269', 'http', 'link-72');">http</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1305"></a><tt class="py-lineno">1305</tt>  <tt class="py-line">        <tt class="py-name">redo_requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-270" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-270', 'request', 'link-68');">request</a></tt> </tt>
-<a name="L1306"></a><tt class="py-lineno">1306</tt>  <tt class="py-line"> </tt>
-<a name="L1307"></a><tt class="py-lineno">1307</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">redo_requests</tt><tt class="py-op">:</tt> </tt>
-<a name="L1308"></a><tt class="py-lineno">1308</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-271" class="py-name"><a title="apiclient.http.BatchHttpRequest._execute" class="py-name" href="#" onclick="return doclink('link-271', '_execute', 'link-264');">_execute</a></tt><tt class="py-op">(</tt><tt id="link-272" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-272', 'http', 'link-72');">http</a></tt><tt class="py-op">,</tt> <tt class="py-name">redo_order</tt><tt class="py-op">,</tt> <tt class="py-name">redo_requests</tt><tt class="py-op">)</tt> </tt>
-<a name="L1309"></a><tt class="py-lineno">1309</tt>  <tt class="py-line"> </tt>
-<a name="L1310"></a><tt class="py-lineno">1310</tt>  <tt class="py-line">    <tt class="py-comment"># Now process all callbacks that are erroring, and raise an exception for</tt> </tt>
-<a name="L1311"></a><tt class="py-lineno">1311</tt>  <tt class="py-line">    <tt class="py-comment"># ones that return a non-2xx response? Or add extra parameter to callback</tt> </tt>
-<a name="L1312"></a><tt class="py-lineno">1312</tt>  <tt class="py-line">    <tt class="py-comment"># that contains an HttpError?</tt> </tt>
-<a name="L1313"></a><tt class="py-lineno">1313</tt>  <tt class="py-line"> </tt>
-<a name="L1314"></a><tt class="py-lineno">1314</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">:</tt> </tt>
-<a name="L1315"></a><tt class="py-lineno">1315</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_responses</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
-<a name="L1316"></a><tt class="py-lineno">1316</tt>  <tt class="py-line"> </tt>
-<a name="L1317"></a><tt class="py-lineno">1317</tt>  <tt class="py-line">      <tt id="link-273" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-273', 'request', 'link-68');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
-<a name="L1318"></a><tt class="py-lineno">1318</tt>  <tt class="py-line">      <tt class="py-name">callback</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callbacks</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
-<a name="L1319"></a><tt class="py-lineno">1319</tt>  <tt class="py-line"> </tt>
-<a name="L1320"></a><tt class="py-lineno">1320</tt>  <tt class="py-line">      <tt id="link-274" class="py-name"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-274', 'response', 'link-253');">response</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1321"></a><tt class="py-lineno">1321</tt>  <tt class="py-line">      <tt class="py-name">exception</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1322"></a><tt class="py-lineno">1322</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1323"></a><tt class="py-lineno">1323</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">300</tt><tt class="py-op">:</tt> </tt>
-<a name="L1324"></a><tt class="py-lineno">1324</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-275" class="py-name"><a title="apiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-275', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt id="link-276" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-276', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L1325"></a><tt class="py-lineno">1325</tt>  <tt class="py-line">        <tt id="link-277" class="py-name"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-277', 'response', 'link-253');">response</a></tt> <tt class="py-op">=</tt> <tt id="link-278" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-278', 'request', 'link-68');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L1326"></a><tt class="py-lineno">1326</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt> <tt id="link-279" class="py-name"><a title="apiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-279', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L1327"></a><tt class="py-lineno">1327</tt>  <tt class="py-line">        <tt class="py-name">exception</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt> </tt>
-<a name="L1328"></a><tt class="py-lineno">1328</tt>  <tt class="py-line"> </tt>
-<a name="L1329"></a><tt class="py-lineno">1329</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">callback</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1330"></a><tt class="py-lineno">1330</tt>  <tt class="py-line">        <tt class="py-name">callback</tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">,</tt> <tt id="link-280" class="py-name"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-280', 'response', 'link-253');">response</a></tt><tt class="py-op">,</tt> <tt class="py-name">exception</tt><tt class="py-op">)</tt> </tt>
-<a name="L1331"></a><tt class="py-lineno">1331</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callback</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1332"></a><tt class="py-lineno">1332</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callback</tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">,</tt> <tt id="link-281" class="py-name"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-281', 'response', 'link-253');">response</a></tt><tt class="py-op">,</tt> <tt class="py-name">exception</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1333"></a><tt class="py-lineno">1333</tt>  <tt class="py-line"> </tt>
-<a name="HttpRequestMock"></a><div id="HttpRequestMock-def"><a name="L1334"></a><tt class="py-lineno">1334</tt>  <tt class="py-line"> </tt>
-<a name="L1335"></a><tt class="py-lineno">1335</tt> <a class="py-toggle" href="#" id="HttpRequestMock-toggle" onclick="return toggle('HttpRequestMock');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.http.HttpRequestMock-class.html">HttpRequestMock</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequestMock-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HttpRequestMock-expanded"><a name="L1336"></a><tt class="py-lineno">1336</tt>  <tt class="py-line">  <tt class="py-docstring">"""Mock of HttpRequest.</tt> </tt>
-<a name="L1337"></a><tt class="py-lineno">1337</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1338"></a><tt class="py-lineno">1338</tt>  <tt class="py-line"><tt class="py-docstring">  Do not construct directly, instead use RequestMockBuilder.</tt> </tt>
-<a name="L1339"></a><tt class="py-lineno">1339</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L1340"></a><tt class="py-lineno">1340</tt>  <tt class="py-line"> </tt>
-<a name="HttpRequestMock.__init__"></a><div id="HttpRequestMock.__init__-def"><a name="L1341"></a><tt class="py-lineno">1341</tt> <a class="py-toggle" href="#" id="HttpRequestMock.__init__-toggle" onclick="return toggle('HttpRequestMock.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.HttpRequestMock-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">,</tt> <tt class="py-param">postproc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequestMock.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequestMock.__init__-expanded"><a name="L1342"></a><tt class="py-lineno">1342</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for HttpRequestMock</tt> </tt>
-<a name="L1343"></a><tt class="py-lineno">1343</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1344"></a><tt class="py-lineno">1344</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1345"></a><tt class="py-lineno">1345</tt>  <tt class="py-line"><tt class="py-docstring">      resp: httplib2.Response, the response to emulate coming from the request</tt> </tt>
-<a name="L1346"></a><tt class="py-lineno">1346</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the response body</tt> </tt>
-<a name="L1347"></a><tt class="py-lineno">1347</tt>  <tt class="py-line"><tt class="py-docstring">      postproc: callable, the post processing function usually supplied by</tt> </tt>
-<a name="L1348"></a><tt class="py-lineno">1348</tt>  <tt class="py-line"><tt class="py-docstring">                the model class. See model.JsonModel.response() as an example.</tt> </tt>
-<a name="L1349"></a><tt class="py-lineno">1349</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1350"></a><tt class="py-lineno">1350</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt> </tt>
-<a name="L1351"></a><tt class="py-lineno">1351</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> </tt>
-<a name="L1352"></a><tt class="py-lineno">1352</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt> <tt class="py-op">=</tt> <tt class="py-name">postproc</tt> </tt>
-<a name="L1353"></a><tt class="py-lineno">1353</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1354"></a><tt class="py-lineno">1354</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Response</tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-string">'status'</tt><tt class="py-op">:</tt> <tt class="py-number">200</tt><tt class="py-op">,</tt> <tt class="py-string">'reason'</tt><tt class="py-op">:</tt> <tt class="py-string">'OK'</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L1355"></a><tt class="py-lineno">1355</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'reason'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">:</tt> </tt>
-<a name="L1356"></a><tt class="py-lineno">1356</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'reason'</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L1357"></a><tt class="py-lineno">1357</tt>  <tt class="py-line"> </tt>
-<a name="HttpRequestMock.execute"></a><div id="HttpRequestMock.execute-def"><a name="L1358"></a><tt class="py-lineno">1358</tt> <a class="py-toggle" href="#" id="HttpRequestMock.execute-toggle" onclick="return toggle('HttpRequestMock.execute');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.HttpRequestMock-class.html#execute">execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequestMock.execute-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequestMock.execute-expanded"><a name="L1359"></a><tt class="py-lineno">1359</tt>  <tt class="py-line">    <tt class="py-docstring">"""Execute the request.</tt> </tt>
-<a name="L1360"></a><tt class="py-lineno">1360</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1361"></a><tt class="py-lineno">1361</tt>  <tt class="py-line"><tt class="py-docstring">    Same behavior as HttpRequest.execute(), but the response is</tt> </tt>
-<a name="L1362"></a><tt class="py-lineno">1362</tt>  <tt class="py-line"><tt class="py-docstring">    mocked and not really from an HTTP request/response.</tt> </tt>
-<a name="L1363"></a><tt class="py-lineno">1363</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1364"></a><tt class="py-lineno">1364</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1365"></a><tt class="py-lineno">1365</tt>  <tt class="py-line"> </tt>
-<a name="RequestMockBuilder"></a><div id="RequestMockBuilder-def"><a name="L1366"></a><tt class="py-lineno">1366</tt>  <tt class="py-line"> </tt>
-<a name="L1367"></a><tt class="py-lineno">1367</tt> <a class="py-toggle" href="#" id="RequestMockBuilder-toggle" onclick="return toggle('RequestMockBuilder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.http.RequestMockBuilder-class.html">RequestMockBuilder</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RequestMockBuilder-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="RequestMockBuilder-expanded"><a name="L1368"></a><tt class="py-lineno">1368</tt>  <tt class="py-line">  <tt class="py-docstring">"""A simple mock of HttpRequest</tt> </tt>
-<a name="L1369"></a><tt class="py-lineno">1369</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1370"></a><tt class="py-lineno">1370</tt>  <tt class="py-line"><tt class="py-docstring">    Pass in a dictionary to the constructor that maps request methodIds to</tt> </tt>
-<a name="L1371"></a><tt class="py-lineno">1371</tt>  <tt class="py-line"><tt class="py-docstring">    tuples of (httplib2.Response, content, opt_expected_body) that should be</tt> </tt>
-<a name="L1372"></a><tt class="py-lineno">1372</tt>  <tt class="py-line"><tt class="py-docstring">    returned when that method is called. None may also be passed in for the</tt> </tt>
-<a name="L1373"></a><tt class="py-lineno">1373</tt>  <tt class="py-line"><tt class="py-docstring">    httplib2.Response, in which case a 200 OK response will be generated.</tt> </tt>
-<a name="L1374"></a><tt class="py-lineno">1374</tt>  <tt class="py-line"><tt class="py-docstring">    If an opt_expected_body (str or dict) is provided, it will be compared to</tt> </tt>
-<a name="L1375"></a><tt class="py-lineno">1375</tt>  <tt class="py-line"><tt class="py-docstring">    the body and UnexpectedBodyError will be raised on inequality.</tt> </tt>
-<a name="L1376"></a><tt class="py-lineno">1376</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1377"></a><tt class="py-lineno">1377</tt>  <tt class="py-line"><tt class="py-docstring">    Example:</tt> </tt>
-<a name="L1378"></a><tt class="py-lineno">1378</tt>  <tt class="py-line"><tt class="py-docstring">      response = '{"data": {"id": "tag:google.c...'</tt> </tt>
-<a name="L1379"></a><tt class="py-lineno">1379</tt>  <tt class="py-line"><tt class="py-docstring">      requestBuilder = RequestMockBuilder(</tt> </tt>
-<a name="L1380"></a><tt class="py-lineno">1380</tt>  <tt class="py-line"><tt class="py-docstring">        {</tt> </tt>
-<a name="L1381"></a><tt class="py-lineno">1381</tt>  <tt class="py-line"><tt class="py-docstring">          'plus.activities.get': (None, response),</tt> </tt>
-<a name="L1382"></a><tt class="py-lineno">1382</tt>  <tt class="py-line"><tt class="py-docstring">        }</tt> </tt>
-<a name="L1383"></a><tt class="py-lineno">1383</tt>  <tt class="py-line"><tt class="py-docstring">      )</tt> </tt>
-<a name="L1384"></a><tt class="py-lineno">1384</tt>  <tt class="py-line"><tt class="py-docstring">      apiclient.discovery.build("plus", "v1", requestBuilder=requestBuilder)</tt> </tt>
-<a name="L1385"></a><tt class="py-lineno">1385</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1386"></a><tt class="py-lineno">1386</tt>  <tt class="py-line"><tt class="py-docstring">    Methods that you do not supply a response for will return a</tt> </tt>
-<a name="L1387"></a><tt class="py-lineno">1387</tt>  <tt class="py-line"><tt class="py-docstring">    200 OK with an empty string as the response content or raise an excpetion</tt> </tt>
-<a name="L1388"></a><tt class="py-lineno">1388</tt>  <tt class="py-line"><tt class="py-docstring">    if check_unexpected is set to True. The methodId is taken from the rpcName</tt> </tt>
-<a name="L1389"></a><tt class="py-lineno">1389</tt>  <tt class="py-line"><tt class="py-docstring">    in the discovery document.</tt> </tt>
-<a name="L1390"></a><tt class="py-lineno">1390</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1391"></a><tt class="py-lineno">1391</tt>  <tt class="py-line"><tt class="py-docstring">    For more details see the project wiki.</tt> </tt>
-<a name="L1392"></a><tt class="py-lineno">1392</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L1393"></a><tt class="py-lineno">1393</tt>  <tt class="py-line"> </tt>
-<a name="RequestMockBuilder.__init__"></a><div id="RequestMockBuilder.__init__-def"><a name="L1394"></a><tt class="py-lineno">1394</tt> <a class="py-toggle" href="#" id="RequestMockBuilder.__init__-toggle" onclick="return toggle('RequestMockBuilder.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.RequestMockBuilder-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">responses</tt><tt class="py-op">,</tt> <tt class="py-param">check_unexpected</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RequestMockBuilder.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="RequestMockBuilder.__init__-expanded"><a name="L1395"></a><tt class="py-lineno">1395</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for RequestMockBuilder</tt> </tt>
-<a name="L1396"></a><tt class="py-lineno">1396</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1397"></a><tt class="py-lineno">1397</tt>  <tt class="py-line"><tt class="py-docstring">    The constructed object should be a callable object</tt> </tt>
-<a name="L1398"></a><tt class="py-lineno">1398</tt>  <tt class="py-line"><tt class="py-docstring">    that can replace the class HttpResponse.</tt> </tt>
-<a name="L1399"></a><tt class="py-lineno">1399</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1400"></a><tt class="py-lineno">1400</tt>  <tt class="py-line"><tt class="py-docstring">    responses - A dictionary that maps methodIds into tuples</tt> </tt>
-<a name="L1401"></a><tt class="py-lineno">1401</tt>  <tt class="py-line"><tt class="py-docstring">                of (httplib2.Response, content). The methodId</tt> </tt>
-<a name="L1402"></a><tt class="py-lineno">1402</tt>  <tt class="py-line"><tt class="py-docstring">                comes from the 'rpcName' field in the discovery</tt> </tt>
-<a name="L1403"></a><tt class="py-lineno">1403</tt>  <tt class="py-line"><tt class="py-docstring">                document.</tt> </tt>
-<a name="L1404"></a><tt class="py-lineno">1404</tt>  <tt class="py-line"><tt class="py-docstring">    check_unexpected - A boolean setting whether or not UnexpectedMethodError</tt> </tt>
-<a name="L1405"></a><tt class="py-lineno">1405</tt>  <tt class="py-line"><tt class="py-docstring">                       should be raised on unsupplied method.</tt> </tt>
-<a name="L1406"></a><tt class="py-lineno">1406</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1407"></a><tt class="py-lineno">1407</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">responses</tt> <tt class="py-op">=</tt> <tt class="py-name">responses</tt> </tt>
-<a name="L1408"></a><tt class="py-lineno">1408</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">check_unexpected</tt> <tt class="py-op">=</tt> <tt class="py-name">check_unexpected</tt> </tt>
-</div><a name="L1409"></a><tt class="py-lineno">1409</tt>  <tt class="py-line"> </tt>
-<a name="RequestMockBuilder.__call__"></a><div id="RequestMockBuilder.__call__-def"><a name="L1410"></a><tt class="py-lineno">1410</tt> <a class="py-toggle" href="#" id="RequestMockBuilder.__call__-toggle" onclick="return toggle('RequestMockBuilder.__call__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.RequestMockBuilder-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">postproc</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">,</tt> <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1411"></a><tt class="py-lineno">1411</tt>  <tt class="py-line">               <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">methodId</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">resumable</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RequestMockBuilder.__call__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="RequestMockBuilder.__call__-expanded"><a name="L1412"></a><tt class="py-lineno">1412</tt>  <tt class="py-line">    <tt class="py-docstring">"""Implements the callable interface that discovery.build() expects</tt> </tt>
-<a name="L1413"></a><tt class="py-lineno">1413</tt>  <tt class="py-line"><tt class="py-docstring">    of requestBuilder, which is to build an object compatible with</tt> </tt>
-<a name="L1414"></a><tt class="py-lineno">1414</tt>  <tt class="py-line"><tt class="py-docstring">    HttpRequest.execute(). See that method for the description of the</tt> </tt>
-<a name="L1415"></a><tt class="py-lineno">1415</tt>  <tt class="py-line"><tt class="py-docstring">    parameters and the expected response.</tt> </tt>
-<a name="L1416"></a><tt class="py-lineno">1416</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1417"></a><tt class="py-lineno">1417</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">methodId</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">responses</tt><tt class="py-op">:</tt> </tt>
-<a name="L1418"></a><tt class="py-lineno">1418</tt>  <tt class="py-line">      <tt id="link-282" class="py-name"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-282', 'response', 'link-253');">response</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">responses</tt><tt class="py-op">[</tt><tt class="py-name">methodId</tt><tt class="py-op">]</tt> </tt>
-<a name="L1419"></a><tt class="py-lineno">1419</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-283" class="py-name"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-283', 'response', 'link-253');">response</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
-<a name="L1420"></a><tt class="py-lineno">1420</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-284" class="py-name"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-284', 'response', 'link-253');">response</a></tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
-<a name="L1421"></a><tt class="py-lineno">1421</tt>  <tt class="py-line">        <tt class="py-comment"># Test the body against the supplied expected_body.</tt> </tt>
-<a name="L1422"></a><tt class="py-lineno">1422</tt>  <tt class="py-line">        <tt class="py-name">expected_body</tt> <tt class="py-op">=</tt> <tt id="link-285" class="py-name"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-285', 'response', 'link-253');">response</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
-<a name="L1423"></a><tt class="py-lineno">1423</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">bool</tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">bool</tt><tt class="py-op">(</tt><tt id="link-286" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-286', 'body', 'link-58');">body</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1424"></a><tt class="py-lineno">1424</tt>  <tt class="py-line">          <tt class="py-comment"># Not expecting a body and provided one</tt> </tt>
-<a name="L1425"></a><tt class="py-lineno">1425</tt>  <tt class="py-line">          <tt class="py-comment"># or expecting a body and not provided one.</tt> </tt>
-<a name="L1426"></a><tt class="py-lineno">1426</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-287" class="py-name"><a title="apiclient.errors.UnexpectedBodyError" class="py-name" href="#" onclick="return doclink('link-287', 'UnexpectedBodyError', 'link-10');">UnexpectedBodyError</a></tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">,</tt> <tt id="link-288" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-288', 'body', 'link-58');">body</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1427"></a><tt class="py-lineno">1427</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1428"></a><tt class="py-lineno">1428</tt>  <tt class="py-line">          <tt class="py-name">expected_body</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-289" class="py-name"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-289', 'loads', 'link-23');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">)</tt> </tt>
-<a name="L1429"></a><tt class="py-lineno">1429</tt>  <tt class="py-line">        <tt id="link-290" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-290', 'body', 'link-58');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-291" class="py-name"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-291', 'loads', 'link-23');">loads</a></tt><tt class="py-op">(</tt><tt id="link-292" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-292', 'body', 'link-58');">body</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1430"></a><tt class="py-lineno">1430</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-293" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-293', 'body', 'link-58');">body</a></tt> <tt class="py-op">!=</tt> <tt class="py-name">expected_body</tt><tt class="py-op">:</tt> </tt>
-<a name="L1431"></a><tt class="py-lineno">1431</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-294" class="py-name"><a title="apiclient.errors.UnexpectedBodyError" class="py-name" href="#" onclick="return doclink('link-294', 'UnexpectedBodyError', 'link-10');">UnexpectedBodyError</a></tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">,</tt> <tt id="link-295" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-295', 'body', 'link-58');">body</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1432"></a><tt class="py-lineno">1432</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-296" class="py-name" targets="Class apiclient.http.HttpRequestMock=apiclient.http.HttpRequestMock-class.html"><a title="apiclient.http.HttpRequestMock" class="py-name" href="#" onclick="return doclink('link-296', 'HttpRequestMock', 'link-296');">HttpRequestMock</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">postproc</tt><tt class="py-op">)</tt> </tt>
-<a name="L1433"></a><tt class="py-lineno">1433</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">check_unexpected</tt><tt class="py-op">:</tt> </tt>
-<a name="L1434"></a><tt class="py-lineno">1434</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-297" class="py-name"><a title="apiclient.errors.UnexpectedMethodError" class="py-name" href="#" onclick="return doclink('link-297', 'UnexpectedMethodError', 'link-12');">UnexpectedMethodError</a></tt><tt class="py-op">(</tt><tt class="py-name">methodId</tt><tt class="py-op">=</tt><tt class="py-name">methodId</tt><tt class="py-op">)</tt> </tt>
-<a name="L1435"></a><tt class="py-lineno">1435</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1436"></a><tt class="py-lineno">1436</tt>  <tt class="py-line">      <tt id="link-298" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-298', 'model', 'link-13');">model</a></tt> <tt class="py-op">=</tt> <tt id="link-299" class="py-name"><a title="apiclient.model.JsonModel" class="py-name" href="#" onclick="return doclink('link-299', 'JsonModel', 'link-14');">JsonModel</a></tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L1437"></a><tt class="py-lineno">1437</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-300" class="py-name"><a title="apiclient.http.HttpRequestMock" class="py-name" href="#" onclick="return doclink('link-300', 'HttpRequestMock', 'link-296');">HttpRequestMock</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'{}'</tt><tt class="py-op">,</tt> <tt id="link-301" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-301', 'model', 'link-13');">model</a></tt><tt class="py-op">.</tt><tt id="link-302" class="py-name"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-302', 'response', 'link-253');">response</a></tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1438"></a><tt class="py-lineno">1438</tt>  <tt class="py-line"> </tt>
-<a name="HttpMock"></a><div id="HttpMock-def"><a name="L1439"></a><tt class="py-lineno">1439</tt>  <tt class="py-line"> </tt>
-<a name="L1440"></a><tt class="py-lineno">1440</tt> <a class="py-toggle" href="#" id="HttpMock-toggle" onclick="return toggle('HttpMock');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.http.HttpMock-class.html">HttpMock</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpMock-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HttpMock-expanded"><a name="L1441"></a><tt class="py-lineno">1441</tt>  <tt class="py-line">  <tt class="py-docstring">"""Mock of httplib2.Http"""</tt> </tt>
-<a name="L1442"></a><tt class="py-lineno">1442</tt>  <tt class="py-line"> </tt>
-<a name="HttpMock.__init__"></a><div id="HttpMock.__init__-def"><a name="L1443"></a><tt class="py-lineno">1443</tt> <a class="py-toggle" href="#" id="HttpMock.__init__-toggle" onclick="return toggle('HttpMock.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.HttpMock-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpMock.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpMock.__init__-expanded"><a name="L1444"></a><tt class="py-lineno">1444</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
-<a name="L1445"></a><tt class="py-lineno">1445</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1446"></a><tt class="py-lineno">1446</tt>  <tt class="py-line"><tt class="py-docstring">      filename: string, absolute filename to read response from</tt> </tt>
-<a name="L1447"></a><tt class="py-lineno">1447</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, header to return with response</tt> </tt>
-<a name="L1448"></a><tt class="py-lineno">1448</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1449"></a><tt class="py-lineno">1449</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">headers</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1450"></a><tt class="py-lineno">1450</tt>  <tt class="py-line">      <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'status'</tt><tt class="py-op">:</tt> <tt class="py-string">'200 OK'</tt><tt class="py-op">}</tt> </tt>
-<a name="L1451"></a><tt class="py-lineno">1451</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-303" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-303', 'filename', 'link-39');">filename</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L1452"></a><tt class="py-lineno">1452</tt>  <tt class="py-line">      <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-304" class="py-name" targets="Module oauth2client.file=oauth2client.file-module.html"><a title="oauth2client.file" class="py-name" href="#" onclick="return doclink('link-304', 'file', 'link-304');">file</a></tt><tt class="py-op">(</tt><tt id="link-305" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-305', 'filename', 'link-39');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1453"></a><tt class="py-lineno">1453</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-306" class="py-name"><a title="apiclient.http._StreamSlice.read" class="py-name" href="#" onclick="return doclink('link-306', 'read', 'link-36');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1454"></a><tt class="py-lineno">1454</tt>  <tt class="py-line">      <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1455"></a><tt class="py-lineno">1455</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1456"></a><tt class="py-lineno">1456</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1457"></a><tt class="py-lineno">1457</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_headers</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt> </tt>
-<a name="L1458"></a><tt class="py-lineno">1458</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1459"></a><tt class="py-lineno">1459</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1460"></a><tt class="py-lineno">1460</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1461"></a><tt class="py-lineno">1461</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-307" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-307', 'body', 'link-58');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1462"></a><tt class="py-lineno">1462</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L1463"></a><tt class="py-lineno">1463</tt>  <tt class="py-line"> </tt>
-<a name="L1464"></a><tt class="py-lineno">1464</tt>  <tt class="py-line"> </tt>
-<a name="HttpMock.request"></a><div id="HttpMock.request-def"><a name="L1465"></a><tt class="py-lineno">1465</tt> <a class="py-toggle" href="#" id="HttpMock.request-toggle" onclick="return toggle('HttpMock.request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.HttpMock-class.html#request">request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L1466"></a><tt class="py-lineno">1466</tt>  <tt class="py-line">              <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> </tt>
-<a name="L1467"></a><tt class="py-lineno">1467</tt>  <tt class="py-line">              <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1468"></a><tt class="py-lineno">1468</tt>  <tt class="py-line">              <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1469"></a><tt class="py-lineno">1469</tt>  <tt class="py-line">              <tt class="py-param">redirections</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
-<a name="L1470"></a><tt class="py-lineno">1470</tt>  <tt class="py-line">              <tt class="py-param">connection_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpMock.request-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpMock.request-expanded"><a name="L1471"></a><tt class="py-lineno">1471</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
-<a name="L1472"></a><tt class="py-lineno">1472</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">method</tt> </tt>
-<a name="L1473"></a><tt class="py-lineno">1473</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-308" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-308', 'body', 'link-58');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-309" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-309', 'body', 'link-58');">body</a></tt> </tt>
-<a name="L1474"></a><tt class="py-lineno">1474</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt> </tt>
-<a name="L1475"></a><tt class="py-lineno">1475</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Response</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_headers</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt> </tt>
-</div></div><a name="L1476"></a><tt class="py-lineno">1476</tt>  <tt class="py-line"> </tt>
-<a name="HttpMockSequence"></a><div id="HttpMockSequence-def"><a name="L1477"></a><tt class="py-lineno">1477</tt>  <tt class="py-line"> </tt>
-<a name="L1478"></a><tt class="py-lineno">1478</tt> <a class="py-toggle" href="#" id="HttpMockSequence-toggle" onclick="return toggle('HttpMockSequence');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.http.HttpMockSequence-class.html">HttpMockSequence</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpMockSequence-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HttpMockSequence-expanded"><a name="L1479"></a><tt class="py-lineno">1479</tt>  <tt class="py-line">  <tt class="py-docstring">"""Mock of httplib2.Http</tt> </tt>
-<a name="L1480"></a><tt class="py-lineno">1480</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1481"></a><tt class="py-lineno">1481</tt>  <tt class="py-line"><tt class="py-docstring">  Mocks a sequence of calls to request returning different responses for each</tt> </tt>
-<a name="L1482"></a><tt class="py-lineno">1482</tt>  <tt class="py-line"><tt class="py-docstring">  call. Create an instance initialized with the desired response headers</tt> </tt>
-<a name="L1483"></a><tt class="py-lineno">1483</tt>  <tt class="py-line"><tt class="py-docstring">  and content and then use as if an httplib2.Http instance.</tt> </tt>
-<a name="L1484"></a><tt class="py-lineno">1484</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1485"></a><tt class="py-lineno">1485</tt>  <tt class="py-line"><tt class="py-docstring">    http = HttpMockSequence([</tt> </tt>
-<a name="L1486"></a><tt class="py-lineno">1486</tt>  <tt class="py-line"><tt class="py-docstring">      ({'status': '401'}, ''),</tt> </tt>
-<a name="L1487"></a><tt class="py-lineno">1487</tt>  <tt class="py-line"><tt class="py-docstring">      ({'status': '200'}, '{"access_token":"1/3w","expires_in":3600}'),</tt> </tt>
-<a name="L1488"></a><tt class="py-lineno">1488</tt>  <tt class="py-line"><tt class="py-docstring">      ({'status': '200'}, 'echo_request_headers'),</tt> </tt>
-<a name="L1489"></a><tt class="py-lineno">1489</tt>  <tt class="py-line"><tt class="py-docstring">      ])</tt> </tt>
-<a name="L1490"></a><tt class="py-lineno">1490</tt>  <tt class="py-line"><tt class="py-docstring">    resp, content = http.request("http://examples.com")</tt> </tt>
-<a name="L1491"></a><tt class="py-lineno">1491</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1492"></a><tt class="py-lineno">1492</tt>  <tt class="py-line"><tt class="py-docstring">  There are special values you can pass in for content to trigger</tt> </tt>
-<a name="L1493"></a><tt class="py-lineno">1493</tt>  <tt class="py-line"><tt class="py-docstring">  behavours that are helpful in testing.</tt> </tt>
-<a name="L1494"></a><tt class="py-lineno">1494</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1495"></a><tt class="py-lineno">1495</tt>  <tt class="py-line"><tt class="py-docstring">  'echo_request_headers' means return the request headers in the response body</tt> </tt>
-<a name="L1496"></a><tt class="py-lineno">1496</tt>  <tt class="py-line"><tt class="py-docstring">  'echo_request_headers_as_json' means return the request headers in</tt> </tt>
-<a name="L1497"></a><tt class="py-lineno">1497</tt>  <tt class="py-line"><tt class="py-docstring">     the response body</tt> </tt>
-<a name="L1498"></a><tt class="py-lineno">1498</tt>  <tt class="py-line"><tt class="py-docstring">  'echo_request_body' means return the request body in the response body</tt> </tt>
-<a name="L1499"></a><tt class="py-lineno">1499</tt>  <tt class="py-line"><tt class="py-docstring">  'echo_request_uri' means return the request uri in the response body</tt> </tt>
-<a name="L1500"></a><tt class="py-lineno">1500</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L1501"></a><tt class="py-lineno">1501</tt>  <tt class="py-line"> </tt>
-<a name="HttpMockSequence.__init__"></a><div id="HttpMockSequence.__init__-def"><a name="L1502"></a><tt class="py-lineno">1502</tt> <a class="py-toggle" href="#" id="HttpMockSequence.__init__-toggle" onclick="return toggle('HttpMockSequence.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.HttpMockSequence-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">iterable</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpMockSequence.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpMockSequence.__init__-expanded"><a name="L1503"></a><tt class="py-lineno">1503</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
-<a name="L1504"></a><tt class="py-lineno">1504</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1505"></a><tt class="py-lineno">1505</tt>  <tt class="py-line"><tt class="py-docstring">      iterable: iterable, a sequence of pairs of (headers, body)</tt> </tt>
-<a name="L1506"></a><tt class="py-lineno">1506</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1507"></a><tt class="py-lineno">1507</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_iterable</tt> <tt class="py-op">=</tt> <tt class="py-name">iterable</tt> </tt>
-<a name="L1508"></a><tt class="py-lineno">1508</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">follow_redirects</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-</div><a name="L1509"></a><tt class="py-lineno">1509</tt>  <tt class="py-line"> </tt>
-<a name="HttpMockSequence.request"></a><div id="HttpMockSequence.request-def"><a name="L1510"></a><tt class="py-lineno">1510</tt> <a class="py-toggle" href="#" id="HttpMockSequence.request-toggle" onclick="return toggle('HttpMockSequence.request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http.HttpMockSequence-class.html#request">request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L1511"></a><tt class="py-lineno">1511</tt>  <tt class="py-line">              <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> </tt>
-<a name="L1512"></a><tt class="py-lineno">1512</tt>  <tt class="py-line">              <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1513"></a><tt class="py-lineno">1513</tt>  <tt class="py-line">              <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1514"></a><tt class="py-lineno">1514</tt>  <tt class="py-line">              <tt class="py-param">redirections</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
-<a name="L1515"></a><tt class="py-lineno">1515</tt>  <tt class="py-line">              <tt class="py-param">connection_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpMockSequence.request-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpMockSequence.request-expanded"><a name="L1516"></a><tt class="py-lineno">1516</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_iterable</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L1517"></a><tt class="py-lineno">1517</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">content</tt> <tt class="py-op">==</tt> <tt class="py-string">'echo_request_headers'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1518"></a><tt class="py-lineno">1518</tt>  <tt class="py-line">      <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt> </tt>
-<a name="L1519"></a><tt class="py-lineno">1519</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">content</tt> <tt class="py-op">==</tt> <tt class="py-string">'echo_request_headers_as_json'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1520"></a><tt class="py-lineno">1520</tt>  <tt class="py-line">      <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L1521"></a><tt class="py-lineno">1521</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">content</tt> <tt class="py-op">==</tt> <tt class="py-string">'echo_request_body'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1522"></a><tt class="py-lineno">1522</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-310" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-310', 'body', 'link-58');">body</a></tt><tt class="py-op">,</tt> <tt class="py-string">'read'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1523"></a><tt class="py-lineno">1523</tt>  <tt class="py-line">        <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-311" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-311', 'body', 'link-58');">body</a></tt><tt class="py-op">.</tt><tt id="link-312" class="py-name"><a title="apiclient.http._StreamSlice.read" class="py-name" href="#" onclick="return doclink('link-312', 'read', 'link-36');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1524"></a><tt class="py-lineno">1524</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1525"></a><tt class="py-lineno">1525</tt>  <tt class="py-line">        <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-313" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-313', 'body', 'link-58');">body</a></tt> </tt>
-<a name="L1526"></a><tt class="py-lineno">1526</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">content</tt> <tt class="py-op">==</tt> <tt class="py-string">'echo_request_uri'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1527"></a><tt class="py-lineno">1527</tt>  <tt class="py-line">      <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
-<a name="L1528"></a><tt class="py-lineno">1528</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Response</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> </tt>
-</div></div><a name="L1529"></a><tt class="py-lineno">1529</tt>  <tt class="py-line"> </tt>
-<a name="set_user_agent"></a><div id="set_user_agent-def"><a name="L1530"></a><tt class="py-lineno">1530</tt>  <tt class="py-line"> </tt>
-<a name="L1531"></a><tt class="py-lineno">1531</tt> <a class="py-toggle" href="#" id="set_user_agent-toggle" onclick="return toggle('set_user_agent');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http-module.html#set_user_agent">set_user_agent</a><tt class="py-op">(</tt><tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">user_agent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="set_user_agent-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="set_user_agent-expanded"><a name="L1532"></a><tt class="py-lineno">1532</tt>  <tt class="py-line">  <tt class="py-docstring">"""Set the user-agent on every request.</tt> </tt>
-<a name="L1533"></a><tt class="py-lineno">1533</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1534"></a><tt class="py-lineno">1534</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L1535"></a><tt class="py-lineno">1535</tt>  <tt class="py-line"><tt class="py-docstring">     http - An instance of httplib2.Http</tt> </tt>
-<a name="L1536"></a><tt class="py-lineno">1536</tt>  <tt class="py-line"><tt class="py-docstring">         or something that acts like it.</tt> </tt>
-<a name="L1537"></a><tt class="py-lineno">1537</tt>  <tt class="py-line"><tt class="py-docstring">     user_agent: string, the value for the user-agent header.</tt> </tt>
-<a name="L1538"></a><tt class="py-lineno">1538</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1539"></a><tt class="py-lineno">1539</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L1540"></a><tt class="py-lineno">1540</tt>  <tt class="py-line"><tt class="py-docstring">     A modified instance of http that was passed in.</tt> </tt>
-<a name="L1541"></a><tt class="py-lineno">1541</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1542"></a><tt class="py-lineno">1542</tt>  <tt class="py-line"><tt class="py-docstring">  Example:</tt> </tt>
-<a name="L1543"></a><tt class="py-lineno">1543</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1544"></a><tt class="py-lineno">1544</tt>  <tt class="py-line"><tt class="py-docstring">    h = httplib2.Http()</tt> </tt>
-<a name="L1545"></a><tt class="py-lineno">1545</tt>  <tt class="py-line"><tt class="py-docstring">    h = set_user_agent(h, "my-app-name/6.0")</tt> </tt>
-<a name="L1546"></a><tt class="py-lineno">1546</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1547"></a><tt class="py-lineno">1547</tt>  <tt class="py-line"><tt class="py-docstring">  Most of the time the user-agent will be set doing auth, this is for the rare</tt> </tt>
-<a name="L1548"></a><tt class="py-lineno">1548</tt>  <tt class="py-line"><tt class="py-docstring">  cases where you are accessing an unauthenticated endpoint.</tt> </tt>
-<a name="L1549"></a><tt class="py-lineno">1549</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L1550"></a><tt class="py-lineno">1550</tt>  <tt class="py-line">  <tt class="py-name">request_orig</tt> <tt class="py-op">=</tt> <tt id="link-314" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-314', 'http', 'link-72');">http</a></tt><tt class="py-op">.</tt><tt id="link-315" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-315', 'request', 'link-68');">request</a></tt> </tt>
-<a name="L1551"></a><tt class="py-lineno">1551</tt>  <tt class="py-line"> </tt>
-<a name="L1552"></a><tt class="py-lineno">1552</tt>  <tt class="py-line">  <tt class="py-comment"># The closure that will replace 'httplib2.Http.request'.</tt> </tt>
-<a name="L1553"></a><tt class="py-lineno">1553</tt>  <tt class="py-line">  <tt class="py-keyword">def</tt> <tt class="py-def-name">new_request</tt><tt class="py-op">(</tt><tt class="py-param">uri</tt><tt class="py-op">,</tt> <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1554"></a><tt class="py-lineno">1554</tt>  <tt class="py-line">                  <tt class="py-param">redirections</tt><tt class="py-op">=</tt><tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">DEFAULT_MAX_REDIRECTS</tt><tt class="py-op">,</tt> </tt>
-<a name="L1555"></a><tt class="py-lineno">1555</tt>  <tt class="py-line">                  <tt class="py-param">connection_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1556"></a><tt class="py-lineno">1556</tt>  <tt class="py-line">    <tt class="py-docstring">"""Modify the request headers to add the user-agent."""</tt> </tt>
-<a name="L1557"></a><tt class="py-lineno">1557</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">headers</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1558"></a><tt class="py-lineno">1558</tt>  <tt class="py-line">      <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L1559"></a><tt class="py-lineno">1559</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'user-agent'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
-<a name="L1560"></a><tt class="py-lineno">1560</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">user_agent</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> <tt class="py-op">+</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> </tt>
-<a name="L1561"></a><tt class="py-lineno">1561</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1562"></a><tt class="py-lineno">1562</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">user_agent</tt> </tt>
-<a name="L1563"></a><tt class="py-lineno">1563</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">request_orig</tt><tt class="py-op">(</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">,</tt> <tt id="link-316" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-316', 'body', 'link-58');">body</a></tt><tt class="py-op">,</tt> <tt class="py-name">headers</tt><tt class="py-op">,</tt> </tt>
-<a name="L1564"></a><tt class="py-lineno">1564</tt>  <tt class="py-line">                        <tt class="py-name">redirections</tt><tt class="py-op">,</tt> <tt class="py-name">connection_type</tt><tt class="py-op">)</tt> </tt>
-<a name="L1565"></a><tt class="py-lineno">1565</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> </tt>
-</div><a name="L1566"></a><tt class="py-lineno">1566</tt>  <tt class="py-line"> </tt>
-<a name="L1567"></a><tt class="py-lineno">1567</tt>  <tt class="py-line">  <tt id="link-317" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-317', 'http', 'link-72');">http</a></tt><tt class="py-op">.</tt><tt id="link-318" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-318', 'request', 'link-68');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_request</tt> </tt>
-<a name="L1568"></a><tt class="py-lineno">1568</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-319" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-319', 'http', 'link-72');">http</a></tt> </tt>
-</div><a name="L1569"></a><tt class="py-lineno">1569</tt>  <tt class="py-line"> </tt>
-<a name="tunnel_patch"></a><div id="tunnel_patch-def"><a name="L1570"></a><tt class="py-lineno">1570</tt>  <tt class="py-line"> </tt>
-<a name="L1571"></a><tt class="py-lineno">1571</tt> <a class="py-toggle" href="#" id="tunnel_patch-toggle" onclick="return toggle('tunnel_patch');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.http-module.html#tunnel_patch">tunnel_patch</a><tt class="py-op">(</tt><tt class="py-param">http</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="tunnel_patch-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="tunnel_patch-expanded"><a name="L1572"></a><tt class="py-lineno">1572</tt>  <tt class="py-line">  <tt class="py-docstring">"""Tunnel PATCH requests over POST.</tt> </tt>
-<a name="L1573"></a><tt class="py-lineno">1573</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L1574"></a><tt class="py-lineno">1574</tt>  <tt class="py-line"><tt class="py-docstring">     http - An instance of httplib2.Http</tt> </tt>
-<a name="L1575"></a><tt class="py-lineno">1575</tt>  <tt class="py-line"><tt class="py-docstring">         or something that acts like it.</tt> </tt>
-<a name="L1576"></a><tt class="py-lineno">1576</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1577"></a><tt class="py-lineno">1577</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L1578"></a><tt class="py-lineno">1578</tt>  <tt class="py-line"><tt class="py-docstring">     A modified instance of http that was passed in.</tt> </tt>
-<a name="L1579"></a><tt class="py-lineno">1579</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1580"></a><tt class="py-lineno">1580</tt>  <tt class="py-line"><tt class="py-docstring">  Example:</tt> </tt>
-<a name="L1581"></a><tt class="py-lineno">1581</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1582"></a><tt class="py-lineno">1582</tt>  <tt class="py-line"><tt class="py-docstring">    h = httplib2.Http()</tt> </tt>
-<a name="L1583"></a><tt class="py-lineno">1583</tt>  <tt class="py-line"><tt class="py-docstring">    h = tunnel_patch(h, "my-app-name/6.0")</tt> </tt>
-<a name="L1584"></a><tt class="py-lineno">1584</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1585"></a><tt class="py-lineno">1585</tt>  <tt class="py-line"><tt class="py-docstring">  Useful if you are running on a platform that doesn't support PATCH.</tt> </tt>
-<a name="L1586"></a><tt class="py-lineno">1586</tt>  <tt class="py-line"><tt class="py-docstring">  Apply this last if you are using OAuth 1.0, as changing the method</tt> </tt>
-<a name="L1587"></a><tt class="py-lineno">1587</tt>  <tt class="py-line"><tt class="py-docstring">  will result in a different signature.</tt> </tt>
-<a name="L1588"></a><tt class="py-lineno">1588</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L1589"></a><tt class="py-lineno">1589</tt>  <tt class="py-line">  <tt class="py-name">request_orig</tt> <tt class="py-op">=</tt> <tt id="link-320" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-320', 'http', 'link-72');">http</a></tt><tt class="py-op">.</tt><tt id="link-321" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-321', 'request', 'link-68');">request</a></tt> </tt>
-<a name="L1590"></a><tt class="py-lineno">1590</tt>  <tt class="py-line"> </tt>
-<a name="L1591"></a><tt class="py-lineno">1591</tt>  <tt class="py-line">  <tt class="py-comment"># The closure that will replace 'httplib2.Http.request'.</tt> </tt>
-<a name="L1592"></a><tt class="py-lineno">1592</tt>  <tt class="py-line">  <tt class="py-keyword">def</tt> <tt class="py-def-name">new_request</tt><tt class="py-op">(</tt><tt class="py-param">uri</tt><tt class="py-op">,</tt> <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1593"></a><tt class="py-lineno">1593</tt>  <tt class="py-line">                  <tt class="py-param">redirections</tt><tt class="py-op">=</tt><tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">DEFAULT_MAX_REDIRECTS</tt><tt class="py-op">,</tt> </tt>
-<a name="L1594"></a><tt class="py-lineno">1594</tt>  <tt class="py-line">                  <tt class="py-param">connection_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1595"></a><tt class="py-lineno">1595</tt>  <tt class="py-line">    <tt class="py-docstring">"""Modify the request headers to add the user-agent."""</tt> </tt>
-<a name="L1596"></a><tt class="py-lineno">1596</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">headers</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1597"></a><tt class="py-lineno">1597</tt>  <tt class="py-line">      <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L1598"></a><tt class="py-lineno">1598</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">method</tt> <tt class="py-op">==</tt> <tt class="py-string">'PATCH'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1599"></a><tt class="py-lineno">1599</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'oauth_token'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt id="link-322" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-322', 'get', 'link-90');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'authorization'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1600"></a><tt class="py-lineno">1600</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt> </tt>
-<a name="L1601"></a><tt class="py-lineno">1601</tt>  <tt class="py-line">            <tt class="py-string">'OAuth 1.0 request made with Credentials after tunnel_patch.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1602"></a><tt class="py-lineno">1602</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'x-http-method-override'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"PATCH"</tt> </tt>
-<a name="L1603"></a><tt class="py-lineno">1603</tt>  <tt class="py-line">      <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-string">'POST'</tt> </tt>
-<a name="L1604"></a><tt class="py-lineno">1604</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">request_orig</tt><tt class="py-op">(</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">,</tt> <tt id="link-323" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-323', 'body', 'link-58');">body</a></tt><tt class="py-op">,</tt> <tt class="py-name">headers</tt><tt class="py-op">,</tt> </tt>
-<a name="L1605"></a><tt class="py-lineno">1605</tt>  <tt class="py-line">                        <tt class="py-name">redirections</tt><tt class="py-op">,</tt> <tt class="py-name">connection_type</tt><tt class="py-op">)</tt> </tt>
-<a name="L1606"></a><tt class="py-lineno">1606</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> </tt>
-</div><a name="L1607"></a><tt class="py-lineno">1607</tt>  <tt class="py-line"> </tt>
-<a name="L1608"></a><tt class="py-lineno">1608</tt>  <tt class="py-line">  <tt id="link-324" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-324', 'http', 'link-72');">http</a></tt><tt class="py-op">.</tt><tt id="link-325" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-325', 'request', 'link-68');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_request</tt> </tt>
-<a name="L1609"></a><tt class="py-lineno">1609</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-326" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-326', 'http', 'link-72');">http</a></tt> </tt>
-</div><a name="L1610"></a><tt class="py-lineno">1610</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.http.BatchHttpRequest-class.html b/docs/epy/apiclient.http.BatchHttpRequest-class.html
deleted file mode 100644
index f7bcadd..0000000
--- a/docs/epy/apiclient.http.BatchHttpRequest-class.html
+++ /dev/null
@@ -1,756 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.http.BatchHttpRequest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.http-module.html">Module&nbsp;http</a> ::
-        Class&nbsp;BatchHttpRequest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.http.BatchHttpRequest-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class BatchHttpRequest</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_19" name="uml_class_diagram_for_apiclien_19">
-<area shape="rect" id="node61" href="apiclient.http.BatchHttpRequest-class.html#__init__" title="Constructor for a BatchHttpRequest." alt="" coords="17,39,328,57"/>
-<area shape="rect" id="node61" href="apiclient.http.BatchHttpRequest-class.html#add" title="Add a new request." alt="" coords="17,57,328,76"/>
-<area shape="rect" id="node61" href="apiclient.http.BatchHttpRequest-class.html#execute" title="Execute all the requests as a single batched HTTP request." alt="" coords="17,76,328,95"/>
-<area shape="rect" id="node1" href="apiclient.http.BatchHttpRequest-class.html" title="Batches multiple HttpRequest objects into a single HTTP request." alt="" coords="5,6,339,101"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_19.gif" alt='' usemap="#uml_class_diagram_for_apiclien_19" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Batches multiple HttpRequest objects into a single HTTP request.
-
-Example:
-  from apiclient.http import BatchHttpRequest
-
-  def list_animals(request_id, response, exception):
-    &quot;&quot;&quot;Do something with the animals list response.&quot;&quot;&quot;
-    if exception is not None:
-      # Do something with the exception.
-      pass
-    else:
-      # Do something with the response.
-      pass
-
-  def list_farmers(request_id, response, exception):
-    &quot;&quot;&quot;Do something with the farmers list response.&quot;&quot;&quot;
-    if exception is not None:
-      # Do something with the exception.
-      pass
-    else:
-      # Do something with the response.
-      pass
-
-  service = build('farm', 'v2')
-
-  batch = BatchHttpRequest()
-
-  batch.add(service.animals().list(), list_animals)
-  batch.add(service.farmers().list(), list_farmers)
-  batch.execute(http=http)
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">callback</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">batch_uri</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Constructor for a BatchHttpRequest.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#_refresh_and_apply_credentials" class="summary-sig-name" onclick="show_private();">_refresh_and_apply_credentials</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">request</span>,
-        <span class="summary-sig-arg">http</span>)</span><br />
-      Refresh the credentials and apply to the request.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._refresh_and_apply_credentials">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#_id_to_header" class="summary-sig-name" onclick="show_private();">_id_to_header</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">id_</span>)</span><br />
-      Convert an id to a Content-ID header value.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._id_to_header">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#_header_to_id" class="summary-sig-name" onclick="show_private();">_header_to_id</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">header</span>)</span><br />
-      Convert a Content-ID header value to an id.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._header_to_id">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#_serialize_request" class="summary-sig-name" onclick="show_private();">_serialize_request</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">request</span>)</span><br />
-      Convert an HttpRequest object into a string.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._serialize_request">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#_deserialize_response" class="summary-sig-name" onclick="show_private();">_deserialize_response</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">payload</span>)</span><br />
-      Convert string into httplib2 response and content.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._deserialize_response">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#_new_id" class="summary-sig-name" onclick="show_private();">_new_id</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Create a new id.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._new_id">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#add" class="summary-sig-name">add</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">request</span>,
-        <span class="summary-sig-arg">callback</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">request_id</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Add a new request.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest.add">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#_execute" class="summary-sig-name" onclick="show_private();">_execute</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http</span>,
-        <span class="summary-sig-arg">order</span>,
-        <span class="summary-sig-arg">requests</span>)</span><br />
-      Serialize batch request, send to server, process response.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._execute">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Execute all the requests as a single batched HTTP request.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest.execute">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">callback</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">batch_uri</span>=<span class="sig-default">None</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor for a BatchHttpRequest.
-
-Args:
-  callback: callable, A callback to be called for each response, of the
-    form callback(id, response, exception). The first parameter is the
-    request id, and the second is the deserialized response object. The
-    third is an apiclient.errors.HttpError exception object if an HTTP error
-    occurred while processing the request, or None if no error occurred.
-  batch_uri: string, URI to send batch requests to.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(1)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_refresh_and_apply_credentials"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_refresh_and_apply_credentials</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">request</span>,
-        <span class="sig-arg">http</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._refresh_and_apply_credentials">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Refresh the credentials and apply to the request.
-
-Args:
-  request: HttpRequest, the request.
-  http: httplib2.Http, the global http object for the batch.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_id_to_header"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_id_to_header</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">id_</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._id_to_header">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Convert an id to a Content-ID header value.
-
-Args:
-  id_: string, identifier of individual request.
-
-Returns:
-  A Content-ID header with the id_ encoded into it. A UUID is prepended to
-  the value because Content-ID headers are supposed to be universally
-  unique.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_header_to_id"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_header_to_id</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">header</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._header_to_id">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Convert a Content-ID header value to an id.
-
-Presumes the Content-ID header conforms to the format that _id_to_header()
-returns.
-
-Args:
-  header: string, Content-ID header value.
-
-Returns:
-  The extracted id value.
-
-Raises:
-  BatchError if the header is not in the expected format.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_serialize_request"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_serialize_request</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">request</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._serialize_request">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Convert an HttpRequest object into a string.
-
-Args:
-  request: HttpRequest, the request to serialize.
-
-Returns:
-  The request as a string in application/http format.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_deserialize_response"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_deserialize_response</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">payload</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._deserialize_response">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Convert string into httplib2 response and content.
-
-Args:
-  payload: string, headers and body as a string.
-
-Returns:
-  A pair (resp, content), such as would be returned from httplib2.request.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_new_id"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_new_id</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._new_id">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Create a new id.
-
-Auto incrementing number that avoids conflicts with ids already used.
-
-Returns:
-   string, a new unique id.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="add"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">add</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">request</span>,
-        <span class="sig-arg">callback</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">request_id</span>=<span class="sig-default">None</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest.add">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Add a new request.
-
-Every callback added will be paired with a unique id, the request_id. That
-unique id will be passed back to the callback when the response comes back
-from the server. The default behavior is to have the library generate it's
-own unique id. If the caller passes in a request_id then they must ensure
-uniqueness for each request_id, and if they are not an exception is
-raised. Callers should either supply all request_ids or nevery supply a
-request id, to avoid such an error.
-
-Args:
-  request: HttpRequest, Request to add to the batch.
-  callback: callable, A callback to be called for this response, of the
-    form callback(id, response, exception). The first parameter is the
-    request id, and the second is the deserialized response object. The
-    third is an apiclient.errors.HttpError exception object if an HTTP error
-    occurred while processing the request, or None if no errors occurred.
-  request_id: string, A unique id for the request. The id will be passed to
-    the callback with the response.
-
-Returns:
-  None
-
-Raises:
-  BatchError if a media request is added to a batch.
-  KeyError is the request_id is not unique.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_execute"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_execute</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http</span>,
-        <span class="sig-arg">order</span>,
-        <span class="sig-arg">requests</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._execute">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Serialize batch request, send to server, process response.
-
-Args:
-  http: httplib2.Http, an http object to be used to make the request with.
-  order: list, list of request ids in the order they were added to the
-    batch.
-  request: list, list of request objects to send.
-
-Raises:
-  httplib2.HttpLib2Error if a transport error has occured.
-  apiclient.errors.BatchError if the response is the wrong format.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="execute"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">execute</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http</span>=<span class="sig-default">None</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest.execute">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Execute all the requests as a single batched HTTP request.
-
-Args:
-  http: httplib2.Http, an http object to be used in place of the one the
-    HttpRequest request object was constructed with. If one isn't supplied
-    then use a http object from the requests in this batch.
-
-Returns:
-  None
-
-Raises:
-  httplib2.HttpLib2Error if a transport error has occured.
-  apiclient.errors.BatchError if the response is the wrong format.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(1)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.http.HttpMock-class.html b/docs/epy/apiclient.http.HttpMock-class.html
deleted file mode 100644
index d044b8b..0000000
--- a/docs/epy/apiclient.http.HttpMock-class.html
+++ /dev/null
@@ -1,266 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.http.HttpMock</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.http-module.html">Module&nbsp;http</a> ::
-        Class&nbsp;HttpMock
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.http.HttpMock-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class HttpMock</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html#HttpMock">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_20" name="uml_class_diagram_for_apiclien_20">
-<area shape="rect" id="node62" href="apiclient.http.HttpMock-class.html#__init__" title="Args:..." alt="" coords="17,39,611,57"/>
-<area shape="rect" id="node62" href="apiclient.http.HttpMock-class.html#request" title="apiclient.http.HttpMock.request" alt="" coords="17,57,611,76"/>
-<area shape="rect" id="node1" href="apiclient.http.HttpMock-class.html" title="Mock of httplib2.Http" alt="" coords="5,6,621,82"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_20.gif" alt='' usemap="#uml_class_diagram_for_apiclien_20" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Mock of httplib2.Http
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.HttpMock-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">filename</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">headers</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Args:...</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#HttpMock.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="request"></a><span class="summary-sig-name">request</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">uri</span>,
-        <span class="summary-sig-arg">method</span>=<span class="summary-sig-default">'GET'</span>,
-        <span class="summary-sig-arg">body</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">headers</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">redirections</span>=<span class="summary-sig-default">1</span>,
-        <span class="summary-sig-arg">connection_type</span>=<span class="summary-sig-default">None</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#HttpMock.request">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">filename</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">headers</span>=<span class="sig-default">None</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#HttpMock.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-
-Args:
-  filename: string, absolute filename to read response from
-  headers: dict, header to return with response
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.http.HttpMockSequence-class.html b/docs/epy/apiclient.http.HttpMockSequence-class.html
deleted file mode 100644
index af2bdf3..0000000
--- a/docs/epy/apiclient.http.HttpMockSequence-class.html
+++ /dev/null
@@ -1,283 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.http.HttpMockSequence</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.http-module.html">Module&nbsp;http</a> ::
-        Class&nbsp;HttpMockSequence
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.http.HttpMockSequence-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class HttpMockSequence</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html#HttpMockSequence">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_21" name="uml_class_diagram_for_apiclien_21">
-<area shape="rect" id="node63" href="apiclient.http.HttpMockSequence-class.html#__init__" title="Args:..." alt="" coords="17,39,611,57"/>
-<area shape="rect" id="node63" href="apiclient.http.HttpMockSequence-class.html#request" title="apiclient.http.HttpMockSequence.request" alt="" coords="17,57,611,76"/>
-<area shape="rect" id="node1" href="apiclient.http.HttpMockSequence-class.html" title="Mock of httplib2.Http" alt="" coords="5,6,621,82"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_21.gif" alt='' usemap="#uml_class_diagram_for_apiclien_21" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Mock of httplib2.Http
-
-Mocks a sequence of calls to request returning different responses for each
-call. Create an instance initialized with the desired response headers
-and content and then use as if an httplib2.Http instance.
-
-  http = HttpMockSequence([
-    ({'status': '401'}, ''),
-    ({'status': '200'}, '{&quot;access_token&quot;:&quot;1/3w&quot;,&quot;expires_in&quot;:3600}'),
-    ({'status': '200'}, 'echo_request_headers'),
-    ])
-  resp, content = http.request(&quot;http://examples.com&quot;)
-
-There are special values you can pass in for content to trigger
-behavours that are helpful in testing.
-
-'echo_request_headers' means return the request headers in the response body
-'echo_request_headers_as_json' means return the request headers in
-   the response body
-'echo_request_body' means return the request body in the response body
-'echo_request_uri' means return the request uri in the response body
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.HttpMockSequence-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">iterable</span>)</span><br />
-      Args:...</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#HttpMockSequence.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="request"></a><span class="summary-sig-name">request</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">uri</span>,
-        <span class="summary-sig-arg">method</span>=<span class="summary-sig-default">'GET'</span>,
-        <span class="summary-sig-arg">body</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">headers</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">redirections</span>=<span class="summary-sig-default">1</span>,
-        <span class="summary-sig-arg">connection_type</span>=<span class="summary-sig-default">None</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#HttpMockSequence.request">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">iterable</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#HttpMockSequence.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-
-Args:
-  iterable: iterable, a sequence of pairs of (headers, body)
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.http.HttpRequest-class.html b/docs/epy/apiclient.http.HttpRequest-class.html
deleted file mode 100644
index ed0be6c..0000000
--- a/docs/epy/apiclient.http.HttpRequest-class.html
+++ /dev/null
@@ -1,577 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.http.HttpRequest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.http-module.html">Module&nbsp;http</a> ::
-        Class&nbsp;HttpRequest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.http.HttpRequest-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class HttpRequest</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_22" name="uml_class_diagram_for_apiclien_22">
-<area shape="rect" id="node64" href="apiclient.http.HttpRequest-class.html#__init__" title="Constructor for an HttpRequest." alt="" coords="17,39,677,57"/>
-<area shape="rect" id="node64" href="apiclient.http.HttpRequest-class.html#execute" title="Execute the request." alt="" coords="17,57,677,76"/>
-<area shape="rect" id="node64" href="apiclient.http.HttpRequest-class.html#add_response_callback" title="add_response_headers_callback" alt="" coords="17,76,677,95"/>
-<area shape="rect" id="node64" href="apiclient.http.HttpRequest-class.html#next_chunk" title="Execute the next step of a resumable upload." alt="" coords="17,95,677,113"/>
-<area shape="rect" id="node64" href="apiclient.http.HttpRequest-class.html#to_json" title="Returns a JSON representation of the HttpRequest." alt="" coords="17,113,677,132"/>
-<area shape="rect" id="node64" href="apiclient.http.HttpRequest-class.html#from_json" title="Returns an HttpRequest populated with info from a JSON object." alt="" coords="17,132,677,151"/>
-<area shape="rect" id="node1" href="apiclient.http.HttpRequest-class.html" title="Encapsulates a single HTTP request." alt="" coords="5,6,688,157"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_22.gif" alt='' usemap="#uml_class_diagram_for_apiclien_22" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Encapsulates a single HTTP request.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.HttpRequest-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http</span>,
-        <span class="summary-sig-arg">postproc</span>,
-        <span class="summary-sig-arg">uri</span>,
-        <span class="summary-sig-arg">method</span>=<span class="summary-sig-default">'GET'</span>,
-        <span class="summary-sig-arg">body</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">headers</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">methodId</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">resumable</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Constructor for an HttpRequest.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.HttpRequest-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">num_retries</span>=<span class="summary-sig-default">0</span>)</span><br />
-      Execute the request.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest.execute">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.HttpRequest-class.html#add_response_callback" class="summary-sig-name">add_response_callback</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">cb</span>)</span><br />
-      add_response_headers_callback</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest.add_response_callback">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.HttpRequest-class.html#next_chunk" class="summary-sig-name">next_chunk</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">num_retries</span>=<span class="summary-sig-default">0</span>)</span><br />
-      Execute the next step of a resumable upload.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest.next_chunk">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.HttpRequest-class.html#_process_response" class="summary-sig-name" onclick="show_private();">_process_response</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">resp</span>,
-        <span class="summary-sig-arg">content</span>)</span><br />
-      Process the response from a single chunk upload.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest._process_response">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="to_json"></a><span class="summary-sig-name">to_json</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Returns a JSON representation of the HttpRequest.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest.to_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== STATIC METHODS ==================== -->
-<a name="section-StaticMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Static Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-StaticMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="from_json"></a><span class="summary-sig-name">from_json</span>(<span class="summary-sig-arg">s</span>,
-        <span class="summary-sig-arg">http</span>,
-        <span class="summary-sig-arg">postproc</span>)</span><br />
-      Returns an HttpRequest populated with info from a JSON object.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest.from_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http</span>,
-        <span class="sig-arg">postproc</span>,
-        <span class="sig-arg">uri</span>,
-        <span class="sig-arg">method</span>=<span class="sig-default">'GET'</span>,
-        <span class="sig-arg">body</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">headers</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">methodId</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">resumable</span>=<span class="sig-default">None</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor for an HttpRequest.
-
-Args:
-  http: httplib2.Http, the transport object to use to make a request
-  postproc: callable, called on the HTTP response and content to transform
-            it into a data object before returning, or raising an exception
-            on an error.
-  uri: string, the absolute URI to send the request to
-  method: string, the HTTP method to use
-  body: string, the request body of the HTTP request,
-  headers: dict, the HTTP request headers
-  methodId: string, a unique identifier for the API method being called.
-  resumable: MediaUpload, None if this is not a resumbale request.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(4)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="execute"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">execute</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">num_retries</span>=<span class="sig-default">0</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest.execute">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Execute the request.
-
-Args:
-  http: httplib2.Http, an http object to be used in place of the
-        one the HttpRequest request object was constructed with.
-  num_retries: Integer, number of times to retry 500's with randomized
-        exponential backoff. If all retries fail, the raised HttpError
-        represents the last request. If zero (default), we attempt the
-        request only once.
-
-Returns:
-  A deserialized object model of the response body as determined
-  by the postproc.
-
-Raises:
-  apiclient.errors.HttpError if the response was not a 2xx.
-  httplib2.HttpLib2Error if a transport error has occured.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(1)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="add_response_callback"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">add_response_callback</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">cb</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest.add_response_callback">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-add_response_headers_callback
-
-Args:
-  cb: Callback to be called on receiving the response headers, of signature:
-
-  def cb(resp):
-    # Where resp is an instance of httplib2.Response
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="next_chunk"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">next_chunk</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">num_retries</span>=<span class="sig-default">0</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest.next_chunk">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Execute the next step of a resumable upload.
-
-Can only be used if the method being executed supports media uploads and
-the MediaUpload object passed in was flagged as using resumable upload.
-
-Example:
-
-  media = MediaFileUpload('cow.png', mimetype='image/png',
-                          chunksize=1000, resumable=True)
-  request = farm.animals().insert(
-      id='cow',
-      name='cow.png',
-      media_body=media)
-
-  response = None
-  while response is None:
-    status, response = request.next_chunk()
-    if status:
-      print &quot;Upload %d%% complete.&quot; % int(status.progress() * 100)
-
-
-Args:
-  http: httplib2.Http, an http object to be used in place of the
-        one the HttpRequest request object was constructed with.
-  num_retries: Integer, number of times to retry 500's with randomized
-        exponential backoff. If all retries fail, the raised HttpError
-        represents the last request. If zero (default), we attempt the
-        request only once.
-
-Returns:
-  (status, body): (ResumableMediaStatus, object)
-     The body will be None until the resumable media is fully uploaded.
-
-Raises:
-  apiclient.errors.HttpError if the response was not a 2xx.
-  httplib2.HttpLib2Error if a transport error has occured.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(1)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_process_response"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_process_response</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">resp</span>,
-        <span class="sig-arg">content</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest._process_response">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Process the response from a single chunk upload.
-
-Args:
-  resp: httplib2.Response, the response object.
-  content: string, the content of the response.
-
-Returns:
-  (status, body): (ResumableMediaStatus, object)
-     The body will be None until the resumable media is fully uploaded.
-
-Raises:
-  apiclient.errors.HttpError if the response was not a 2xx or a 308.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.http.HttpRequestMock-class.html b/docs/epy/apiclient.http.HttpRequestMock-class.html
deleted file mode 100644
index 4798e43..0000000
--- a/docs/epy/apiclient.http.HttpRequestMock-class.html
+++ /dev/null
@@ -1,295 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.http.HttpRequestMock</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.http-module.html">Module&nbsp;http</a> ::
-        Class&nbsp;HttpRequestMock
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.http.HttpRequestMock-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class HttpRequestMock</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequestMock">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_23" name="uml_class_diagram_for_apiclien_23">
-<area shape="rect" id="node65" href="apiclient.http.HttpRequestMock-class.html#__init__" title="Constructor for HttpRequestMock" alt="" coords="17,39,241,57"/>
-<area shape="rect" id="node65" href="apiclient.http.HttpRequestMock-class.html#execute" title="Execute the request." alt="" coords="17,57,241,76"/>
-<area shape="rect" id="node1" href="apiclient.http.HttpRequestMock-class.html" title="Mock of HttpRequest." alt="" coords="5,6,253,82"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_23.gif" alt='' usemap="#uml_class_diagram_for_apiclien_23" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Mock of HttpRequest.
-
-Do not construct directly, instead use RequestMockBuilder.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.HttpRequestMock-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">resp</span>,
-        <span class="summary-sig-arg">content</span>,
-        <span class="summary-sig-arg">postproc</span>)</span><br />
-      Constructor for HttpRequestMock</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequestMock.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.HttpRequestMock-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Execute the request.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequestMock.execute">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">resp</span>,
-        <span class="sig-arg">content</span>,
-        <span class="sig-arg">postproc</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequestMock.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor for HttpRequestMock
-
-Args:
-  resp: httplib2.Response, the response to emulate coming from the request
-  content: string, the response body
-  postproc: callable, the post processing function usually supplied by
-            the model class. See model.JsonModel.response() as an example.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="execute"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">execute</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http</span>=<span class="sig-default">None</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequestMock.execute">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Execute the request.
-
-Same behavior as HttpRequest.execute(), but the response is
-mocked and not really from an HTTP request/response.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.http.MediaDownloadProgress-class.html b/docs/epy/apiclient.http.MediaDownloadProgress-class.html
deleted file mode 100644
index 3389700..0000000
--- a/docs/epy/apiclient.http.MediaDownloadProgress-class.html
+++ /dev/null
@@ -1,288 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.http.MediaDownloadProgress</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.http-module.html">Module&nbsp;http</a> ::
-        Class&nbsp;MediaDownloadProgress
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.http.MediaDownloadProgress-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class MediaDownloadProgress</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html#MediaDownloadProgress">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_24" name="uml_class_diagram_for_apiclien_24">
-<area shape="rect" id="node66" href="apiclient.http.MediaDownloadProgress-class.html#__init__" title="Constructor." alt="" coords="17,39,288,57"/>
-<area shape="rect" id="node66" href="apiclient.http.MediaDownloadProgress-class.html#progress" title="Percent of download completed, as a float." alt="" coords="17,57,288,76"/>
-<area shape="rect" id="node1" href="apiclient.http.MediaDownloadProgress-class.html" title="Status of a resumable download." alt="" coords="5,6,299,82"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_24.gif" alt='' usemap="#uml_class_diagram_for_apiclien_24" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Status of a resumable download.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaDownloadProgress-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">resumable_progress</span>,
-        <span class="summary-sig-arg">total_size</span>)</span><br />
-      Constructor.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaDownloadProgress.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaDownloadProgress-class.html#progress" class="summary-sig-name">progress</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Percent of download completed, as a float.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaDownloadProgress.progress">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">resumable_progress</span>,
-        <span class="sig-arg">total_size</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaDownloadProgress.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor.
-
-Args:
-  resumable_progress: int, bytes received so far.
-  total_size: int, total bytes in complete download.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="progress"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">progress</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaDownloadProgress.progress">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Percent of download completed, as a float.
-
-Returns:
-  the percentage complete as a float, returning 0.0 if the total size of
-  the download is unknown.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.http.MediaFileUpload-class.html b/docs/epy/apiclient.http.MediaFileUpload-class.html
deleted file mode 100644
index 9af3498..0000000
--- a/docs/epy/apiclient.http.MediaFileUpload-class.html
+++ /dev/null
@@ -1,408 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.http.MediaFileUpload</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.http-module.html">Module&nbsp;http</a> ::
-        Class&nbsp;MediaFileUpload
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.http.MediaFileUpload-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class MediaFileUpload</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html#MediaFileUpload">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_25" name="uml_class_diagram_for_apiclien_25">
-<area shape="rect" id="node67" href="apiclient.http.MediaFileUpload-class.html#__init__" title="Constructor." alt="" coords="17,305,597,324"/>
-<area shape="rect" id="node67" href="apiclient.http.MediaFileUpload-class.html#to_json" title="Creating a JSON representation of an instance of MediaFileUpload." alt="" coords="17,324,597,343"/>
-<area shape="rect" id="node67" href="apiclient.http.MediaFileUpload-class.html#from_json" title="apiclient.http.MediaFileUpload.from_json" alt="" coords="17,343,597,361"/>
-<area shape="rect" id="node1" href="apiclient.http.MediaFileUpload-class.html" title="A MediaUpload for a file." alt="" coords="5,273,608,367"/>
-<area shape="rect" id="node68" href="apiclient.http.MediaIoBaseUpload-class.html#chunksize" title="Chunk size for resumable uploads." alt="" coords="224,116,392,135"/>
-<area shape="rect" id="node68" href="apiclient.http.MediaIoBaseUpload-class.html#mimetype" title="Mime type of the body." alt="" coords="224,135,392,153"/>
-<area shape="rect" id="node68" href="apiclient.http.MediaIoBaseUpload-class.html#size" title="Size of upload." alt="" coords="224,153,392,172"/>
-<area shape="rect" id="node68" href="apiclient.http.MediaIoBaseUpload-class.html#resumable" title="Whether this upload is resumable." alt="" coords="224,172,392,191"/>
-<area shape="rect" id="node68" href="apiclient.http.MediaIoBaseUpload-class.html#getbytes" title="Get bytes from the media." alt="" coords="224,191,392,209"/>
-<area shape="rect" id="node68" href="apiclient.http.MediaIoBaseUpload-class.html#has_stream" title="Does the underlying upload support a streaming interface." alt="" coords="224,209,392,228"/>
-<area shape="rect" id="node68" href="apiclient.http.MediaIoBaseUpload-class.html#stream" title="A stream interface to the data being uploaded." alt="" coords="224,228,392,247"/>
-<area shape="rect" id="node2" href="apiclient.http.MediaIoBaseUpload-class.html" title="A MediaUpload for a io.Base objects." alt="" coords="212,83,404,253"/>
-<area shape="rect" id="node69" href="apiclient.http.MediaUpload-class.html#new_from_json" title="Utility class method to instantiate a MediaUpload subclass from a JSON representation produced by to_json()." alt="" coords="240,39,376,57"/>
-<area shape="rect" id="node3" href="apiclient.http.MediaUpload-class.html" title="Describes a media object to upload." alt="" coords="228,6,388,63"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_25.gif" alt='' usemap="#uml_class_diagram_for_apiclien_25" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-A MediaUpload for a file.
-
-Construct a MediaFileUpload and pass as the media_body parameter of the
-method. For example, if we had a service that allowed uploading images:
-
-
-  media = MediaFileUpload('cow.png', mimetype='image/png',
-    chunksize=1024*1024, resumable=True)
-  farm.animals().insert(
-      id='cow',
-      name='cow.png',
-      media_body=media).execute()
-
-Depending on the platform you are working on, you may pass -1 as the
-chunksize, which indicates that the entire file should be uploaded in a single
-request. If the underlying platform supports streams, such as Python 2.6 or
-later, then this can be very efficient as it avoids multiple connections, and
-also avoids loading the entire file into memory before sending it. Note that
-Google App Engine has a 5MB limit on request size, so you should never set
-your chunksize larger than 5MB, or to -1.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaFileUpload-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">filename</span>,
-        <span class="summary-sig-arg">mimetype</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">chunksize</span>=<span class="summary-sig-default">DEFAULT_CHUNK_SIZE</span>,
-        <span class="summary-sig-arg">resumable</span>=<span class="summary-sig-default">False</span>)</span><br />
-      Constructor.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaFileUpload.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaFileUpload-class.html#to_json" class="summary-sig-name">to_json</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Creating a JSON representation of an instance of MediaFileUpload.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaFileUpload.to_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a></code></b>:
-      <code><a href="apiclient.http.MediaIoBaseUpload-class.html#chunksize">chunksize</a></code>,
-      <code><a href="apiclient.http.MediaIoBaseUpload-class.html#getbytes">getbytes</a></code>,
-      <code><a href="apiclient.http.MediaIoBaseUpload-class.html#has_stream">has_stream</a></code>,
-      <code><a href="apiclient.http.MediaIoBaseUpload-class.html#mimetype">mimetype</a></code>,
-      <code><a href="apiclient.http.MediaIoBaseUpload-class.html#resumable">resumable</a></code>,
-      <code><a href="apiclient.http.MediaIoBaseUpload-class.html#size">size</a></code>,
-      <code><a href="apiclient.http.MediaIoBaseUpload-class.html#stream">stream</a></code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.http.MediaUpload-class.html">MediaUpload</a></code></b> (private):
-      <code><a href="apiclient.http.MediaUpload-class.html#_to_json" onclick="show_private();">_to_json</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.http.MediaUpload-class.html">MediaUpload</a></code></b>:
-      <code><a href="apiclient.http.MediaUpload-class.html#new_from_json">new_from_json</a></code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== STATIC METHODS ==================== -->
-<a name="section-StaticMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Static Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-StaticMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="from_json"></a><span class="summary-sig-name">from_json</span>(<span class="summary-sig-arg">s</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaFileUpload.from_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">filename</span>,
-        <span class="sig-arg">mimetype</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">chunksize</span>=<span class="sig-default">DEFAULT_CHUNK_SIZE</span>,
-        <span class="sig-arg">resumable</span>=<span class="sig-default">False</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaFileUpload.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor.
-
-Args:
-  filename: string, Name of the file.
-  mimetype: string, Mime-type of the file. If None then a mime-type will be
-    guessed from the file extension.
-  chunksize: int, File will be uploaded in chunks of this many bytes. Only
-    used if resumable=True. Pass in a value of -1 if the file is to be
-    uploaded in a single chunk. Note that Google App Engine has a 5MB limit
-    on request size, so you should never set your chunksize larger than 5MB,
-    or to -1.
-  resumable: bool, True if this is a resumable upload. False means upload
-    in a single request.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="to_json"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">to_json</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaFileUpload.to_json">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Creating a JSON representation of an instance of MediaFileUpload.
-
-Returns:
-   string, a JSON representation of this instance, suitable to pass to
-   from_json().
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="apiclient.http.MediaUpload-class.html#to_json">MediaUpload.to_json</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.http.MediaInMemoryUpload-class.html b/docs/epy/apiclient.http.MediaInMemoryUpload-class.html
deleted file mode 100644
index b0d5ecd..0000000
--- a/docs/epy/apiclient.http.MediaInMemoryUpload-class.html
+++ /dev/null
@@ -1,313 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.http.MediaInMemoryUpload</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.http-module.html">Module&nbsp;http</a> ::
-        Class&nbsp;MediaInMemoryUpload
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.http.MediaInMemoryUpload-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class MediaInMemoryUpload</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html#MediaInMemoryUpload">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_26" name="uml_class_diagram_for_apiclien_26">
-<area shape="rect" id="node70" href="apiclient.http.MediaInMemoryUpload-class.html#__init__" title="Create a new MediaInMemoryUpload." alt="" coords="17,324,689,343"/>
-<area shape="rect" id="node1" href="apiclient.http.MediaInMemoryUpload-class.html" title="MediaUpload for a chunk of bytes." alt="" coords="5,291,701,349"/>
-<area shape="rect" id="node71" href="apiclient.http.MediaIoBaseUpload-class.html#chunksize" title="Chunk size for resumable uploads." alt="" coords="269,116,437,135"/>
-<area shape="rect" id="node71" href="apiclient.http.MediaIoBaseUpload-class.html#mimetype" title="Mime type of the body." alt="" coords="269,135,437,153"/>
-<area shape="rect" id="node71" href="apiclient.http.MediaIoBaseUpload-class.html#size" title="Size of upload." alt="" coords="269,153,437,172"/>
-<area shape="rect" id="node71" href="apiclient.http.MediaIoBaseUpload-class.html#resumable" title="Whether this upload is resumable." alt="" coords="269,172,437,191"/>
-<area shape="rect" id="node71" href="apiclient.http.MediaIoBaseUpload-class.html#getbytes" title="Get bytes from the media." alt="" coords="269,191,437,209"/>
-<area shape="rect" id="node71" href="apiclient.http.MediaIoBaseUpload-class.html#has_stream" title="Does the underlying upload support a streaming interface." alt="" coords="269,209,437,228"/>
-<area shape="rect" id="node71" href="apiclient.http.MediaIoBaseUpload-class.html#stream" title="A stream interface to the data being uploaded." alt="" coords="269,228,437,247"/>
-<area shape="rect" id="node71" href="apiclient.http.MediaIoBaseUpload-class.html#to_json" title="This upload type is not serializable." alt="" coords="269,247,437,265"/>
-<area shape="rect" id="node2" href="apiclient.http.MediaIoBaseUpload-class.html" title="A MediaUpload for a io.Base objects." alt="" coords="257,83,449,271"/>
-<area shape="rect" id="node72" href="apiclient.http.MediaUpload-class.html#new_from_json" title="Utility class method to instantiate a MediaUpload subclass from a JSON representation produced by to_json()." alt="" coords="285,39,421,57"/>
-<area shape="rect" id="node3" href="apiclient.http.MediaUpload-class.html" title="Describes a media object to upload." alt="" coords="273,6,433,63"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_26.gif" alt='' usemap="#uml_class_diagram_for_apiclien_26" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-MediaUpload for a chunk of bytes.
-
-DEPRECATED: Use MediaIoBaseUpload with either io.TextIOBase or StringIO for
-the stream.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaInMemoryUpload-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">body</span>,
-        <span class="summary-sig-arg">mimetype</span>=<span class="summary-sig-default">'application/octet-stream'</span>,
-        <span class="summary-sig-arg">chunksize</span>=<span class="summary-sig-default">DEFAULT_CHUNK_SIZE</span>,
-        <span class="summary-sig-arg">resumable</span>=<span class="summary-sig-default">False</span>)</span><br />
-      Create a new MediaInMemoryUpload.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaInMemoryUpload.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a></code></b>:
-      <code><a href="apiclient.http.MediaIoBaseUpload-class.html#chunksize">chunksize</a></code>,
-      <code><a href="apiclient.http.MediaIoBaseUpload-class.html#getbytes">getbytes</a></code>,
-      <code><a href="apiclient.http.MediaIoBaseUpload-class.html#has_stream">has_stream</a></code>,
-      <code><a href="apiclient.http.MediaIoBaseUpload-class.html#mimetype">mimetype</a></code>,
-      <code><a href="apiclient.http.MediaIoBaseUpload-class.html#resumable">resumable</a></code>,
-      <code><a href="apiclient.http.MediaIoBaseUpload-class.html#size">size</a></code>,
-      <code><a href="apiclient.http.MediaIoBaseUpload-class.html#stream">stream</a></code>,
-      <code><a href="apiclient.http.MediaIoBaseUpload-class.html#to_json">to_json</a></code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.http.MediaUpload-class.html">MediaUpload</a></code></b> (private):
-      <code><a href="apiclient.http.MediaUpload-class.html#_to_json" onclick="show_private();">_to_json</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.http.MediaUpload-class.html">MediaUpload</a></code></b>:
-      <code><a href="apiclient.http.MediaUpload-class.html#new_from_json">new_from_json</a></code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">body</span>,
-        <span class="sig-arg">mimetype</span>=<span class="sig-default">'application/octet-stream'</span>,
-        <span class="sig-arg">chunksize</span>=<span class="sig-default">DEFAULT_CHUNK_SIZE</span>,
-        <span class="sig-arg">resumable</span>=<span class="sig-default">False</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaInMemoryUpload.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Create a new MediaInMemoryUpload.
-
-DEPRECATED: Use MediaIoBaseUpload with either io.TextIOBase or StringIO for
-the stream.
-
-Args:
-  body: string, Bytes of body content.
-  mimetype: string, Mime-type of the file or default of
-    'application/octet-stream'.
-  chunksize: int, File will be uploaded in chunks of this many bytes. Only
-    used if resumable=True.
-  resumable: bool, True if this is a resumable upload. False means upload
-    in a single request.
-  
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:43 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.http.MediaIoBaseDownload-class.html b/docs/epy/apiclient.http.MediaIoBaseDownload-class.html
deleted file mode 100644
index fb7662e..0000000
--- a/docs/epy/apiclient.http.MediaIoBaseDownload-class.html
+++ /dev/null
@@ -1,330 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.http.MediaIoBaseDownload</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.http-module.html">Module&nbsp;http</a> ::
-        Class&nbsp;MediaIoBaseDownload
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.http.MediaIoBaseDownload-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class MediaIoBaseDownload</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseDownload">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_27" name="uml_class_diagram_for_apiclien_27">
-<area shape="rect" id="node73" href="apiclient.http.MediaIoBaseDownload-class.html#__init__" title="Constructor." alt="" coords="17,39,397,57"/>
-<area shape="rect" id="node73" href="apiclient.http.MediaIoBaseDownload-class.html#next_chunk" title="Get the next chunk of the download." alt="" coords="17,57,397,76"/>
-<area shape="rect" id="node1" href="apiclient.http.MediaIoBaseDownload-class.html" title="&quot;Download media resources." alt="" coords="5,6,408,82"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_27.gif" alt='' usemap="#uml_class_diagram_for_apiclien_27" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-&quot;Download media resources.
-
-Note that the Python file object is compatible with io.Base and can be used
-with this class also.
-
-
-Example:
-  request = farms.animals().get_media(id='cow')
-  fh = io.FileIO('cow.png', mode='wb')
-  downloader = MediaIoBaseDownload(fh, request, chunksize=1024*1024)
-
-  done = False
-  while done is False:
-    status, done = downloader.next_chunk()
-    if status:
-      print &quot;Download %d%%.&quot; % int(status.progress() * 100)
-  print &quot;Download Complete!&quot;
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaIoBaseDownload-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">fd</span>,
-        <span class="summary-sig-arg">request</span>,
-        <span class="summary-sig-arg">chunksize</span>=<span class="summary-sig-default">DEFAULT_CHUNK_SIZE</span>)</span><br />
-      Constructor.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseDownload.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaIoBaseDownload-class.html#next_chunk" class="summary-sig-name">next_chunk</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">num_retries</span>=<span class="summary-sig-default">0</span>)</span><br />
-      Get the next chunk of the download.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseDownload.next_chunk">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">fd</span>,
-        <span class="sig-arg">request</span>,
-        <span class="sig-arg">chunksize</span>=<span class="sig-default">DEFAULT_CHUNK_SIZE</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseDownload.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor.
-
-Args:
-  fd: io.Base or file object, The stream in which to write the downloaded
-    bytes.
-  request: apiclient.http.HttpRequest, the media request to perform in
-    chunks.
-  chunksize: int, File will be downloaded in chunks of this many bytes.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(3)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="next_chunk"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">next_chunk</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">num_retries</span>=<span class="sig-default">0</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseDownload.next_chunk">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Get the next chunk of the download.
-
-Args:
-  num_retries: Integer, number of times to retry 500's with randomized
-        exponential backoff. If all retries fail, the raised HttpError
-        represents the last request. If zero (default), we attempt the
-        request only once.
-
-Returns:
-  (status, done): (MediaDownloadStatus, boolean)
-     The value of 'done' will be True when the media has been fully
-     downloaded.
-
-Raises:
-  apiclient.errors.HttpError if the response was not a 2xx.
-  httplib2.HttpLib2Error if a transport error has occured.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(1)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.http.MediaIoBaseUpload-class.html b/docs/epy/apiclient.http.MediaIoBaseUpload-class.html
deleted file mode 100644
index 251672f..0000000
--- a/docs/epy/apiclient.http.MediaIoBaseUpload-class.html
+++ /dev/null
@@ -1,690 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.http.MediaIoBaseUpload</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.http-module.html">Module&nbsp;http</a> ::
-        Class&nbsp;MediaIoBaseUpload
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.http.MediaIoBaseUpload-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class MediaIoBaseUpload</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_28" name="uml_class_diagram_for_apiclien_28">
-<area shape="rect" id="node74" href="apiclient.http.MediaIoBaseUpload-class.html#__init__" title="Constructor." alt="" coords="17,116,520,135"/>
-<area shape="rect" id="node74" href="apiclient.http.MediaIoBaseUpload-class.html#chunksize" title="Chunk size for resumable uploads." alt="" coords="17,135,520,153"/>
-<area shape="rect" id="node74" href="apiclient.http.MediaIoBaseUpload-class.html#mimetype" title="Mime type of the body." alt="" coords="17,153,520,172"/>
-<area shape="rect" id="node74" href="apiclient.http.MediaIoBaseUpload-class.html#size" title="Size of upload." alt="" coords="17,172,520,191"/>
-<area shape="rect" id="node74" href="apiclient.http.MediaIoBaseUpload-class.html#resumable" title="Whether this upload is resumable." alt="" coords="17,191,520,209"/>
-<area shape="rect" id="node74" href="apiclient.http.MediaIoBaseUpload-class.html#getbytes" title="Get bytes from the media." alt="" coords="17,209,520,228"/>
-<area shape="rect" id="node74" href="apiclient.http.MediaIoBaseUpload-class.html#has_stream" title="Does the underlying upload support a streaming interface." alt="" coords="17,228,520,247"/>
-<area shape="rect" id="node74" href="apiclient.http.MediaIoBaseUpload-class.html#stream" title="A stream interface to the data being uploaded." alt="" coords="17,247,520,265"/>
-<area shape="rect" id="node74" href="apiclient.http.MediaIoBaseUpload-class.html#to_json" title="This upload type is not serializable." alt="" coords="17,265,520,284"/>
-<area shape="rect" id="node1" href="apiclient.http.MediaIoBaseUpload-class.html" title="A MediaUpload for a io.Base objects." alt="" coords="5,83,531,290"/>
-<area shape="rect" id="node75" href="apiclient.http.MediaUpload-class.html#new_from_json" title="Utility class method to instantiate a MediaUpload subclass from a JSON representation produced by to_json()." alt="" coords="201,39,337,57"/>
-<area shape="rect" id="node2" href="apiclient.http.MediaUpload-class.html" title="Describes a media object to upload." alt="" coords="189,6,349,63"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_28.gif" alt='' usemap="#uml_class_diagram_for_apiclien_28" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-A MediaUpload for a io.Base objects.
-
-Note that the Python file object is compatible with io.Base and can be used
-with this class also.
-
-  fh = io.BytesIO('...Some data to upload...')
-  media = MediaIoBaseUpload(fh, mimetype='image/png',
-    chunksize=1024*1024, resumable=True)
-  farm.animals().insert(
-      id='cow',
-      name='cow.png',
-      media_body=media).execute()
-
-Depending on the platform you are working on, you may pass -1 as the
-chunksize, which indicates that the entire file should be uploaded in a single
-request. If the underlying platform supports streams, such as Python 2.6 or
-later, then this can be very efficient as it avoids multiple connections, and
-also avoids loading the entire file into memory before sending it. Note that
-Google App Engine has a 5MB limit on request size, so you should never set
-your chunksize larger than 5MB, or to -1.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaIoBaseUpload-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">fd</span>,
-        <span class="summary-sig-arg">mimetype</span>,
-        <span class="summary-sig-arg">chunksize</span>=<span class="summary-sig-default">DEFAULT_CHUNK_SIZE</span>,
-        <span class="summary-sig-arg">resumable</span>=<span class="summary-sig-default">False</span>)</span><br />
-      Constructor.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaIoBaseUpload-class.html#chunksize" class="summary-sig-name">chunksize</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Chunk size for resumable uploads.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.chunksize">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaIoBaseUpload-class.html#mimetype" class="summary-sig-name">mimetype</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Mime type of the body.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.mimetype">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaIoBaseUpload-class.html#size" class="summary-sig-name">size</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Size of upload.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.size">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaIoBaseUpload-class.html#resumable" class="summary-sig-name">resumable</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Whether this upload is resumable.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.resumable">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaIoBaseUpload-class.html#getbytes" class="summary-sig-name">getbytes</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">begin</span>,
-        <span class="summary-sig-arg">length</span>)</span><br />
-      Get bytes from the media.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.getbytes">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaIoBaseUpload-class.html#has_stream" class="summary-sig-name">has_stream</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Does the underlying upload support a streaming interface.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.has_stream">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaIoBaseUpload-class.html#stream" class="summary-sig-name">stream</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      A stream interface to the data being uploaded.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.stream">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaIoBaseUpload-class.html#to_json" class="summary-sig-name">to_json</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      This upload type is not serializable.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.to_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.http.MediaUpload-class.html">MediaUpload</a></code></b> (private):
-      <code><a href="apiclient.http.MediaUpload-class.html#_to_json" onclick="show_private();">_to_json</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.http.MediaUpload-class.html">MediaUpload</a></code></b>:
-      <code><a href="apiclient.http.MediaUpload-class.html#new_from_json">new_from_json</a></code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">fd</span>,
-        <span class="sig-arg">mimetype</span>,
-        <span class="sig-arg">chunksize</span>=<span class="sig-default">DEFAULT_CHUNK_SIZE</span>,
-        <span class="sig-arg">resumable</span>=<span class="sig-default">False</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor.
-
-Args:
-  fd: io.Base or file object, The source of the bytes to upload. MUST be
-    opened in blocking mode, do not use streams opened in non-blocking mode.
-    The given stream must be seekable, that is, it must be able to call
-    seek() on fd.
-  mimetype: string, Mime-type of the file.
-  chunksize: int, File will be uploaded in chunks of this many bytes. Only
-    used if resumable=True. Pass in a value of -1 if the file is to be
-    uploaded as a single chunk. Note that Google App Engine has a 5MB limit
-    on request size, so you should never set your chunksize larger than 5MB,
-    or to -1.
-  resumable: bool, True if this is a resumable upload. False means upload
-    in a single request.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(3)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="chunksize"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">chunksize</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.chunksize">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Chunk size for resumable uploads.
-
-Returns:
-  Chunk size in bytes.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="apiclient.http.MediaUpload-class.html#chunksize">MediaUpload.chunksize</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="mimetype"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">mimetype</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.mimetype">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Mime type of the body.
-
-Returns:
-  Mime type.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="apiclient.http.MediaUpload-class.html#mimetype">MediaUpload.mimetype</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="size"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">size</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.size">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Size of upload.
-
-Returns:
-  Size of the body, or None of the size is unknown.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="apiclient.http.MediaUpload-class.html#size">MediaUpload.size</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="resumable"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">resumable</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.resumable">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Whether this upload is resumable.
-
-Returns:
-  True if resumable upload or False.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="apiclient.http.MediaUpload-class.html#resumable">MediaUpload.resumable</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="getbytes"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">getbytes</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">begin</span>,
-        <span class="sig-arg">length</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.getbytes">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Get bytes from the media.
-
-Args:
-  begin: int, offset from beginning of file.
-  length: int, number of bytes to read, starting at begin.
-
-Returns:
-  A string of bytes read. May be shorted than length if EOF was reached
-  first.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="apiclient.http.MediaUpload-class.html#getbytes">MediaUpload.getbytes</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="has_stream"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">has_stream</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.has_stream">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Does the underlying upload support a streaming interface.
-
-Streaming means it is an io.IOBase subclass that supports seek, i.e.
-seekable() returns True.
-
-Returns:
-  True if the call to stream() will return an instance of a seekable io.Base
-  subclass.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="apiclient.http.MediaUpload-class.html#has_stream">MediaUpload.has_stream</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="stream"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">stream</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.stream">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-A stream interface to the data being uploaded.
-
-Returns:
-  The returned value is an io.IOBase subclass that supports seek, i.e.
-  seekable() returns True.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="apiclient.http.MediaUpload-class.html#stream">MediaUpload.stream</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="to_json"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">to_json</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.to_json">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-This upload type is not serializable.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="apiclient.http.MediaUpload-class.html#to_json">MediaUpload.to_json</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.http.MediaUpload-class.html b/docs/epy/apiclient.http.MediaUpload-class.html
deleted file mode 100644
index dac73b9..0000000
--- a/docs/epy/apiclient.http.MediaUpload-class.html
+++ /dev/null
@@ -1,697 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.http.MediaUpload</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.http-module.html">Module&nbsp;http</a> ::
-        Class&nbsp;MediaUpload
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.http.MediaUpload-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class MediaUpload</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_29" name="uml_class_diagram_for_apiclien_29">
-<area shape="rect" id="node76" href="apiclient.http.MediaUpload-class.html#chunksize" title="Chunk size for resumable uploads." alt="" coords="17,39,172,57"/>
-<area shape="rect" id="node76" href="apiclient.http.MediaUpload-class.html#mimetype" title="Mime type of the body." alt="" coords="17,57,172,76"/>
-<area shape="rect" id="node76" href="apiclient.http.MediaUpload-class.html#size" title="Size of upload." alt="" coords="17,76,172,95"/>
-<area shape="rect" id="node76" href="apiclient.http.MediaUpload-class.html#resumable" title="Whether this upload is resumable." alt="" coords="17,95,172,113"/>
-<area shape="rect" id="node76" href="apiclient.http.MediaUpload-class.html#getbytes" title="Get bytes from the media." alt="" coords="17,113,172,132"/>
-<area shape="rect" id="node76" href="apiclient.http.MediaUpload-class.html#has_stream" title="Does the underlying upload support a streaming interface." alt="" coords="17,132,172,151"/>
-<area shape="rect" id="node76" href="apiclient.http.MediaUpload-class.html#stream" title="A stream interface to the data being uploaded." alt="" coords="17,151,172,169"/>
-<area shape="rect" id="node76" href="apiclient.http.MediaUpload-class.html#to_json" title="Create a JSON representation of an instance of MediaUpload." alt="" coords="17,169,172,188"/>
-<area shape="rect" id="node76" href="apiclient.http.MediaUpload-class.html#new_from_json" title="Utility class method to instantiate a MediaUpload subclass from a JSON representation produced by to_json()." alt="" coords="17,188,172,207"/>
-<area shape="rect" id="node1" href="apiclient.http.MediaUpload-class.html" title="Describes a media object to upload." alt="" coords="5,6,184,213"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_29.gif" alt='' usemap="#uml_class_diagram_for_apiclien_29" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Describes a media object to upload.
-
-Base class that defines the interface of MediaUpload subclasses.
-
-Note that subclasses of MediaUpload may allow you to control the chunksize
-when uploading a media object. It is important to keep the size of the chunk
-as large as possible to keep the upload efficient. Other factors may influence
-the size of the chunk you use, particularly if you are working in an
-environment where individual HTTP requests may have a hardcoded time limit,
-such as under certain classes of requests under Google App Engine.
-
-Streams are io.Base compatible objects that support seek(). Some MediaUpload
-subclasses support using streams directly to upload data. Support for
-streaming may be indicated by a MediaUpload sub-class and if appropriate for a
-platform that stream will be used for uploading the media object. The support
-for streaming is indicated by has_stream() returning True. The stream() method
-should return an io.Base object that supports seek(). On platforms where the
-underlying httplib module supports streaming, for example Python 2.6 and
-later, the stream will be passed into the http library which will result in
-less memory being used and possibly faster uploads.
-
-If you need to upload media that can't be uploaded using any of the existing
-MediaUpload sub-class then you can sub-class MediaUpload for your particular
-needs.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaUpload-class.html#chunksize" class="summary-sig-name">chunksize</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Chunk size for resumable uploads.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload.chunksize">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaUpload-class.html#mimetype" class="summary-sig-name">mimetype</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Mime type of the body.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload.mimetype">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaUpload-class.html#size" class="summary-sig-name">size</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Size of upload.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload.size">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaUpload-class.html#resumable" class="summary-sig-name">resumable</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Whether this upload is resumable.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload.resumable">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaUpload-class.html#getbytes" class="summary-sig-name">getbytes</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">begin</span>,
-        <span class="summary-sig-arg">end</span>)</span><br />
-      Get bytes from the media.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload.getbytes">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaUpload-class.html#has_stream" class="summary-sig-name">has_stream</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Does the underlying upload support a streaming interface.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload.has_stream">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaUpload-class.html#stream" class="summary-sig-name">stream</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      A stream interface to the data being uploaded.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload.stream">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaUpload-class.html#_to_json" class="summary-sig-name" onclick="show_private();">_to_json</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">strip</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Utility function for creating a JSON representation of a MediaUpload.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload._to_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaUpload-class.html#to_json" class="summary-sig-name">to_json</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Create a JSON representation of an instance of MediaUpload.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload.to_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__init__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaUpload-class.html#new_from_json" class="summary-sig-name">new_from_json</a>(<span class="summary-sig-arg">cls</span>,
-        <span class="summary-sig-arg">s</span>)</span><br />
-      Utility class method to instantiate a MediaUpload subclass from a JSON
-representation produced by to_json().</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload.new_from_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="chunksize"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">chunksize</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload.chunksize">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Chunk size for resumable uploads.
-
-Returns:
-  Chunk size in bytes.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="mimetype"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">mimetype</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload.mimetype">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Mime type of the body.
-
-Returns:
-  Mime type.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="size"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">size</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload.size">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Size of upload.
-
-Returns:
-  Size of the body, or None of the size is unknown.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="resumable"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">resumable</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload.resumable">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Whether this upload is resumable.
-
-Returns:
-  True if resumable upload or False.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="getbytes"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">getbytes</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">begin</span>,
-        <span class="sig-arg">end</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload.getbytes">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Get bytes from the media.
-
-Args:
-  begin: int, offset from beginning of file.
-  length: int, number of bytes to read, starting at begin.
-
-Returns:
-  A string of bytes read. May be shorter than length if EOF was reached
-  first.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="has_stream"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">has_stream</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload.has_stream">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Does the underlying upload support a streaming interface.
-
-Streaming means it is an io.IOBase subclass that supports seek, i.e.
-seekable() returns True.
-
-Returns:
-  True if the call to stream() will return an instance of a seekable io.Base
-  subclass.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="stream"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">stream</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload.stream">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-A stream interface to the data being uploaded.
-
-Returns:
-  The returned value is an io.IOBase subclass that supports seek, i.e.
-  seekable() returns True.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_to_json"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_to_json</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">strip</span>=<span class="sig-default">None</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload._to_json">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Utility function for creating a JSON representation of a MediaUpload.
-
-Args:
-  strip: array, An array of names of members to not include in the JSON.
-
-Returns:
-   string, a JSON representation of this instance, suitable to pass to
-   from_json().
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(1)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="to_json"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">to_json</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload.to_json">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Create a JSON representation of an instance of MediaUpload.
-
-Returns:
-   string, a JSON representation of this instance, suitable to pass to
-   from_json().
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="new_from_json"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">new_from_json</span>(<span class="sig-arg">cls</span>,
-        <span class="sig-arg">s</span>)</span>
-    <br /><em class="fname">Class Method</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload.new_from_json">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Utility class method to instantiate a MediaUpload subclass from a JSON
-representation produced by to_json().
-
-Args:
-  s: string, JSON from to_json().
-
-Returns:
-  An instance of the subclass of MediaUpload that was serialized with
-  to_json().
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.http.MediaUploadProgress-class.html b/docs/epy/apiclient.http.MediaUploadProgress-class.html
deleted file mode 100644
index 632b40d..0000000
--- a/docs/epy/apiclient.http.MediaUploadProgress-class.html
+++ /dev/null
@@ -1,289 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.http.MediaUploadProgress</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.http-module.html">Module&nbsp;http</a> ::
-        Class&nbsp;MediaUploadProgress
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.http.MediaUploadProgress-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class MediaUploadProgress</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html#MediaUploadProgress">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_30" name="uml_class_diagram_for_apiclien_30">
-<area shape="rect" id="node77" href="apiclient.http.MediaUploadProgress-class.html#__init__" title="Constructor." alt="" coords="17,39,288,57"/>
-<area shape="rect" id="node77" href="apiclient.http.MediaUploadProgress-class.html#progress" title="Percent of upload completed, as a float." alt="" coords="17,57,288,76"/>
-<area shape="rect" id="node1" href="apiclient.http.MediaUploadProgress-class.html" title="Status of a resumable upload." alt="" coords="5,6,299,82"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_30.gif" alt='' usemap="#uml_class_diagram_for_apiclien_30" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Status of a resumable upload.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaUploadProgress-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">resumable_progress</span>,
-        <span class="summary-sig-arg">total_size</span>)</span><br />
-      Constructor.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaUploadProgress.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaUploadProgress-class.html#progress" class="summary-sig-name">progress</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Percent of upload completed, as a float.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaUploadProgress.progress">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">resumable_progress</span>,
-        <span class="sig-arg">total_size</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaUploadProgress.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor.
-
-Args:
-  resumable_progress: int, bytes sent so far.
-  total_size: int, total bytes in complete upload, or None if the total
-    upload size isn't known ahead of time.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="progress"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">progress</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaUploadProgress.progress">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Percent of upload completed, as a float.
-
-Returns:
-  the percentage complete as a float, returning 0.0 if the total size of
-  the upload is unknown.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.http.RequestMockBuilder-class.html b/docs/epy/apiclient.http.RequestMockBuilder-class.html
deleted file mode 100644
index ce0d5b5..0000000
--- a/docs/epy/apiclient.http.RequestMockBuilder-class.html
+++ /dev/null
@@ -1,335 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.http.RequestMockBuilder</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.http-module.html">Module&nbsp;http</a> ::
-        Class&nbsp;RequestMockBuilder
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.http.RequestMockBuilder-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class RequestMockBuilder</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html#RequestMockBuilder">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_31" name="uml_class_diagram_for_apiclien_31">
-<area shape="rect" id="node78" href="apiclient.http.RequestMockBuilder-class.html#__init__" title="Constructor for RequestMockBuilder" alt="" coords="17,39,680,57"/>
-<area shape="rect" id="node78" href="apiclient.http.RequestMockBuilder-class.html#__call__" title="Implements the callable interface that discovery.build() expects of requestBuilder, which is to build an object compatible with HttpRequest.execute()." alt="" coords="17,57,680,76"/>
-<area shape="rect" id="node1" href="apiclient.http.RequestMockBuilder-class.html" title="A simple mock of HttpRequest" alt="" coords="5,6,691,82"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_31.gif" alt='' usemap="#uml_class_diagram_for_apiclien_31" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-A simple mock of HttpRequest
-
-Pass in a dictionary to the constructor that maps request methodIds to
-tuples of (httplib2.Response, content, opt_expected_body) that should be
-returned when that method is called. None may also be passed in for the
-httplib2.Response, in which case a 200 OK response will be generated.
-If an opt_expected_body (str or dict) is provided, it will be compared to
-the body and UnexpectedBodyError will be raised on inequality.
-
-Example:
-  response = '{&quot;data&quot;: {&quot;id&quot;: &quot;tag:google.c...'
-  requestBuilder = RequestMockBuilder(
-    {
-      'plus.activities.get': (None, response),
-    }
-  )
-  apiclient.discovery.build(&quot;plus&quot;, &quot;v1&quot;, requestBuilder=requestBuilder)
-
-Methods that you do not supply a response for will return a
-200 OK with an empty string as the response content or raise an excpetion
-if check_unexpected is set to True. The methodId is taken from the rpcName
-in the discovery document.
-
-For more details see the project wiki.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.RequestMockBuilder-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">responses</span>,
-        <span class="summary-sig-arg">check_unexpected</span>=<span class="summary-sig-default">False</span>)</span><br />
-      Constructor for RequestMockBuilder</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#RequestMockBuilder.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.RequestMockBuilder-class.html#__call__" class="summary-sig-name">__call__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http</span>,
-        <span class="summary-sig-arg">postproc</span>,
-        <span class="summary-sig-arg">uri</span>,
-        <span class="summary-sig-arg">method</span>=<span class="summary-sig-default">'GET'</span>,
-        <span class="summary-sig-arg">body</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">headers</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">methodId</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">resumable</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Implements the callable interface that discovery.build() expects
-of requestBuilder, which is to build an object compatible with
-HttpRequest.execute().</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#RequestMockBuilder.__call__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">responses</span>,
-        <span class="sig-arg">check_unexpected</span>=<span class="sig-default">False</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#RequestMockBuilder.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor for RequestMockBuilder
-
-The constructed object should be a callable object
-that can replace the class HttpResponse.
-
-responses - A dictionary that maps methodIds into tuples
-            of (httplib2.Response, content). The methodId
-            comes from the 'rpcName' field in the discovery
-            document.
-check_unexpected - A boolean setting whether or not UnexpectedMethodError
-                   should be raised on unsupplied method.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="__call__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__call__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http</span>,
-        <span class="sig-arg">postproc</span>,
-        <span class="sig-arg">uri</span>,
-        <span class="sig-arg">method</span>=<span class="sig-default">'GET'</span>,
-        <span class="sig-arg">body</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">headers</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">methodId</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">resumable</span>=<span class="sig-default">None</span>)</span>
-    <br /><em class="fname">(Call operator)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#RequestMockBuilder.__call__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Implements the callable interface that discovery.build() expects
-of requestBuilder, which is to build an object compatible with
-HttpRequest.execute(). See that method for the description of the
-parameters and the expected response.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.http._StreamSlice-class.html b/docs/epy/apiclient.http._StreamSlice-class.html
deleted file mode 100644
index c8ff372..0000000
--- a/docs/epy/apiclient.http._StreamSlice-class.html
+++ /dev/null
@@ -1,301 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.http._StreamSlice</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.http-module.html">Module&nbsp;http</a> ::
-        Class&nbsp;_StreamSlice
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.http._StreamSlice-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class _StreamSlice</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html#_StreamSlice">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_32" name="uml_class_diagram_for_apiclien_32">
-<area shape="rect" id="node79" href="apiclient.http._StreamSlice-class.html#__init__" title="Constructor." alt="" coords="17,39,253,57"/>
-<area shape="rect" id="node79" href="apiclient.http._StreamSlice-class.html#read" title="Read n bytes." alt="" coords="17,57,253,76"/>
-<area shape="rect" id="node1" href="apiclient.http._StreamSlice-class.html" title="Truncated stream." alt="" coords="5,6,264,82"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_32.gif" alt='' usemap="#uml_class_diagram_for_apiclien_32" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Truncated stream.
-
-Takes a stream and presents a stream that is a slice of the original stream.
-This is used when uploading media in chunks. In later versions of Python a
-stream can be passed to httplib in place of the string of data to send. The
-problem is that httplib just blindly reads to the end of the stream. This
-wrapper presents a virtual stream that only reads to the end of the chunk.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http._StreamSlice-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">stream</span>,
-        <span class="summary-sig-arg">begin</span>,
-        <span class="summary-sig-arg">chunksize</span>)</span><br />
-      Constructor.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#_StreamSlice.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.http._StreamSlice-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">n</span>=<span class="summary-sig-default">-1</span>)</span><br />
-      Read n bytes.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#_StreamSlice.read">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">stream</span>,
-        <span class="sig-arg">begin</span>,
-        <span class="sig-arg">chunksize</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#_StreamSlice.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor.
-
-Args:
-  stream: (io.Base, file object), the stream to wrap.
-  begin: int, the seek position the chunk begins at.
-  chunksize: int, the size of the chunk.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="read"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">n</span>=<span class="sig-default">-1</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#_StreamSlice.read">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Read n bytes.
-
-Args:
-  n, int, the number of bytes to read.
-
-Returns:
-  A string of length 'n', or less if EOF is reached.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.mimeparse-module.html b/docs/epy/apiclient.mimeparse-module.html
deleted file mode 100644
index 07e4202..0000000
--- a/docs/epy/apiclient.mimeparse-module.html
+++ /dev/null
@@ -1,506 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.mimeparse</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Module&nbsp;mimeparse
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.mimeparse-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module mimeparse</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.mimeparse-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-MIME-Type Parser
-
-This module provides basic functions for handling mime-types. It can handle
-matching mime-types against a list of media-ranges. See section 14.1 of the
-HTTP specification [RFC 2616] for a complete explanation.
-
-   http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1
-
-Contents:
- - parse_mime_type():   Parses a mime-type into its component parts.
- - parse_media_range(): Media-ranges are mime-types with wild-cards and a 'q'
-                          quality parameter.
- - quality():           Determines the quality ('q') of a mime-type when
-                          compared against a list of media-ranges.
- - quality_parsed():    Just like quality() except the second parameter must be
-                          pre-parsed.
- - best_match():        Choose the mime-type with the highest quality ('q')
-                          from a list of candidates.
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Version:</strong>
-        0.1.3
-      </p>
-      <p><strong>Author:</strong>
-        Joe Gregorio
-      </p>
-      <p><strong>License:</strong>
-        MIT License
-      </p>
-</div><!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.mimeparse-module.html#parse_mime_type" class="summary-sig-name">parse_mime_type</a>(<span class="summary-sig-arg">mime_type</span>)</span><br />
-      Parses a mime-type into its component parts.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.mimeparse-pysrc.html#parse_mime_type">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.mimeparse-module.html#parse_media_range" class="summary-sig-name">parse_media_range</a>(<span class="summary-sig-arg">range</span>)</span><br />
-      Parse a media-range into its component parts.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.mimeparse-pysrc.html#parse_media_range">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.mimeparse-module.html#fitness_and_quality_parsed" class="summary-sig-name">fitness_and_quality_parsed</a>(<span class="summary-sig-arg">mime_type</span>,
-        <span class="summary-sig-arg">parsed_ranges</span>)</span><br />
-      Find the best match for a mime-type amongst parsed media-ranges.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.mimeparse-pysrc.html#fitness_and_quality_parsed">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.mimeparse-module.html#quality_parsed" class="summary-sig-name">quality_parsed</a>(<span class="summary-sig-arg">mime_type</span>,
-        <span class="summary-sig-arg">parsed_ranges</span>)</span><br />
-      Find the best match for a mime-type amongst parsed media-ranges.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.mimeparse-pysrc.html#quality_parsed">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.mimeparse-module.html#quality" class="summary-sig-name">quality</a>(<span class="summary-sig-arg">mime_type</span>,
-        <span class="summary-sig-arg">ranges</span>)</span><br />
-      Return the quality ('q') of a mime-type against a list of media-ranges.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.mimeparse-pysrc.html#quality">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.mimeparse-module.html#best_match" class="summary-sig-name">best_match</a>(<span class="summary-sig-arg">supported</span>,
-        <span class="summary-sig-arg">header</span>)</span><br />
-      Return mime-type with the highest quality ('q') from list of candidates.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.mimeparse-pysrc.html#best_match">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_filter_blank"></a><span class="summary-sig-name">_filter_blank</span>(<span class="summary-sig-arg">i</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.mimeparse-pysrc.html#_filter_blank">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="__email__"></a><span class="summary-name">__email__</span> = <code title="'joe@bitworking.org'">'joe@bitworking.org'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="__credits__"></a><span class="summary-name">__credits__</span> = <code title="''">''</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="parse_mime_type"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">parse_mime_type</span>(<span class="sig-arg">mime_type</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.mimeparse-pysrc.html#parse_mime_type">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Parses a mime-type into its component parts.
-
-Carves up a mime-type and returns a tuple of the (type, subtype, params)
-where 'params' is a dictionary of all the parameters for the media range.
-For example, the media range 'application/xhtml;q=0.5' would get parsed
-into:
-
-   ('application', 'xhtml', {'q', '0.5'})
-   
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="parse_media_range"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">parse_media_range</span>(<span class="sig-arg">range</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.mimeparse-pysrc.html#parse_media_range">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Parse a media-range into its component parts.
-
-Carves up a media range and returns a tuple of the (type, subtype,
-params) where 'params' is a dictionary of all the parameters for the media
-range.  For example, the media range 'application/*;q=0.5' would get parsed
-into:
-
-   ('application', '*', {'q', '0.5'})
-
-In addition this function also guarantees that there is a value for 'q'
-in the params dictionary, filling it in with a proper default if
-necessary.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="fitness_and_quality_parsed"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">fitness_and_quality_parsed</span>(<span class="sig-arg">mime_type</span>,
-        <span class="sig-arg">parsed_ranges</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.mimeparse-pysrc.html#fitness_and_quality_parsed">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Find the best match for a mime-type amongst parsed media-ranges.
-
-Find the best match for a given mime-type against a list of media_ranges
-that have already been parsed by parse_media_range(). Returns a tuple of
-the fitness value and the value of the 'q' quality parameter of the best
-match, or (-1, 0) if no match was found. Just as for quality_parsed(),
-'parsed_ranges' must be a list of parsed media ranges.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="quality_parsed"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">quality_parsed</span>(<span class="sig-arg">mime_type</span>,
-        <span class="sig-arg">parsed_ranges</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.mimeparse-pysrc.html#quality_parsed">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Find the best match for a mime-type amongst parsed media-ranges.
-
-Find the best match for a given mime-type against a list of media_ranges
-that have already been parsed by parse_media_range(). Returns the 'q'
-quality parameter of the best match, 0 if no match was found. This function
-bahaves the same as quality() except that 'parsed_ranges' must be a list of
-parsed media ranges.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="quality"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">quality</span>(<span class="sig-arg">mime_type</span>,
-        <span class="sig-arg">ranges</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.mimeparse-pysrc.html#quality">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Return the quality ('q') of a mime-type against a list of media-ranges.
-
-Returns the quality 'q' of a mime-type when compared against the
-media-ranges in ranges. For example:
-
-&gt;&gt;&gt; quality('text/html','text/*;q=0.3, text/html;q=0.7,
-              text/html;level=1, text/html;level=2;q=0.4, */*;q=0.5')
-0.7
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="best_match"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">best_match</span>(<span class="sig-arg">supported</span>,
-        <span class="sig-arg">header</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.mimeparse-pysrc.html#best_match">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Return mime-type with the highest quality ('q') from list of candidates.
-
-Takes a list of supported mime-types and finds the best match for all the
-media-ranges listed in header. The value of header must be a string that
-conforms to the format of the HTTP Accept: header. The value of 'supported'
-is a list of mime-types. The list of supported mime-types should be sorted
-in order of increasing desirability, in case of a situation where there is
-a tie.
-
-&gt;&gt;&gt; best_match(['application/xbel+xml', 'text/xml'],
-               'text/*;q=0.5,*/*; q=0.1')
-'text/xml'
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.mimeparse-pysrc.html b/docs/epy/apiclient.mimeparse-pysrc.html
deleted file mode 100644
index dccb2a3..0000000
--- a/docs/epy/apiclient.mimeparse-pysrc.html
+++ /dev/null
@@ -1,277 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.mimeparse</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Module&nbsp;mimeparse
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.mimeparse-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="apiclient.mimeparse-module.html">Module apiclient.mimeparse</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2007 Joe Gregorio</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the MIT License</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">"""MIME-Type Parser</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">This module provides basic functions for handling mime-types. It can handle</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">matching mime-types against a list of media-ranges. See section 14.1 of the</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">HTTP specification [RFC 2616] for a complete explanation.</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">   http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">Contents:</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring"> - parse_mime_type():   Parses a mime-type into its component parts.</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring"> - parse_media_range(): Media-ranges are mime-types with wild-cards and a 'q'</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">                          quality parameter.</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring"> - quality():           Determines the quality ('q') of a mime-type when</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">                          compared against a list of media-ranges.</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring"> - quality_parsed():    Just like quality() except the second parameter must be</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">                          pre-parsed.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring"> - best_match():        Choose the mime-type with the highest quality ('q')</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">                          from a list of candidates.</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-name">__version__</tt> <tt class="py-op">=</tt> <tt class="py-string">'0.1.3'</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'Joe Gregorio'</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable apiclient.mimeparse.__email__=apiclient.mimeparse-module.html#__email__"><a title="apiclient.mimeparse.__email__" class="py-name" href="#" onclick="return doclink('link-0', '__email__', 'link-0');">__email__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'joe@bitworking.org'</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-name">__license__</tt> <tt class="py-op">=</tt> <tt class="py-string">'MIT License'</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable apiclient.mimeparse.__credits__=apiclient.mimeparse-module.html#__credits__"><a title="apiclient.mimeparse.__credits__" class="py-name" href="#" onclick="return doclink('link-1', '__credits__', 'link-1');">__credits__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"> </tt>
-<a name="parse_mime_type"></a><div id="parse_mime_type-def"><a name="L32"></a><tt class="py-lineno"> 32</tt> <a class="py-toggle" href="#" id="parse_mime_type-toggle" onclick="return toggle('parse_mime_type');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.mimeparse-module.html#parse_mime_type">parse_mime_type</a><tt class="py-op">(</tt><tt class="py-param">mime_type</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="parse_mime_type-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="parse_mime_type-expanded"><a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">    <tt class="py-docstring">"""Parses a mime-type into its component parts.</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-docstring">    Carves up a mime-type and returns a tuple of the (type, subtype, params)</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring">    where 'params' is a dictionary of all the parameters for the media range.</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-docstring">    For example, the media range 'application/xhtml;q=0.5' would get parsed</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-docstring">    into:</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-docstring">       ('application', 'xhtml', {'q', '0.5'})</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-docstring">       """</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    <tt class="py-name">parts</tt> <tt class="py-op">=</tt> <tt class="py-name">mime_type</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">';'</tt><tt class="py-op">)</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">    <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">param</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'='</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>\ </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">param</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">                  <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">    <tt class="py-name">full_type</tt> <tt class="py-op">=</tt> <tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-comment"># Java URLConnection class sends an Accept header that includes a</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">    <tt class="py-comment"># single '*'. Turn it into a legal wildcard.</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">full_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'*'</tt><tt class="py-op">:</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-name">full_type</tt> <tt class="py-op">=</tt> <tt class="py-string">'*/*'</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">,</tt> <tt class="py-name">subtype</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">full_type</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">subtype</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
-<a name="parse_media_range"></a><div id="parse_media_range-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="parse_media_range-toggle" onclick="return toggle('parse_media_range');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.mimeparse-module.html#parse_media_range">parse_media_range</a><tt class="py-op">(</tt><tt class="py-param">range</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="parse_media_range-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="parse_media_range-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt class="py-docstring">"""Parse a media-range into its component parts.</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-docstring">    Carves up a media range and returns a tuple of the (type, subtype,</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-docstring">    params) where 'params' is a dictionary of all the parameters for the media</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-docstring">    range.  For example, the media range 'application/*;q=0.5' would get parsed</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-docstring">    into:</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring">       ('application', '*', {'q', '0.5'})</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring">    In addition this function also guarantees that there is a value for 'q'</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-docstring">    in the params dictionary, filling it in with a proper default if</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-docstring">    necessary.</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">,</tt> <tt class="py-name">subtype</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt id="link-2" class="py-name" targets="Function apiclient.mimeparse.parse_mime_type()=apiclient.mimeparse-module.html#parse_mime_type"><a title="apiclient.mimeparse.parse_mime_type" class="py-name" href="#" onclick="return doclink('link-2', 'parse_mime_type', 'link-2');">parse_mime_type</a></tt><tt class="py-op">(</tt><tt class="py-name">range</tt><tt class="py-op">)</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">params</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'q'</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'q'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> \ </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">            <tt class="py-keyword">not</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'q'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'q'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt>\ </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-keyword">or</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'q'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'q'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'1'</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">,</tt> <tt class="py-name">subtype</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"> </tt>
-<a name="fitness_and_quality_parsed"></a><div id="fitness_and_quality_parsed-def"><a name="L79"></a><tt class="py-lineno"> 79</tt> <a class="py-toggle" href="#" id="fitness_and_quality_parsed-toggle" onclick="return toggle('fitness_and_quality_parsed');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.mimeparse-module.html#fitness_and_quality_parsed">fitness_and_quality_parsed</a><tt class="py-op">(</tt><tt class="py-param">mime_type</tt><tt class="py-op">,</tt> <tt class="py-param">parsed_ranges</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="fitness_and_quality_parsed-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="fitness_and_quality_parsed-expanded"><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">    <tt class="py-docstring">"""Find the best match for a mime-type amongst parsed media-ranges.</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">    Find the best match for a given mime-type against a list of media_ranges</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">    that have already been parsed by parse_media_range(). Returns a tuple of</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">    the fitness value and the value of the 'q' quality parameter of the best</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">    match, or (-1, 0) if no match was found. Just as for quality_parsed(),</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring">    'parsed_ranges' must be a list of parsed media ranges.</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">    <tt class="py-name">best_fitness</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">    <tt class="py-name">best_fit_q</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-name">target_type</tt><tt class="py-op">,</tt> <tt class="py-name">target_subtype</tt><tt class="py-op">,</tt> <tt class="py-name">target_params</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt>\ </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt id="link-3" class="py-name" targets="Function apiclient.mimeparse.parse_media_range()=apiclient.mimeparse-module.html#parse_media_range"><a title="apiclient.mimeparse.parse_media_range" class="py-name" href="#" onclick="return doclink('link-3', 'parse_media_range', 'link-3');">parse_media_range</a></tt><tt class="py-op">(</tt><tt class="py-name">mime_type</tt><tt class="py-op">)</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">,</tt> <tt class="py-name">subtype</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parsed_ranges</tt><tt class="py-op">:</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">type_match</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt> <tt class="py-op">==</tt> <tt class="py-name">target_type</tt> <tt class="py-keyword">or</tt>\ </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">                      <tt class="py-name">type</tt> <tt class="py-op">==</tt> <tt class="py-string">'*'</tt> <tt class="py-keyword">or</tt>\ </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                      <tt class="py-name">target_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'*'</tt><tt class="py-op">)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-name">subtype_match</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">subtype</tt> <tt class="py-op">==</tt> <tt class="py-name">target_subtype</tt> <tt class="py-keyword">or</tt>\ </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">                         <tt class="py-name">subtype</tt> <tt class="py-op">==</tt> <tt class="py-string">'*'</tt> <tt class="py-keyword">or</tt>\ </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">                         <tt class="py-name">target_subtype</tt> <tt class="py-op">==</tt> <tt class="py-string">'*'</tt><tt class="py-op">)</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type_match</tt> <tt class="py-keyword">and</tt> <tt class="py-name">subtype_match</tt><tt class="py-op">:</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-name">param_matches</tt> <tt class="py-op">=</tt> <tt class="py-name">reduce</tt><tt class="py-op">(</tt><tt class="py-keyword">lambda</tt> <tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">:</tt> <tt class="py-name">x</tt> <tt class="py-op">+</tt> <tt class="py-name">y</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-number">1</tt> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> \ </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                    <tt class="py-name">target_params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-op">!=</tt> <tt class="py-string">'q'</tt> <tt class="py-keyword">and</tt> \ </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">                    <tt class="py-name">params</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">value</tt> <tt class="py-op">==</tt> <tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">            <tt class="py-name">fitness</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt> <tt class="py-op">==</tt> <tt class="py-name">target_type</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-number">100</tt> <tt class="py-keyword">or</tt> <tt class="py-number">0</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-name">fitness</tt> <tt class="py-op">+=</tt> <tt class="py-op">(</tt><tt class="py-name">subtype</tt> <tt class="py-op">==</tt> <tt class="py-name">target_subtype</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-number">10</tt> <tt class="py-keyword">or</tt> <tt class="py-number">0</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">            <tt class="py-name">fitness</tt> <tt class="py-op">+=</tt> <tt class="py-name">param_matches</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">fitness</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">best_fitness</tt><tt class="py-op">:</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">                <tt class="py-name">best_fitness</tt> <tt class="py-op">=</tt> <tt class="py-name">fitness</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                <tt class="py-name">best_fit_q</tt> <tt class="py-op">=</tt> <tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'q'</tt><tt class="py-op">]</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">best_fitness</tt><tt class="py-op">,</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">best_fit_q</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"> </tt>
-<a name="quality_parsed"></a><div id="quality_parsed-def"><a name="L113"></a><tt class="py-lineno">113</tt> <a class="py-toggle" href="#" id="quality_parsed-toggle" onclick="return toggle('quality_parsed');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.mimeparse-module.html#quality_parsed">quality_parsed</a><tt class="py-op">(</tt><tt class="py-param">mime_type</tt><tt class="py-op">,</tt> <tt class="py-param">parsed_ranges</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="quality_parsed-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="quality_parsed-expanded"><a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">    <tt class="py-docstring">"""Find the best match for a mime-type amongst parsed media-ranges.</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">    Find the best match for a given mime-type against a list of media_ranges</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">    that have already been parsed by parse_media_range(). Returns the 'q'</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-docstring">    quality parameter of the best match, 0 if no match was found. This function</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-docstring">    bahaves the same as quality() except that 'parsed_ranges' must be a list of</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-docstring">    parsed media ranges.</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-4" class="py-name" targets="Function apiclient.mimeparse.fitness_and_quality_parsed()=apiclient.mimeparse-module.html#fitness_and_quality_parsed"><a title="apiclient.mimeparse.fitness_and_quality_parsed" class="py-name" href="#" onclick="return doclink('link-4', 'fitness_and_quality_parsed', 'link-4');">fitness_and_quality_parsed</a></tt><tt class="py-op">(</tt><tt class="py-name">mime_type</tt><tt class="py-op">,</tt> <tt class="py-name">parsed_ranges</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"> </tt>
-<a name="quality"></a><div id="quality-def"><a name="L126"></a><tt class="py-lineno">126</tt> <a class="py-toggle" href="#" id="quality-toggle" onclick="return toggle('quality');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.mimeparse-module.html#quality">quality</a><tt class="py-op">(</tt><tt class="py-param">mime_type</tt><tt class="py-op">,</tt> <tt class="py-param">ranges</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="quality-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="quality-expanded"><a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">    <tt class="py-docstring">"""Return the quality ('q') of a mime-type against a list of media-ranges.</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">    Returns the quality 'q' of a mime-type when compared against the</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">    media-ranges in ranges. For example:</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; quality('text/html','text/*;q=0.3, text/html;q=0.7,</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-docstring">                  text/html;level=1, text/html;level=2;q=0.4, */*;q=0.5')</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">    0.7</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">    <tt class="py-name">parsed_ranges</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-5" class="py-name"><a title="apiclient.mimeparse.parse_media_range" class="py-name" href="#" onclick="return doclink('link-5', 'parse_media_range', 'link-3');">parse_media_range</a></tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">r</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ranges</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-6" class="py-name" targets="Function apiclient.mimeparse.quality_parsed()=apiclient.mimeparse-module.html#quality_parsed"><a title="apiclient.mimeparse.quality_parsed" class="py-name" href="#" onclick="return doclink('link-6', 'quality_parsed', 'link-6');">quality_parsed</a></tt><tt class="py-op">(</tt><tt class="py-name">mime_type</tt><tt class="py-op">,</tt> <tt class="py-name">parsed_ranges</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"> </tt>
-<a name="best_match"></a><div id="best_match-def"><a name="L142"></a><tt class="py-lineno">142</tt> <a class="py-toggle" href="#" id="best_match-toggle" onclick="return toggle('best_match');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.mimeparse-module.html#best_match">best_match</a><tt class="py-op">(</tt><tt class="py-param">supported</tt><tt class="py-op">,</tt> <tt class="py-param">header</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="best_match-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="best_match-expanded"><a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">    <tt class="py-docstring">"""Return mime-type with the highest quality ('q') from list of candidates.</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-docstring">    Takes a list of supported mime-types and finds the best match for all the</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-docstring">    media-ranges listed in header. The value of header must be a string that</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-docstring">    conforms to the format of the HTTP Accept: header. The value of 'supported'</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-docstring">    is a list of mime-types. The list of supported mime-types should be sorted</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-docstring">    in order of increasing desirability, in case of a situation where there is</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-docstring">    a tie.</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; best_match(['application/xbel+xml', 'text/xml'],</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">                   'text/*;q=0.5,*/*; q=0.1')</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">    'text/xml'</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">    <tt class="py-name">split_header</tt> <tt class="py-op">=</tt> <tt id="link-7" class="py-name" targets="Function apiclient.mimeparse._filter_blank()=apiclient.mimeparse-module.html#_filter_blank"><a title="apiclient.mimeparse._filter_blank" class="py-name" href="#" onclick="return doclink('link-7', '_filter_blank', 'link-7');">_filter_blank</a></tt><tt class="py-op">(</tt><tt class="py-name">header</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">    <tt class="py-name">parsed_header</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-8" class="py-name"><a title="apiclient.mimeparse.parse_media_range" class="py-name" href="#" onclick="return doclink('link-8', 'parse_media_range', 'link-3');">parse_media_range</a></tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">r</tt> <tt class="py-keyword">in</tt> <tt class="py-name">split_header</tt><tt class="py-op">]</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">    <tt class="py-name">weighted_matches</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">    <tt class="py-name">pos</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">mime_type</tt> <tt class="py-keyword">in</tt> <tt class="py-name">supported</tt><tt class="py-op">:</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-name">weighted_matches</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-9" class="py-name"><a title="apiclient.mimeparse.fitness_and_quality_parsed" class="py-name" href="#" onclick="return doclink('link-9', 'fitness_and_quality_parsed', 'link-4');">fitness_and_quality_parsed</a></tt><tt class="py-op">(</tt><tt class="py-name">mime_type</tt><tt class="py-op">,</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">                                 <tt class="py-name">parsed_header</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">pos</tt><tt class="py-op">,</tt> <tt class="py-name">mime_type</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">pos</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">    <tt class="py-name">weighted_matches</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">weighted_matches</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-name">weighted_matches</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt> </tt>
-</div><a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"> </tt>
-<a name="_filter_blank"></a><div id="_filter_blank-def"><a name="L169"></a><tt class="py-lineno">169</tt> <a class="py-toggle" href="#" id="_filter_blank-toggle" onclick="return toggle('_filter_blank');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.mimeparse-module.html#_filter_blank">_filter_blank</a><tt class="py-op">(</tt><tt class="py-param">i</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_filter_blank-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_filter_blank-expanded"><a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">i</tt><tt class="py-op">:</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">            <tt class="py-keyword">yield</tt> <tt class="py-name">s</tt> </tt>
-</div><a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.model-module.html b/docs/epy/apiclient.model-module.html
deleted file mode 100644
index ebd2664..0000000
--- a/docs/epy/apiclient.model-module.html
+++ /dev/null
@@ -1,315 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.model</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Module&nbsp;model
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.model-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module model</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.model-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-Model objects for requests and responses.
-
-Each API may support one or more serializations, such
-as JSON, Atom, etc. The model classes are responsible
-for converting between the wire format and the Python
-object representation.
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        jcgregorio@google.com (Joe Gregorio)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.model.Model-class.html" class="summary-name">Model</a><br />
-      Model base class.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.model.BaseModel-class.html" class="summary-name">BaseModel</a><br />
-      Base model class.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.model.JsonModel-class.html" class="summary-name">JsonModel</a><br />
-      Model class for JSON.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.model.RawModel-class.html" class="summary-name">RawModel</a><br />
-      Model class for requests that don't return JSON.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.model.MediaModel-class.html" class="summary-name">MediaModel</a><br />
-      Model class for requests that return Media.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.model.ProtocolBufferModel-class.html" class="summary-name">ProtocolBufferModel</a><br />
-      Model class for protocol buffers.
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_abstract"></a><span class="summary-sig-name">_abstract</span>()</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#_abstract">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model-module.html#makepatch" class="summary-sig-name">makepatch</a>(<span class="summary-sig-arg">original</span>,
-        <span class="summary-sig-arg">modified</span>)</span><br />
-      Create a patch object.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#makepatch">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="dump_request_response"></a><span class="summary-name">dump_request_response</span> = <code title="False">False</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="makepatch"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">makepatch</span>(<span class="sig-arg">original</span>,
-        <span class="sig-arg">modified</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#makepatch">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Create a patch object.
-
-Some methods support PATCH, an efficient way to send updates to a resource.
-This method allows the easy construction of patch bodies by looking at the
-differences between a resource before and after it was modified.
-
-Args:
-  original: object, the original deserialized resource
-  modified: object, the modified deserialized resource
-Returns:
-  An object that contains only the changes from original to modified, in a
-  form suitable to pass to a PATCH method.
-
-Example usage:
-  item = service.activities().get(postid=postid, userid=userid).execute()
-  original = copy.deepcopy(item)
-  item['object']['content'] = 'This is updated.'
-  service.activities.patch(postid=postid, userid=userid,
-    body=makepatch(original, item)).execute()
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.model-pysrc.html b/docs/epy/apiclient.model-pysrc.html
deleted file mode 100644
index bac3752..0000000
--- a/docs/epy/apiclient.model-pysrc.html
+++ /dev/null
@@ -1,584 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.model</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Module&nbsp;model
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.model-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="apiclient.model-module.html">Module apiclient.model</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/python2.4</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010 Google Inc.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">"""Model objects for requests and responses.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">Each API may support one or more serializations, such</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">as JSON, Atom, etc. The model classes are responsible</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">for converting between the wire format and the Python</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">object representation.</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package apiclient=apiclient-module.html"><a title="apiclient" class="py-name" href="#" onclick="return doclink('link-0', 'apiclient', 'link-0');">apiclient</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">__version__</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module apiclient.errors=apiclient.errors-module.html"><a title="apiclient.errors" class="py-name" href="#" onclick="return doclink('link-1', 'errors', 'link-1');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Class apiclient.errors.HttpError=apiclient.errors.HttpError-class.html"><a title="apiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-2', 'HttpError', 'link-2');">HttpError</a></tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name" targets="Package oauth2client=oauth2client-module.html"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-3', 'oauth2client', 'link-3');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module oauth2client.anyjson=oauth2client.anyjson-module.html"><a title="oauth2client.anyjson" class="py-name" href="#" onclick="return doclink('link-4', 'anyjson', 'link-4');">anyjson</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt id="link-5" class="py-name" targets="Variable apiclient.model.dump_request_response=apiclient.model-module.html#dump_request_response"><a title="apiclient.model.dump_request_response" class="py-name" href="#" onclick="return doclink('link-5', 'dump_request_response', 'link-5');">dump_request_response</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="_abstract"></a><div id="_abstract-def"><a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <a class="py-toggle" href="#" id="_abstract-toggle" onclick="return toggle('_abstract');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model-module.html#_abstract">_abstract</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_abstract-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_abstract-expanded"><a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">  <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-string">'You need to override this function'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
-<a name="Model"></a><div id="Model-def"><a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="Model-toggle" onclick="return toggle('Model');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.model.Model-class.html">Model</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Model-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Model-expanded"><a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model base class.</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">  All Model classes should implement this interface.</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">  The Model serializes and de-serializes between a wire</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring">  format such as JSON and a Python object representation.</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"> </tt>
-<a name="Model.request"></a><div id="Model.request-def"><a name="L50"></a><tt class="py-lineno"> 50</tt> <a class="py-toggle" href="#" id="Model.request-toggle" onclick="return toggle('Model.request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.Model-class.html#request">request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">,</tt> <tt class="py-param">path_params</tt><tt class="py-op">,</tt> <tt class="py-param">query_params</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Model.request-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Model.request-expanded"><a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">    <tt class="py-docstring">"""Updates outgoing requests with a serialized body.</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, request headers</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">      path_params: dict, parameters that appear in the request path</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">      query_params: dict, parameters that appear in the query</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">      body_value: object, the request body as a Python object, which must be</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring">                  serializable.</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-docstring">      A tuple of (headers, path_params, query, body)</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, request headers</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-docstring">      path_params: dict, parameters that appear in the request path</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring">      query: string, query part of the request URI</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">      body: string, the body serialized in the desired wire format.</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">    <tt id="link-6" class="py-name" targets="Function apiclient.model._abstract()=apiclient.model-module.html#_abstract,Function oauth2client.client._abstract()=oauth2client.client-module.html#_abstract"><a title="apiclient.model._abstract
-oauth2client.client._abstract" class="py-name" href="#" onclick="return doclink('link-6', '_abstract', 'link-6');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
-<a name="Model.response"></a><div id="Model.response-def"><a name="L69"></a><tt class="py-lineno"> 69</tt> <a class="py-toggle" href="#" id="Model.response-toggle" onclick="return toggle('Model.response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.Model-class.html#response">response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Model.response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Model.response-expanded"><a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert the response wire format into a Python object.</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring">      resp: httplib2.Response, the HTTP response headers and status</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the body of the HTTP response</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">      The body de-serialized as a Python object.</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">      apiclient.errors.HttpError if a non 2xx response is received.</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">    <tt id="link-7" class="py-name"><a title="apiclient.model._abstract
-oauth2client.client._abstract" class="py-name" href="#" onclick="return doclink('link-7', '_abstract', 'link-6');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"> </tt>
-<a name="BaseModel"></a><div id="BaseModel-def"><a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <a class="py-toggle" href="#" id="BaseModel-toggle" onclick="return toggle('BaseModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.model.BaseModel-class.html">BaseModel</a><tt class="py-op">(</tt><tt class="py-base-class">Model</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="BaseModel-expanded"><a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">  <tt class="py-docstring">"""Base model class.</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"><tt class="py-docstring">  Subclasses should provide implementations for the "serialize" and</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-docstring">  "deserialize" methods, as well as values for the following class attributes.</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring">  Attributes:</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">    accept: The value to use for the HTTP Accept header.</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring">    content_type: The value to use for the HTTP Content-type header.</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-docstring">    no_content_response: The value to return when deserializing a 204 "No</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-docstring">        Content" response.</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring">    alt_param: The value to supply as the "alt" query parameter for requests.</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">  <tt id="link-8" class="py-name" targets="Variable apiclient.model.BaseModel.accept=apiclient.model.BaseModel-class.html#accept,Variable apiclient.model.JsonModel.accept=apiclient.model.JsonModel-class.html#accept,Variable apiclient.model.MediaModel.accept=apiclient.model.MediaModel-class.html#accept,Variable apiclient.model.ProtocolBufferModel.accept=apiclient.model.ProtocolBufferModel-class.html#accept,Variable apiclient.model.RawModel.accept=apiclient.model.RawModel-class.html#accept"><a title="apiclient.model.BaseModel.accept
-apiclient.model.JsonModel.accept
-apiclient.model.MediaModel.accept
-apiclient.model.ProtocolBufferModel.accept
-apiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-8', 'accept', 'link-8');">accept</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">  <tt id="link-9" class="py-name" targets="Variable apiclient.model.BaseModel.content_type=apiclient.model.BaseModel-class.html#content_type,Variable apiclient.model.JsonModel.content_type=apiclient.model.JsonModel-class.html#content_type,Variable apiclient.model.MediaModel.content_type=apiclient.model.MediaModel-class.html#content_type,Variable apiclient.model.ProtocolBufferModel.content_type=apiclient.model.ProtocolBufferModel-class.html#content_type,Variable apiclient.model.RawModel.content_type=apiclient.model.RawModel-class.html#content_type"><a title="apiclient.model.BaseModel.content_type
-apiclient.model.JsonModel.content_type
-apiclient.model.MediaModel.content_type
-apiclient.model.ProtocolBufferModel.content_type
-apiclient.model.RawModel.content_type" class="py-name" href="#" onclick="return doclink('link-9', 'content_type', 'link-9');">content_type</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">  <tt id="link-10" class="py-name" targets="Variable apiclient.model.BaseModel.no_content_response=apiclient.model.BaseModel-class.html#no_content_response,Method apiclient.model.JsonModel.no_content_response()=apiclient.model.JsonModel-class.html#no_content_response,Method apiclient.model.MediaModel.no_content_response()=apiclient.model.MediaModel-class.html#no_content_response,Method apiclient.model.ProtocolBufferModel.no_content_response()=apiclient.model.ProtocolBufferModel-class.html#no_content_response,Method apiclient.model.RawModel.no_content_response()=apiclient.model.RawModel-class.html#no_content_response"><a title="apiclient.model.BaseModel.no_content_response
-apiclient.model.JsonModel.no_content_response
-apiclient.model.MediaModel.no_content_response
-apiclient.model.ProtocolBufferModel.no_content_response
-apiclient.model.RawModel.no_content_response" class="py-name" href="#" onclick="return doclink('link-10', 'no_content_response', 'link-10');">no_content_response</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">  <tt id="link-11" class="py-name" targets="Variable apiclient.model.BaseModel.alt_param=apiclient.model.BaseModel-class.html#alt_param,Variable apiclient.model.JsonModel.alt_param=apiclient.model.JsonModel-class.html#alt_param,Variable apiclient.model.MediaModel.alt_param=apiclient.model.MediaModel-class.html#alt_param,Variable apiclient.model.ProtocolBufferModel.alt_param=apiclient.model.ProtocolBufferModel-class.html#alt_param,Variable apiclient.model.RawModel.alt_param=apiclient.model.RawModel-class.html#alt_param"><a title="apiclient.model.BaseModel.alt_param
-apiclient.model.JsonModel.alt_param
-apiclient.model.MediaModel.alt_param
-apiclient.model.ProtocolBufferModel.alt_param
-apiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-11', 'alt_param', 'link-11');">alt_param</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"> </tt>
-<a name="BaseModel._log_request"></a><div id="BaseModel._log_request-def"><a name="L104"></a><tt class="py-lineno">104</tt> <a class="py-toggle" href="#" id="BaseModel._log_request-toggle" onclick="return toggle('BaseModel._log_request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.BaseModel-class.html#_log_request">_log_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">,</tt> <tt class="py-param">path_params</tt><tt class="py-op">,</tt> <tt class="py-param">query</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseModel._log_request-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel._log_request-expanded"><a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">    <tt class="py-docstring">"""Logs debugging information about the request if requested."""</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-12" class="py-name"><a title="apiclient.model.dump_request_response" class="py-name" href="#" onclick="return doclink('link-12', 'dump_request_response', 'link-5');">dump_request_response</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'--request-start--'</tt><tt class="py-op">)</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'-headers-start-'</tt><tt class="py-op">)</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'%s: %s'</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'-headers-end-'</tt><tt class="py-op">)</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'-path-parameters-start-'</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">path_params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'%s: %s'</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'-path-parameters-end-'</tt><tt class="py-op">)</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'body: %s'</tt><tt class="py-op">,</tt> <tt id="link-13" class="py-name" targets="Method apiclient.channel.Channel.body()=apiclient.channel.Channel-class.html#body"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-13', 'body', 'link-13');">body</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'query: %s'</tt><tt class="py-op">,</tt> <tt class="py-name">query</tt><tt class="py-op">)</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'--request-end--'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"> </tt>
-<a name="BaseModel.request"></a><div id="BaseModel.request-def"><a name="L120"></a><tt class="py-lineno">120</tt> <a class="py-toggle" href="#" id="BaseModel.request-toggle" onclick="return toggle('BaseModel.request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.BaseModel-class.html#request">request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">,</tt> <tt class="py-param">path_params</tt><tt class="py-op">,</tt> <tt class="py-param">query_params</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseModel.request-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel.request-expanded"><a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">    <tt class="py-docstring">"""Updates outgoing requests with a serialized body.</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, request headers</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring">      path_params: dict, parameters that appear in the request path</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring">      query_params: dict, parameters that appear in the query</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">      body_value: object, the request body as a Python object, which must be</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">                  serializable by simplejson.</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">      A tuple of (headers, path_params, query, body)</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, request headers</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-docstring">      path_params: dict, parameters that appear in the request path</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">      query: string, query part of the request URI</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring">      body: string, the body serialized as JSON</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">    <tt class="py-name">query</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method apiclient.model.BaseModel._build_query()=apiclient.model.BaseModel-class.html#_build_query"><a title="apiclient.model.BaseModel._build_query" class="py-name" href="#" onclick="return doclink('link-14', '_build_query', 'link-14');">_build_query</a></tt><tt class="py-op">(</tt><tt id="link-15" class="py-name" targets="Variable oauth2client.tools.ClientRedirectServer.query_params=oauth2client.tools.ClientRedirectServer-class.html#query_params"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-15', 'query_params', 'link-15');">query_params</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'accept'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="apiclient.model.BaseModel.accept
-apiclient.model.JsonModel.accept
-apiclient.model.MediaModel.accept
-apiclient.model.ProtocolBufferModel.accept
-apiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-16', 'accept', 'link-8');">accept</a></tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'accept-encoding'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'gzip, deflate'</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'user-agent'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-string">' '</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-string">'google-api-python-client/%s (gzip)'</tt> <tt class="py-op">%</tt> <tt class="py-name">__version__</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">body_value</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="apiclient.model.BaseModel.content_type
-apiclient.model.JsonModel.content_type
-apiclient.model.MediaModel.content_type
-apiclient.model.ProtocolBufferModel.content_type
-apiclient.model.RawModel.content_type" class="py-name" href="#" onclick="return doclink('link-17', 'content_type', 'link-9');">content_type</a></tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">      <tt class="py-name">body_value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method apiclient.model.BaseModel.serialize()=apiclient.model.BaseModel-class.html#serialize,Method apiclient.model.JsonModel.serialize()=apiclient.model.JsonModel-class.html#serialize,Method apiclient.model.ProtocolBufferModel.serialize()=apiclient.model.ProtocolBufferModel-class.html#serialize"><a title="apiclient.model.BaseModel.serialize
-apiclient.model.JsonModel.serialize
-apiclient.model.ProtocolBufferModel.serialize" class="py-name" href="#" onclick="return doclink('link-18', 'serialize', 'link-18');">serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method apiclient.model.BaseModel._log_request()=apiclient.model.BaseModel-class.html#_log_request"><a title="apiclient.model.BaseModel._log_request" class="py-name" href="#" onclick="return doclink('link-19', '_log_request', 'link-19');">_log_request</a></tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">,</tt> <tt class="py-name">path_params</tt><tt class="py-op">,</tt> <tt class="py-name">query</tt><tt class="py-op">,</tt> <tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">,</tt> <tt class="py-name">path_params</tt><tt class="py-op">,</tt> <tt class="py-name">query</tt><tt class="py-op">,</tt> <tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"> </tt>
-<a name="BaseModel._build_query"></a><div id="BaseModel._build_query-def"><a name="L152"></a><tt class="py-lineno">152</tt> <a class="py-toggle" href="#" id="BaseModel._build_query-toggle" onclick="return toggle('BaseModel._build_query');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.BaseModel-class.html#_build_query">_build_query</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">params</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseModel._build_query-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel._build_query-expanded"><a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">    <tt class="py-docstring">"""Builds a query string.</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">      params: dict, the query parameters</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-docstring">      The query parameters properly encoded into an HTTP URI query string.</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="apiclient.model.BaseModel.alt_param
-apiclient.model.JsonModel.alt_param
-apiclient.model.MediaModel.alt_param
-apiclient.model.ProtocolBufferModel.alt_param
-apiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-20', 'alt_param', 'link-11');">alt_param</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">      <tt class="py-name">params</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method apiclient.channel.Channel.update()=apiclient.channel.Channel-class.html#update"><a title="apiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-21', 'update', 'link-21');">update</a></tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-string">'alt'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="apiclient.model.BaseModel.alt_param
-apiclient.model.JsonModel.alt_param
-apiclient.model.MediaModel.alt_param
-apiclient.model.ProtocolBufferModel.alt_param
-apiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-22', 'alt_param', 'link-11');">alt_param</a></tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">    <tt class="py-name">astuples</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">value</tt><tt class="py-op">:</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">          <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">          <tt class="py-name">astuples</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-string">'encode'</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">callable</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">          <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-name">astuples</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">'?'</tt> <tt class="py-op">+</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-name">astuples</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"> </tt>
-<a name="BaseModel._log_response"></a><div id="BaseModel._log_response-def"><a name="L175"></a><tt class="py-lineno">175</tt> <a class="py-toggle" href="#" id="BaseModel._log_response-toggle" onclick="return toggle('BaseModel._log_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.BaseModel-class.html#_log_response">_log_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseModel._log_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel._log_response-expanded"><a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">    <tt class="py-docstring">"""Logs debugging information about the response if requested."""</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-23" class="py-name"><a title="apiclient.model.dump_request_response" class="py-name" href="#" onclick="return doclink('link-23', 'dump_request_response', 'link-5');">dump_request_response</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'--response-start--'</tt><tt class="py-op">)</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'%s: %s'</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">content</tt><tt class="py-op">:</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'--response-end--'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"> </tt>
-<a name="BaseModel.response"></a><div id="BaseModel.response-def"><a name="L185"></a><tt class="py-lineno">185</tt> <a class="py-toggle" href="#" id="BaseModel.response-toggle" onclick="return toggle('BaseModel.response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.BaseModel-class.html#response">response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseModel.response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel.response-expanded"><a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert the response wire format into a Python object.</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"><tt class="py-docstring">      resp: httplib2.Response, the HTTP response headers and status</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the body of the HTTP response</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"><tt class="py-docstring">      The body de-serialized as a Python object.</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line"><tt class="py-docstring">      apiclient.errors.HttpError if a non 2xx response is received.</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method apiclient.model.BaseModel._log_response()=apiclient.model.BaseModel-class.html#_log_response"><a title="apiclient.model.BaseModel._log_response" class="py-name" href="#" onclick="return doclink('link-24', '_log_response', 'link-24');">_log_response</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">    <tt class="py-comment"># Error handling is TBD, for example, do we retry</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">    <tt class="py-comment"># for some operation/error combinations?</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">300</tt><tt class="py-op">:</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">204</tt><tt class="py-op">:</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-comment"># A 204: No Content response should be treated differently</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-comment"># to all the other success states</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="apiclient.model.BaseModel.no_content_response
-apiclient.model.JsonModel.no_content_response
-apiclient.model.MediaModel.no_content_response
-apiclient.model.ProtocolBufferModel.no_content_response
-apiclient.model.RawModel.no_content_response" class="py-name" href="#" onclick="return doclink('link-25', 'no_content_response', 'link-10');">no_content_response</a></tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method apiclient.model.BaseModel.deserialize()=apiclient.model.BaseModel-class.html#deserialize,Method apiclient.model.JsonModel.deserialize()=apiclient.model.JsonModel-class.html#deserialize,Method apiclient.model.MediaModel.deserialize()=apiclient.model.MediaModel-class.html#deserialize,Method apiclient.model.ProtocolBufferModel.deserialize()=apiclient.model.ProtocolBufferModel-class.html#deserialize,Method apiclient.model.RawModel.deserialize()=apiclient.model.RawModel-class.html#deserialize"><a title="apiclient.model.BaseModel.deserialize
-apiclient.model.JsonModel.deserialize
-apiclient.model.MediaModel.deserialize
-apiclient.model.ProtocolBufferModel.deserialize
-apiclient.model.RawModel.deserialize" class="py-name" href="#" onclick="return doclink('link-26', 'deserialize', 'link-26');">deserialize</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">'Content from bad request was: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-27" class="py-name"><a title="apiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-27', 'HttpError', 'link-2');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"> </tt>
-<a name="BaseModel.serialize"></a><div id="BaseModel.serialize-def"><a name="L211"></a><tt class="py-lineno">211</tt> <a class="py-toggle" href="#" id="BaseModel.serialize-toggle" onclick="return toggle('BaseModel.serialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.BaseModel-class.html#serialize">serialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseModel.serialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel.serialize-expanded"><a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">    <tt class="py-docstring">"""Perform the actual Python object serialization.</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"><tt class="py-docstring">      body_value: object, the request body as a Python object.</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"><tt class="py-docstring">      string, the body in serialized form.</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">    <tt id="link-28" class="py-name"><a title="apiclient.model._abstract
-oauth2client.client._abstract" class="py-name" href="#" onclick="return doclink('link-28', '_abstract', 'link-6');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"> </tt>
-<a name="BaseModel.deserialize"></a><div id="BaseModel.deserialize-def"><a name="L222"></a><tt class="py-lineno">222</tt> <a class="py-toggle" href="#" id="BaseModel.deserialize-toggle" onclick="return toggle('BaseModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.BaseModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel.deserialize-expanded"><a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">    <tt class="py-docstring">"""Perform the actual deserialization from response string to Python</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-docstring">    object.</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the body of the HTTP response</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring">      The body de-serialized as a Python object.</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">    <tt id="link-29" class="py-name"><a title="apiclient.model._abstract
-oauth2client.client._abstract" class="py-name" href="#" onclick="return doclink('link-29', '_abstract', 'link-6');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"> </tt>
-<a name="JsonModel"></a><div id="JsonModel-def"><a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt> <a class="py-toggle" href="#" id="JsonModel-toggle" onclick="return toggle('JsonModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.model.JsonModel-class.html">JsonModel</a><tt class="py-op">(</tt><tt class="py-base-class">BaseModel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="JsonModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="JsonModel-expanded"><a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model class for JSON.</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"><tt class="py-docstring">  Serializes and de-serializes between JSON and the Python</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"><tt class="py-docstring">  object representation of HTTP request and response bodies.</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">  <tt id="link-30" class="py-name"><a title="apiclient.model.BaseModel.accept
-apiclient.model.JsonModel.accept
-apiclient.model.MediaModel.accept
-apiclient.model.ProtocolBufferModel.accept
-apiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-30', 'accept', 'link-8');">accept</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'application/json'</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">  <tt id="link-31" class="py-name"><a title="apiclient.model.BaseModel.content_type
-apiclient.model.JsonModel.content_type
-apiclient.model.MediaModel.content_type
-apiclient.model.ProtocolBufferModel.content_type
-apiclient.model.RawModel.content_type" class="py-name" href="#" onclick="return doclink('link-31', 'content_type', 'link-9');">content_type</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'application/json'</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">  <tt id="link-32" class="py-name"><a title="apiclient.model.BaseModel.alt_param
-apiclient.model.JsonModel.alt_param
-apiclient.model.MediaModel.alt_param
-apiclient.model.ProtocolBufferModel.alt_param
-apiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-32', 'alt_param', 'link-11');">alt_param</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'json'</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"> </tt>
-<a name="JsonModel.__init__"></a><div id="JsonModel.__init__-def"><a name="L245"></a><tt class="py-lineno">245</tt> <a class="py-toggle" href="#" id="JsonModel.__init__-toggle" onclick="return toggle('JsonModel.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.JsonModel-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data_wrapper</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="JsonModel.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="JsonModel.__init__-expanded"><a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">    <tt class="py-docstring">"""Construct a JsonModel.</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"><tt class="py-docstring">      data_wrapper: boolean, wrap requests and responses in a data wrapper</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data_wrapper</tt> <tt class="py-op">=</tt> <tt class="py-name">data_wrapper</tt> </tt>
-</div><a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"> </tt>
-<a name="JsonModel.serialize"></a><div id="JsonModel.serialize-def"><a name="L253"></a><tt class="py-lineno">253</tt> <a class="py-toggle" href="#" id="JsonModel.serialize-toggle" onclick="return toggle('JsonModel.serialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.JsonModel-class.html#serialize">serialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="JsonModel.serialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="JsonModel.serialize-expanded"><a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">body_value</tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'data'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">body_value</tt> <tt class="py-keyword">and</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data_wrapper</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">      <tt class="py-name">body_value</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'data'</tt><tt class="py-op">:</tt> <tt class="py-name">body_value</tt><tt class="py-op">}</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line"> </tt>
-<a name="JsonModel.deserialize"></a><div id="JsonModel.deserialize-def"><a name="L259"></a><tt class="py-lineno">259</tt> <a class="py-toggle" href="#" id="JsonModel.deserialize-toggle" onclick="return toggle('JsonModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.JsonModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="JsonModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="JsonModel.deserialize-expanded"><a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">    <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">    <tt id="link-33" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-33', 'body', 'link-13');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Function oauth2client.clientsecrets.loads()=oauth2client.clientsecrets-module.html#loads"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-34', 'loads', 'link-34');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data_wrapper</tt> <tt class="py-keyword">and</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-35" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-35', 'body', 'link-13');">body</a></tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'data'</tt> <tt class="py-keyword">in</tt> <tt id="link-36" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-36', 'body', 'link-13');">body</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">      <tt id="link-37" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-37', 'body', 'link-13');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-38" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-38', 'body', 'link-13');">body</a></tt><tt class="py-op">[</tt><tt class="py-string">'data'</tt><tt class="py-op">]</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-39" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-39', 'body', 'link-13');">body</a></tt> </tt>
-</div><a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="JsonModel.no_content_response"></a><div id="JsonModel.no_content_response-def"><a name="L267"></a><tt class="py-lineno">267</tt> <a class="py-toggle" href="#" id="JsonModel.no_content_response-toggle" onclick="return toggle('JsonModel.no_content_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.JsonModel-class.html#no_content_response">no_content_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="JsonModel.no_content_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="JsonModel.no_content_response-expanded"><a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-</div></div><a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"> </tt>
-<a name="RawModel"></a><div id="RawModel-def"><a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line"> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt> <a class="py-toggle" href="#" id="RawModel-toggle" onclick="return toggle('RawModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.model.RawModel-class.html">RawModel</a><tt class="py-op">(</tt><tt class="py-base-class">JsonModel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RawModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="RawModel-expanded"><a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model class for requests that don't return JSON.</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"><tt class="py-docstring">  Serializes and de-serializes between JSON and the Python</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"><tt class="py-docstring">  object representation of HTTP request, and returns the raw bytes</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line"><tt class="py-docstring">  of the response body.</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">  <tt id="link-40" class="py-name"><a title="apiclient.model.BaseModel.accept
-apiclient.model.JsonModel.accept
-apiclient.model.MediaModel.accept
-apiclient.model.ProtocolBufferModel.accept
-apiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-40', 'accept', 'link-8');">accept</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'*/*'</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">  <tt id="link-41" class="py-name"><a title="apiclient.model.BaseModel.content_type
-apiclient.model.JsonModel.content_type
-apiclient.model.MediaModel.content_type
-apiclient.model.ProtocolBufferModel.content_type
-apiclient.model.RawModel.content_type" class="py-name" href="#" onclick="return doclink('link-41', 'content_type', 'link-9');">content_type</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'application/json'</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">  <tt id="link-42" class="py-name"><a title="apiclient.model.BaseModel.alt_param
-apiclient.model.JsonModel.alt_param
-apiclient.model.MediaModel.alt_param
-apiclient.model.ProtocolBufferModel.alt_param
-apiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-42', 'alt_param', 'link-11');">alt_param</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line"> </tt>
-<a name="RawModel.deserialize"></a><div id="RawModel.deserialize-def"><a name="L282"></a><tt class="py-lineno">282</tt> <a class="py-toggle" href="#" id="RawModel.deserialize-toggle" onclick="return toggle('RawModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.RawModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RawModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="RawModel.deserialize-expanded"><a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">content</tt> </tt>
-</div><a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="RawModel.no_content_response"></a><div id="RawModel.no_content_response-def"><a name="L286"></a><tt class="py-lineno">286</tt> <a class="py-toggle" href="#" id="RawModel.no_content_response-toggle" onclick="return toggle('RawModel.no_content_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.RawModel-class.html#no_content_response">no_content_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RawModel.no_content_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="RawModel.no_content_response-expanded"><a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">''</tt> </tt>
-</div></div><a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line"> </tt>
-<a name="MediaModel"></a><div id="MediaModel-def"><a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt> <a class="py-toggle" href="#" id="MediaModel-toggle" onclick="return toggle('MediaModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.model.MediaModel-class.html">MediaModel</a><tt class="py-op">(</tt><tt class="py-base-class">JsonModel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="MediaModel-expanded"><a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model class for requests that return Media.</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line"><tt class="py-docstring">  Serializes and de-serializes between JSON and the Python</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"><tt class="py-docstring">  object representation of HTTP request, and returns the raw bytes</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"><tt class="py-docstring">  of the response body.</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">  <tt id="link-43" class="py-name"><a title="apiclient.model.BaseModel.accept
-apiclient.model.JsonModel.accept
-apiclient.model.MediaModel.accept
-apiclient.model.ProtocolBufferModel.accept
-apiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-43', 'accept', 'link-8');">accept</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'*/*'</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">  <tt id="link-44" class="py-name"><a title="apiclient.model.BaseModel.content_type
-apiclient.model.JsonModel.content_type
-apiclient.model.MediaModel.content_type
-apiclient.model.ProtocolBufferModel.content_type
-apiclient.model.RawModel.content_type" class="py-name" href="#" onclick="return doclink('link-44', 'content_type', 'link-9');">content_type</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'application/json'</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">  <tt id="link-45" class="py-name"><a title="apiclient.model.BaseModel.alt_param
-apiclient.model.JsonModel.alt_param
-apiclient.model.MediaModel.alt_param
-apiclient.model.ProtocolBufferModel.alt_param
-apiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-45', 'alt_param', 'link-11');">alt_param</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'media'</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line"> </tt>
-<a name="MediaModel.deserialize"></a><div id="MediaModel.deserialize-def"><a name="L301"></a><tt class="py-lineno">301</tt> <a class="py-toggle" href="#" id="MediaModel.deserialize-toggle" onclick="return toggle('MediaModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.MediaModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="MediaModel.deserialize-expanded"><a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">content</tt> </tt>
-</div><a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line"> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="MediaModel.no_content_response"></a><div id="MediaModel.no_content_response-def"><a name="L305"></a><tt class="py-lineno">305</tt> <a class="py-toggle" href="#" id="MediaModel.no_content_response-toggle" onclick="return toggle('MediaModel.no_content_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.MediaModel-class.html#no_content_response">no_content_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaModel.no_content_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="MediaModel.no_content_response-expanded"><a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">''</tt> </tt>
-</div></div><a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line"> </tt>
-<a name="ProtocolBufferModel"></a><div id="ProtocolBufferModel-def"><a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel-toggle" onclick="return toggle('ProtocolBufferModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a><tt class="py-op">(</tt><tt class="py-base-class">BaseModel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ProtocolBufferModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ProtocolBufferModel-expanded"><a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model class for protocol buffers.</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line"><tt class="py-docstring">  Serializes and de-serializes the binary protocol buffer sent in the HTTP</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line"><tt class="py-docstring">  request and response bodies.</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">  <tt id="link-46" class="py-name"><a title="apiclient.model.BaseModel.accept
-apiclient.model.JsonModel.accept
-apiclient.model.MediaModel.accept
-apiclient.model.ProtocolBufferModel.accept
-apiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-46', 'accept', 'link-8');">accept</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'application/x-protobuf'</tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">  <tt id="link-47" class="py-name"><a title="apiclient.model.BaseModel.content_type
-apiclient.model.JsonModel.content_type
-apiclient.model.MediaModel.content_type
-apiclient.model.ProtocolBufferModel.content_type
-apiclient.model.RawModel.content_type" class="py-name" href="#" onclick="return doclink('link-47', 'content_type', 'link-9');">content_type</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'application/x-protobuf'</tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">  <tt id="link-48" class="py-name"><a title="apiclient.model.BaseModel.alt_param
-apiclient.model.JsonModel.alt_param
-apiclient.model.MediaModel.alt_param
-apiclient.model.ProtocolBufferModel.alt_param
-apiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-48', 'alt_param', 'link-11');">alt_param</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'proto'</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line"> </tt>
-<a name="ProtocolBufferModel.__init__"></a><div id="ProtocolBufferModel.__init__-def"><a name="L319"></a><tt class="py-lineno">319</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel.__init__-toggle" onclick="return toggle('ProtocolBufferModel.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.ProtocolBufferModel-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">protocol_buffer</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ProtocolBufferModel.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ProtocolBufferModel.__init__-expanded"><a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructs a ProtocolBufferModel.</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line"><tt class="py-docstring">    The serialzed protocol buffer returned in an HTTP response will be</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line"><tt class="py-docstring">    de-serialized using the given protocol buffer class.</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line"><tt class="py-docstring">      protocol_buffer: The protocol buffer class used to de-serialize a</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line"><tt class="py-docstring">      response from the API.</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_protocol_buffer</tt> <tt class="py-op">=</tt> <tt class="py-name">protocol_buffer</tt> </tt>
-</div><a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line"> </tt>
-<a name="ProtocolBufferModel.serialize"></a><div id="ProtocolBufferModel.serialize-def"><a name="L331"></a><tt class="py-lineno">331</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel.serialize-toggle" onclick="return toggle('ProtocolBufferModel.serialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.ProtocolBufferModel-class.html#serialize">serialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ProtocolBufferModel.serialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ProtocolBufferModel.serialize-expanded"><a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">body_value</tt><tt class="py-op">.</tt><tt class="py-name">SerializeToString</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line"> </tt>
-<a name="ProtocolBufferModel.deserialize"></a><div id="ProtocolBufferModel.deserialize-def"><a name="L334"></a><tt class="py-lineno">334</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel.deserialize-toggle" onclick="return toggle('ProtocolBufferModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.ProtocolBufferModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ProtocolBufferModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ProtocolBufferModel.deserialize-expanded"><a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_protocol_buffer</tt><tt class="py-op">.</tt><tt class="py-name">FromString</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line"> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="ProtocolBufferModel.no_content_response"></a><div id="ProtocolBufferModel.no_content_response-def"><a name="L338"></a><tt class="py-lineno">338</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel.no_content_response-toggle" onclick="return toggle('ProtocolBufferModel.no_content_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model.ProtocolBufferModel-class.html#no_content_response">no_content_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ProtocolBufferModel.no_content_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ProtocolBufferModel.no_content_response-expanded"><a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_protocol_buffer</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line"> </tt>
-<a name="makepatch"></a><div id="makepatch-def"><a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line"> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt> <a class="py-toggle" href="#" id="makepatch-toggle" onclick="return toggle('makepatch');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.model-module.html#makepatch">makepatch</a><tt class="py-op">(</tt><tt class="py-param">original</tt><tt class="py-op">,</tt> <tt class="py-param">modified</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="makepatch-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="makepatch-expanded"><a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">  <tt class="py-docstring">"""Create a patch object.</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"><tt class="py-docstring">  Some methods support PATCH, an efficient way to send updates to a resource.</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"><tt class="py-docstring">  This method allows the easy construction of patch bodies by looking at the</tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line"><tt class="py-docstring">  differences between a resource before and after it was modified.</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line"><tt class="py-docstring">    original: object, the original deserialized resource</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line"><tt class="py-docstring">    modified: object, the modified deserialized resource</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line"><tt class="py-docstring">    An object that contains only the changes from original to modified, in a</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line"><tt class="py-docstring">    form suitable to pass to a PATCH method.</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line"><tt class="py-docstring">  Example usage:</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line"><tt class="py-docstring">    item = service.activities().get(postid=postid, userid=userid).execute()</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line"><tt class="py-docstring">    original = copy.deepcopy(item)</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line"><tt class="py-docstring">    item['object']['content'] = 'This is updated.'</tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line"><tt class="py-docstring">    service.activities.patch(postid=postid, userid=userid,</tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"><tt class="py-docstring">      body=makepatch(original, item)).execute()</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">  <tt class="py-name">patch</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">original_value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">original</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">    <tt class="py-name">modified_value</tt> <tt class="py-op">=</tt> <tt class="py-name">modified</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name" targets="Method apiclient.schema.Schemas.get()=apiclient.schema.Schemas-class.html#get,Method oauth2client.client.MemoryCache.get()=oauth2client.client.MemoryCache-class.html#get,Method oauth2client.client.Storage.get()=oauth2client.client.Storage-class.html#get"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-49', 'get', 'link-49');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">modified_value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">      <tt class="py-comment"># Use None to signal that the element is deleted</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">      <tt class="py-name">patch</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">original_value</tt> <tt class="py-op">!=</tt> <tt class="py-name">modified_value</tt><tt class="py-op">:</tt> </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">original_value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">        <tt class="py-comment"># Recursively descend objects</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">        <tt class="py-name">patch</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-50" class="py-name" targets="Function apiclient.model.makepatch()=apiclient.model-module.html#makepatch"><a title="apiclient.model.makepatch" class="py-name" href="#" onclick="return doclink('link-50', 'makepatch', 'link-50');">makepatch</a></tt><tt class="py-op">(</tt><tt class="py-name">original_value</tt><tt class="py-op">,</tt> <tt class="py-name">modified_value</tt><tt class="py-op">)</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">        <tt class="py-comment"># In the case of simple types or arrays we just replace</tt> </tt>
-<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">        <tt class="py-name">patch</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">modified_value</tt> </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">      <tt class="py-comment"># Don't add anything to patch if there's no change</tt> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">      <tt class="py-keyword">pass</tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">modified</tt><tt class="py-op">:</tt> </tt>
-<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">original</tt><tt class="py-op">:</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">      <tt class="py-name">patch</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">modified</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line"> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">patch</tt> </tt>
-</div><a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.model.BaseModel-class.html b/docs/epy/apiclient.model.BaseModel-class.html
deleted file mode 100644
index c97396e..0000000
--- a/docs/epy/apiclient.model.BaseModel-class.html
+++ /dev/null
@@ -1,561 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.model.BaseModel</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.model-module.html">Module&nbsp;model</a> ::
-        Class&nbsp;BaseModel
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.model.BaseModel-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class BaseModel</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.model-pysrc.html#BaseModel">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_33" name="uml_class_diagram_for_apiclien_33">
-<area shape="rect" id="node80" href="apiclient.model.BaseModel-class.html#accept" title="apiclient.model.BaseModel.accept" alt="" coords="17,95,397,113"/>
-<area shape="rect" id="node80" href="apiclient.model.BaseModel-class.html#content_type" title="apiclient.model.BaseModel.content_type" alt="" coords="17,113,397,132"/>
-<area shape="rect" id="node80" href="apiclient.model.BaseModel-class.html#no_content_response" title="apiclient.model.BaseModel.no_content_response" alt="" coords="17,132,397,151"/>
-<area shape="rect" id="node80" href="apiclient.model.BaseModel-class.html#alt_param" title="apiclient.model.BaseModel.alt_param" alt="" coords="17,151,397,169"/>
-<area shape="rect" id="node80" href="apiclient.model.BaseModel-class.html#request" title="Updates outgoing requests with a serialized body." alt="" coords="17,172,397,191"/>
-<area shape="rect" id="node80" href="apiclient.model.BaseModel-class.html#response" title="Convert the response wire format into a Python object." alt="" coords="17,191,397,209"/>
-<area shape="rect" id="node80" href="apiclient.model.BaseModel-class.html#serialize" title="Perform the actual Python object serialization." alt="" coords="17,209,397,228"/>
-<area shape="rect" id="node80" href="apiclient.model.BaseModel-class.html#deserialize" title="Perform the actual deserialization from response string to Python object." alt="" coords="17,228,397,247"/>
-<area shape="rect" id="node1" href="apiclient.model.BaseModel-class.html" title="Base model class." alt="" coords="5,70,408,253"/>
-<area shape="rect" id="node2" href="apiclient.model.Model-class.html" title="Model base class." alt="" coords="177,6,239,50"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_33.gif" alt='' usemap="#uml_class_diagram_for_apiclien_33" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Base model class.
-
-Subclasses should provide implementations for the &quot;serialize&quot; and
-&quot;deserialize&quot; methods, as well as values for the following class attributes.
-
-Attributes:
-  accept: The value to use for the HTTP Accept header.
-  content_type: The value to use for the HTTP Content-type header.
-  no_content_response: The value to return when deserializing a 204 &quot;No
-      Content&quot; response.
-  alt_param: The value to supply as the &quot;alt&quot; query parameter for requests.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_log_request"></a><span class="summary-sig-name">_log_request</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">headers</span>,
-        <span class="summary-sig-arg">path_params</span>,
-        <span class="summary-sig-arg">query</span>,
-        <span class="summary-sig-arg">body</span>)</span><br />
-      Logs debugging information about the request if requested.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#BaseModel._log_request">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.BaseModel-class.html#request" class="summary-sig-name">request</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">headers</span>,
-        <span class="summary-sig-arg">path_params</span>,
-        <span class="summary-sig-arg">query_params</span>,
-        <span class="summary-sig-arg">body_value</span>)</span><br />
-      Updates outgoing requests with a serialized body.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#BaseModel.request">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.BaseModel-class.html#_build_query" class="summary-sig-name" onclick="show_private();">_build_query</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">params</span>)</span><br />
-      Builds a query string.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#BaseModel._build_query">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_log_response"></a><span class="summary-sig-name">_log_response</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">resp</span>,
-        <span class="summary-sig-arg">content</span>)</span><br />
-      Logs debugging information about the response if requested.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#BaseModel._log_response">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.BaseModel-class.html#response" class="summary-sig-name">response</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">resp</span>,
-        <span class="summary-sig-arg">content</span>)</span><br />
-      Convert the response wire format into a Python object.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#BaseModel.response">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.BaseModel-class.html#serialize" class="summary-sig-name">serialize</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">body_value</span>)</span><br />
-      Perform the actual Python object serialization.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#BaseModel.serialize">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.BaseModel-class.html#deserialize" class="summary-sig-name">deserialize</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">content</span>)</span><br />
-      Perform the actual deserialization from response string to Python
-object.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#BaseModel.deserialize">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__init__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="accept"></a><span class="summary-name">accept</span> = <code title="None">None</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="content_type"></a><span class="summary-name">content_type</span> = <code title="None">None</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="no_content_response"></a><span class="summary-name">no_content_response</span> = <code title="None">None</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="alt_param"></a><span class="summary-name">alt_param</span> = <code title="None">None</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="request"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">request</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">headers</span>,
-        <span class="sig-arg">path_params</span>,
-        <span class="sig-arg">query_params</span>,
-        <span class="sig-arg">body_value</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#BaseModel.request">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Updates outgoing requests with a serialized body.
-
-Args:
-  headers: dict, request headers
-  path_params: dict, parameters that appear in the request path
-  query_params: dict, parameters that appear in the query
-  body_value: object, the request body as a Python object, which must be
-              serializable by simplejson.
-Returns:
-  A tuple of (headers, path_params, query, body)
-
-  headers: dict, request headers
-  path_params: dict, parameters that appear in the request path
-  query: string, query part of the request URI
-  body: string, the body serialized as JSON
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="apiclient.model.Model-class.html#request">Model.request</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_build_query"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_build_query</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">params</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#BaseModel._build_query">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Builds a query string.
-
-Args:
-  params: dict, the query parameters
-
-Returns:
-  The query parameters properly encoded into an HTTP URI query string.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="response"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">response</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">resp</span>,
-        <span class="sig-arg">content</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#BaseModel.response">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Convert the response wire format into a Python object.
-
-Args:
-  resp: httplib2.Response, the HTTP response headers and status
-  content: string, the body of the HTTP response
-
-Returns:
-  The body de-serialized as a Python object.
-
-Raises:
-  apiclient.errors.HttpError if a non 2xx response is received.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="apiclient.model.Model-class.html#response">Model.response</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="serialize"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">serialize</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">body_value</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#BaseModel.serialize">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Perform the actual Python object serialization.
-
-Args:
-  body_value: object, the request body as a Python object.
-
-Returns:
-  string, the body in serialized form.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="deserialize"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">deserialize</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">content</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#BaseModel.deserialize">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Perform the actual deserialization from response string to Python
-object.
-
-Args:
-  content: string, the body of the HTTP response
-
-Returns:
-  The body de-serialized as a Python object.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.model.JsonModel-class.html b/docs/epy/apiclient.model.JsonModel-class.html
deleted file mode 100644
index a23a5c3..0000000
--- a/docs/epy/apiclient.model.JsonModel-class.html
+++ /dev/null
@@ -1,448 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.model.JsonModel</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.model-module.html">Module&nbsp;model</a> ::
-        Class&nbsp;JsonModel
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.model.JsonModel-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class JsonModel</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.model-pysrc.html#JsonModel">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_34" name="uml_class_diagram_for_apiclien_34">
-<area shape="rect" id="node82" href="apiclient.model.JsonModel-class.html#accept" title="apiclient.model.JsonModel.accept" alt="" coords="104,191,312,209"/>
-<area shape="rect" id="node82" href="apiclient.model.JsonModel-class.html#content_type" title="apiclient.model.JsonModel.content_type" alt="" coords="104,209,312,228"/>
-<area shape="rect" id="node82" href="apiclient.model.JsonModel-class.html#alt_param" title="apiclient.model.JsonModel.alt_param" alt="" coords="104,228,312,247"/>
-<area shape="rect" id="node82" href="apiclient.model.JsonModel-class.html#__init__" title="Construct a JsonModel." alt="" coords="104,249,312,268"/>
-<area shape="rect" id="node82" href="apiclient.model.JsonModel-class.html#serialize" title="Perform the actual Python object serialization." alt="" coords="104,268,312,287"/>
-<area shape="rect" id="node82" href="apiclient.model.JsonModel-class.html#deserialize" title="Perform the actual deserialization from response string to Python object." alt="" coords="104,287,312,305"/>
-<area shape="rect" id="node82" href="apiclient.model.JsonModel-class.html#no_content_response" title="apiclient.model.JsonModel.no_content_response" alt="" coords="104,305,312,324"/>
-<area shape="rect" id="node1" href="apiclient.model.JsonModel-class.html" title="Model class for JSON." alt="" coords="92,166,324,330"/>
-<area shape="rect" id="node83" href="apiclient.model.BaseModel-class.html#request" title="Updates outgoing requests with a serialized body." alt="" coords="17,103,397,121"/>
-<area shape="rect" id="node83" href="apiclient.model.BaseModel-class.html#response" title="Convert the response wire format into a Python object." alt="" coords="17,121,397,140"/>
-<area shape="rect" id="node2" href="apiclient.model.BaseModel-class.html" title="Base model class." alt="" coords="5,70,408,146"/>
-<area shape="rect" id="node3" href="apiclient.model.Model-class.html" title="Model base class." alt="" coords="177,6,239,50"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_34.gif" alt='' usemap="#uml_class_diagram_for_apiclien_34" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Model class for JSON.
-
-Serializes and de-serializes between JSON and the Python
-object representation of HTTP request and response bodies.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.JsonModel-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">data_wrapper</span>=<span class="summary-sig-default">False</span>)</span><br />
-      Construct a JsonModel.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#JsonModel.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.JsonModel-class.html#serialize" class="summary-sig-name">serialize</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">body_value</span>)</span><br />
-      Perform the actual Python object serialization.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#JsonModel.serialize">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.JsonModel-class.html#deserialize" class="summary-sig-name">deserialize</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">content</span>)</span><br />
-      Perform the actual deserialization from response string to Python
-object.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#JsonModel.deserialize">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.JsonModel-class.html#no_content_response" class="summary-sig-name">no_content_response</a>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#JsonModel.no_content_response">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.model.BaseModel-class.html">BaseModel</a></code></b>:
-      <code><a href="apiclient.model.BaseModel-class.html#request">request</a></code>,
-      <code><a href="apiclient.model.BaseModel-class.html#response">response</a></code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.model.BaseModel-class.html">BaseModel</a></code></b> (private):
-      <code><a href="apiclient.model.BaseModel-class.html#_build_query" onclick="show_private();">_build_query</a></code>,
-      <code><a href="apiclient.model.BaseModel-class.html#_log_request" onclick="show_private();">_log_request</a></code>,
-      <code><a href="apiclient.model.BaseModel-class.html#_log_response" onclick="show_private();">_log_response</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="accept"></a><span class="summary-name">accept</span> = <code title="'application/json'">'application/json'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="content_type"></a><span class="summary-name">content_type</span> = <code title="'application/json'">'application/json'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="alt_param"></a><span class="summary-name">alt_param</span> = <code title="'json'">'json'</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">data_wrapper</span>=<span class="sig-default">False</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#JsonModel.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Construct a JsonModel.
-
-Args:
-  data_wrapper: boolean, wrap requests and responses in a data wrapper
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="serialize"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">serialize</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">body_value</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#JsonModel.serialize">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Perform the actual Python object serialization.
-
-Args:
-  body_value: object, the request body as a Python object.
-
-Returns:
-  string, the body in serialized form.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="apiclient.model.BaseModel-class.html#serialize">BaseModel.serialize</a>
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="deserialize"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">deserialize</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">content</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#JsonModel.deserialize">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Perform the actual deserialization from response string to Python
-object.
-
-Args:
-  content: string, the body of the HTTP response
-
-Returns:
-  The body de-serialized as a Python object.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="apiclient.model.BaseModel-class.html#deserialize">BaseModel.deserialize</a>
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="no_content_response"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">no_content_response</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#JsonModel.no_content_response">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@property</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        <a href="apiclient.model.BaseModel-class.html#no_content_response">no_content_response</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.model.MediaModel-class.html b/docs/epy/apiclient.model.MediaModel-class.html
deleted file mode 100644
index 06cfdde..0000000
--- a/docs/epy/apiclient.model.MediaModel-class.html
+++ /dev/null
@@ -1,355 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.model.MediaModel</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.model-module.html">Module&nbsp;model</a> ::
-        Class&nbsp;MediaModel
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.model.MediaModel-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class MediaModel</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.model-pysrc.html#MediaModel">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_35" name="uml_class_diagram_for_apiclien_35">
-<area shape="rect" id="node85" href="apiclient.model.MediaModel-class.html#accept" title="apiclient.model.MediaModel.accept" alt="" coords="128,287,288,305"/>
-<area shape="rect" id="node85" href="apiclient.model.MediaModel-class.html#content_type" title="apiclient.model.MediaModel.content_type" alt="" coords="128,305,288,324"/>
-<area shape="rect" id="node85" href="apiclient.model.MediaModel-class.html#alt_param" title="apiclient.model.MediaModel.alt_param" alt="" coords="128,324,288,343"/>
-<area shape="rect" id="node85" href="apiclient.model.MediaModel-class.html#deserialize" title="Perform the actual deserialization from response string to Python object." alt="" coords="128,345,288,364"/>
-<area shape="rect" id="node85" href="apiclient.model.MediaModel-class.html#no_content_response" title="apiclient.model.MediaModel.no_content_response" alt="" coords="128,364,288,383"/>
-<area shape="rect" id="node1" href="apiclient.model.MediaModel-class.html" title="Model class for requests that return Media." alt="" coords="116,262,300,389"/>
-<area shape="rect" id="node86" href="apiclient.model.JsonModel-class.html#__init__" title="Construct a JsonModel." alt="" coords="104,199,312,217"/>
-<area shape="rect" id="node86" href="apiclient.model.JsonModel-class.html#serialize" title="Perform the actual Python object serialization." alt="" coords="104,217,312,236"/>
-<area shape="rect" id="node2" href="apiclient.model.JsonModel-class.html" title="Model class for JSON." alt="" coords="92,166,324,242"/>
-<area shape="rect" id="node87" href="apiclient.model.BaseModel-class.html#request" title="Updates outgoing requests with a serialized body." alt="" coords="17,103,397,121"/>
-<area shape="rect" id="node87" href="apiclient.model.BaseModel-class.html#response" title="Convert the response wire format into a Python object." alt="" coords="17,121,397,140"/>
-<area shape="rect" id="node3" href="apiclient.model.BaseModel-class.html" title="Base model class." alt="" coords="5,70,408,146"/>
-<area shape="rect" id="node4" href="apiclient.model.Model-class.html" title="Model base class." alt="" coords="177,6,239,50"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_35.gif" alt='' usemap="#uml_class_diagram_for_apiclien_35" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Model class for requests that return Media.
-
-Serializes and de-serializes between JSON and the Python
-object representation of HTTP request, and returns the raw bytes
-of the response body.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.MediaModel-class.html#deserialize" class="summary-sig-name">deserialize</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">content</span>)</span><br />
-      Perform the actual deserialization from response string to Python
-object.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#MediaModel.deserialize">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.MediaModel-class.html#no_content_response" class="summary-sig-name">no_content_response</a>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#MediaModel.no_content_response">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.model.JsonModel-class.html">JsonModel</a></code></b>:
-      <code><a href="apiclient.model.JsonModel-class.html#__init__">__init__</a></code>,
-      <code><a href="apiclient.model.JsonModel-class.html#serialize">serialize</a></code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.model.BaseModel-class.html">BaseModel</a></code></b>:
-      <code><a href="apiclient.model.BaseModel-class.html#request">request</a></code>,
-      <code><a href="apiclient.model.BaseModel-class.html#response">response</a></code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.model.BaseModel-class.html">BaseModel</a></code></b> (private):
-      <code><a href="apiclient.model.BaseModel-class.html#_build_query" onclick="show_private();">_build_query</a></code>,
-      <code><a href="apiclient.model.BaseModel-class.html#_log_request" onclick="show_private();">_log_request</a></code>,
-      <code><a href="apiclient.model.BaseModel-class.html#_log_response" onclick="show_private();">_log_response</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="accept"></a><span class="summary-name">accept</span> = <code title="'*/*'">'*/*'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="content_type"></a><span class="summary-name">content_type</span> = <code title="'application/json'">'application/json'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="alt_param"></a><span class="summary-name">alt_param</span> = <code title="'media'">'media'</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="deserialize"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">deserialize</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">content</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#MediaModel.deserialize">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Perform the actual deserialization from response string to Python
-object.
-
-Args:
-  content: string, the body of the HTTP response
-
-Returns:
-  The body de-serialized as a Python object.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="apiclient.model.BaseModel-class.html#deserialize">BaseModel.deserialize</a>
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="no_content_response"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">no_content_response</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#MediaModel.no_content_response">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@property</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        <a href="apiclient.model.BaseModel-class.html#no_content_response">no_content_response</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.model.Model-class.html b/docs/epy/apiclient.model.Model-class.html
deleted file mode 100644
index 4513b73..0000000
--- a/docs/epy/apiclient.model.Model-class.html
+++ /dev/null
@@ -1,313 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.model.Model</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.model-module.html">Module&nbsp;model</a> ::
-        Class&nbsp;Model
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.model.Model-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Model</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.model-pysrc.html#Model">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_36" name="uml_class_diagram_for_apiclien_36">
-<area shape="rect" id="node89" href="apiclient.model.Model-class.html#request" title="Updates outgoing requests with a serialized body." alt="" coords="17,39,397,57"/>
-<area shape="rect" id="node89" href="apiclient.model.Model-class.html#response" title="Convert the response wire format into a Python object." alt="" coords="17,57,397,76"/>
-<area shape="rect" id="node1" href="apiclient.model.Model-class.html" title="Model base class." alt="" coords="5,6,408,82"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_36.gif" alt='' usemap="#uml_class_diagram_for_apiclien_36" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Model base class.
-
-All Model classes should implement this interface.
-The Model serializes and de-serializes between a wire
-format such as JSON and a Python object representation.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.Model-class.html#request" class="summary-sig-name">request</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">headers</span>,
-        <span class="summary-sig-arg">path_params</span>,
-        <span class="summary-sig-arg">query_params</span>,
-        <span class="summary-sig-arg">body_value</span>)</span><br />
-      Updates outgoing requests with a serialized body.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#Model.request">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.Model-class.html#response" class="summary-sig-name">response</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">resp</span>,
-        <span class="summary-sig-arg">content</span>)</span><br />
-      Convert the response wire format into a Python object.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#Model.response">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__init__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="request"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">request</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">headers</span>,
-        <span class="sig-arg">path_params</span>,
-        <span class="sig-arg">query_params</span>,
-        <span class="sig-arg">body_value</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#Model.request">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Updates outgoing requests with a serialized body.
-
-Args:
-  headers: dict, request headers
-  path_params: dict, parameters that appear in the request path
-  query_params: dict, parameters that appear in the query
-  body_value: object, the request body as a Python object, which must be
-              serializable.
-Returns:
-  A tuple of (headers, path_params, query, body)
-
-  headers: dict, request headers
-  path_params: dict, parameters that appear in the request path
-  query: string, query part of the request URI
-  body: string, the body serialized in the desired wire format.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="response"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">response</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">resp</span>,
-        <span class="sig-arg">content</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#Model.response">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Convert the response wire format into a Python object.
-
-Args:
-  resp: httplib2.Response, the HTTP response headers and status
-  content: string, the body of the HTTP response
-
-Returns:
-  The body de-serialized as a Python object.
-
-Raises:
-  apiclient.errors.HttpError if a non 2xx response is received.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.model.ProtocolBufferModel-class.html b/docs/epy/apiclient.model.ProtocolBufferModel-class.html
deleted file mode 100644
index 0d46877..0000000
--- a/docs/epy/apiclient.model.ProtocolBufferModel-class.html
+++ /dev/null
@@ -1,452 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.model.ProtocolBufferModel</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.model-module.html">Module&nbsp;model</a> ::
-        Class&nbsp;ProtocolBufferModel
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.model.ProtocolBufferModel-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class ProtocolBufferModel</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.model-pysrc.html#ProtocolBufferModel">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_37" name="uml_class_diagram_for_apiclien_37">
-<area shape="rect" id="node90" href="apiclient.model.ProtocolBufferModel-class.html#accept" title="apiclient.model.ProtocolBufferModel.accept" alt="" coords="120,191,296,209"/>
-<area shape="rect" id="node90" href="apiclient.model.ProtocolBufferModel-class.html#content_type" title="apiclient.model.ProtocolBufferModel.content_type" alt="" coords="120,209,296,228"/>
-<area shape="rect" id="node90" href="apiclient.model.ProtocolBufferModel-class.html#alt_param" title="apiclient.model.ProtocolBufferModel.alt_param" alt="" coords="120,228,296,247"/>
-<area shape="rect" id="node90" href="apiclient.model.ProtocolBufferModel-class.html#__init__" title="Constructs a ProtocolBufferModel." alt="" coords="120,249,296,268"/>
-<area shape="rect" id="node90" href="apiclient.model.ProtocolBufferModel-class.html#serialize" title="Perform the actual Python object serialization." alt="" coords="120,268,296,287"/>
-<area shape="rect" id="node90" href="apiclient.model.ProtocolBufferModel-class.html#deserialize" title="Perform the actual deserialization from response string to Python object." alt="" coords="120,287,296,305"/>
-<area shape="rect" id="node90" href="apiclient.model.ProtocolBufferModel-class.html#no_content_response" title="apiclient.model.ProtocolBufferModel.no_content_response" alt="" coords="120,305,296,324"/>
-<area shape="rect" id="node1" href="apiclient.model.ProtocolBufferModel-class.html" title="Model class for protocol buffers." alt="" coords="108,166,308,330"/>
-<area shape="rect" id="node91" href="apiclient.model.BaseModel-class.html#request" title="Updates outgoing requests with a serialized body." alt="" coords="17,103,397,121"/>
-<area shape="rect" id="node91" href="apiclient.model.BaseModel-class.html#response" title="Convert the response wire format into a Python object." alt="" coords="17,121,397,140"/>
-<area shape="rect" id="node2" href="apiclient.model.BaseModel-class.html" title="Base model class." alt="" coords="5,70,408,146"/>
-<area shape="rect" id="node3" href="apiclient.model.Model-class.html" title="Model base class." alt="" coords="177,6,239,50"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_37.gif" alt='' usemap="#uml_class_diagram_for_apiclien_37" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Model class for protocol buffers.
-
-Serializes and de-serializes the binary protocol buffer sent in the HTTP
-request and response bodies.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.ProtocolBufferModel-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">protocol_buffer</span>)</span><br />
-      Constructs a ProtocolBufferModel.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#ProtocolBufferModel.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.ProtocolBufferModel-class.html#serialize" class="summary-sig-name">serialize</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">body_value</span>)</span><br />
-      Perform the actual Python object serialization.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#ProtocolBufferModel.serialize">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.ProtocolBufferModel-class.html#deserialize" class="summary-sig-name">deserialize</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">content</span>)</span><br />
-      Perform the actual deserialization from response string to Python
-object.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#ProtocolBufferModel.deserialize">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.ProtocolBufferModel-class.html#no_content_response" class="summary-sig-name">no_content_response</a>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#ProtocolBufferModel.no_content_response">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.model.BaseModel-class.html">BaseModel</a></code></b>:
-      <code><a href="apiclient.model.BaseModel-class.html#request">request</a></code>,
-      <code><a href="apiclient.model.BaseModel-class.html#response">response</a></code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.model.BaseModel-class.html">BaseModel</a></code></b> (private):
-      <code><a href="apiclient.model.BaseModel-class.html#_build_query" onclick="show_private();">_build_query</a></code>,
-      <code><a href="apiclient.model.BaseModel-class.html#_log_request" onclick="show_private();">_log_request</a></code>,
-      <code><a href="apiclient.model.BaseModel-class.html#_log_response" onclick="show_private();">_log_response</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="accept"></a><span class="summary-name">accept</span> = <code title="'application/x-protobuf'">'application/x-protobuf'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="content_type"></a><span class="summary-name">content_type</span> = <code title="'application/x-protobuf'">'application/x-protobuf'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="alt_param"></a><span class="summary-name">alt_param</span> = <code title="'proto'">'proto'</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">protocol_buffer</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#ProtocolBufferModel.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructs a ProtocolBufferModel.
-
-The serialzed protocol buffer returned in an HTTP response will be
-de-serialized using the given protocol buffer class.
-
-Args:
-  protocol_buffer: The protocol buffer class used to de-serialize a
-  response from the API.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="serialize"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">serialize</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">body_value</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#ProtocolBufferModel.serialize">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Perform the actual Python object serialization.
-
-Args:
-  body_value: object, the request body as a Python object.
-
-Returns:
-  string, the body in serialized form.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="apiclient.model.BaseModel-class.html#serialize">BaseModel.serialize</a>
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="deserialize"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">deserialize</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">content</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#ProtocolBufferModel.deserialize">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Perform the actual deserialization from response string to Python
-object.
-
-Args:
-  content: string, the body of the HTTP response
-
-Returns:
-  The body de-serialized as a Python object.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="apiclient.model.BaseModel-class.html#deserialize">BaseModel.deserialize</a>
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="no_content_response"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">no_content_response</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#ProtocolBufferModel.no_content_response">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@property</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        <a href="apiclient.model.BaseModel-class.html#no_content_response">no_content_response</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.model.RawModel-class.html b/docs/epy/apiclient.model.RawModel-class.html
deleted file mode 100644
index ea4207a..0000000
--- a/docs/epy/apiclient.model.RawModel-class.html
+++ /dev/null
@@ -1,355 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.model.RawModel</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.model-module.html">Module&nbsp;model</a> ::
-        Class&nbsp;RawModel
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.model.RawModel-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class RawModel</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.model-pysrc.html#RawModel">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_38" name="uml_class_diagram_for_apiclien_38">
-<area shape="rect" id="node93" href="apiclient.model.RawModel-class.html#accept" title="apiclient.model.RawModel.accept" alt="" coords="128,287,288,305"/>
-<area shape="rect" id="node93" href="apiclient.model.RawModel-class.html#content_type" title="apiclient.model.RawModel.content_type" alt="" coords="128,305,288,324"/>
-<area shape="rect" id="node93" href="apiclient.model.RawModel-class.html#alt_param" title="apiclient.model.RawModel.alt_param" alt="" coords="128,324,288,343"/>
-<area shape="rect" id="node93" href="apiclient.model.RawModel-class.html#deserialize" title="Perform the actual deserialization from response string to Python object." alt="" coords="128,345,288,364"/>
-<area shape="rect" id="node93" href="apiclient.model.RawModel-class.html#no_content_response" title="apiclient.model.RawModel.no_content_response" alt="" coords="128,364,288,383"/>
-<area shape="rect" id="node1" href="apiclient.model.RawModel-class.html" title="Model class for requests that don&#39;t return JSON." alt="" coords="116,262,300,389"/>
-<area shape="rect" id="node94" href="apiclient.model.JsonModel-class.html#__init__" title="Construct a JsonModel." alt="" coords="104,199,312,217"/>
-<area shape="rect" id="node94" href="apiclient.model.JsonModel-class.html#serialize" title="Perform the actual Python object serialization." alt="" coords="104,217,312,236"/>
-<area shape="rect" id="node2" href="apiclient.model.JsonModel-class.html" title="Model class for JSON." alt="" coords="92,166,324,242"/>
-<area shape="rect" id="node95" href="apiclient.model.BaseModel-class.html#request" title="Updates outgoing requests with a serialized body." alt="" coords="17,103,397,121"/>
-<area shape="rect" id="node95" href="apiclient.model.BaseModel-class.html#response" title="Convert the response wire format into a Python object." alt="" coords="17,121,397,140"/>
-<area shape="rect" id="node3" href="apiclient.model.BaseModel-class.html" title="Base model class." alt="" coords="5,70,408,146"/>
-<area shape="rect" id="node4" href="apiclient.model.Model-class.html" title="Model base class." alt="" coords="177,6,239,50"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_38.gif" alt='' usemap="#uml_class_diagram_for_apiclien_38" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Model class for requests that don't return JSON.
-
-Serializes and de-serializes between JSON and the Python
-object representation of HTTP request, and returns the raw bytes
-of the response body.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.RawModel-class.html#deserialize" class="summary-sig-name">deserialize</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">content</span>)</span><br />
-      Perform the actual deserialization from response string to Python
-object.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#RawModel.deserialize">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.model.RawModel-class.html#no_content_response" class="summary-sig-name">no_content_response</a>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.model-pysrc.html#RawModel.no_content_response">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.model.JsonModel-class.html">JsonModel</a></code></b>:
-      <code><a href="apiclient.model.JsonModel-class.html#__init__">__init__</a></code>,
-      <code><a href="apiclient.model.JsonModel-class.html#serialize">serialize</a></code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.model.BaseModel-class.html">BaseModel</a></code></b>:
-      <code><a href="apiclient.model.BaseModel-class.html#request">request</a></code>,
-      <code><a href="apiclient.model.BaseModel-class.html#response">response</a></code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.model.BaseModel-class.html">BaseModel</a></code></b> (private):
-      <code><a href="apiclient.model.BaseModel-class.html#_build_query" onclick="show_private();">_build_query</a></code>,
-      <code><a href="apiclient.model.BaseModel-class.html#_log_request" onclick="show_private();">_log_request</a></code>,
-      <code><a href="apiclient.model.BaseModel-class.html#_log_response" onclick="show_private();">_log_response</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="accept"></a><span class="summary-name">accept</span> = <code title="'*/*'">'*/*'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="content_type"></a><span class="summary-name">content_type</span> = <code title="'application/json'">'application/json'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="alt_param"></a><span class="summary-name">alt_param</span> = <code title="None">None</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="deserialize"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">deserialize</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">content</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#RawModel.deserialize">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Perform the actual deserialization from response string to Python
-object.
-
-Args:
-  content: string, the body of the HTTP response
-
-Returns:
-  The body de-serialized as a Python object.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="apiclient.model.BaseModel-class.html#deserialize">BaseModel.deserialize</a>
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="no_content_response"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">no_content_response</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.model-pysrc.html#RawModel.no_content_response">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@property</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        <a href="apiclient.model.BaseModel-class.html#no_content_response">no_content_response</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.push-module.html b/docs/epy/apiclient.push-module.html
deleted file mode 100644
index ed010fa..0000000
--- a/docs/epy/apiclient.push-module.html
+++ /dev/null
@@ -1,313 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.push</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Module&nbsp;push
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.push-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module push</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.push-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-Push notifications support.
-
-This code is based on experimental APIs and is subject to change.
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        afshar@google.com (Ali Afshar)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.push.InvalidSubscriptionRequestError-class.html" class="summary-name">InvalidSubscriptionRequestError</a><br />
-      The request cannot be subscribed.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.push.Channel-class.html" class="summary-name">Channel</a><br />
-      Base class for channel types.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.push.WebhookChannel-class.html" class="summary-name">WebhookChannel</a><br />
-      Channel for registering web hook notifications.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.push.Headers-class.html" class="summary-name">Headers</a><br />
-      Headers for managing subscriptions.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.push.Subscription-class.html" class="summary-name">Subscription</a><br />
-      Information about a subscription.
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push-module.html#new_token" class="summary-sig-name">new_token</a>()</span><br />
-      Gets a random token for use as a client_token in push notifications.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#new_token">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="SUBSCRIBE"></a><span class="summary-name">SUBSCRIBE</span> = <code title="'X-GOOG-SUBSCRIBE'">'X-GOOG-SUBSCRIBE'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="SUBSCRIPTION_ID"></a><span class="summary-name">SUBSCRIPTION_ID</span> = <code title="'X-GOOG-SUBSCRIPTION-ID'">'X-GOOG-SUBSCRIPTION-ID'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="TOPIC_ID"></a><span class="summary-name">TOPIC_ID</span> = <code title="'X-GOOG-TOPIC-ID'">'X-GOOG-TOPIC-ID'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="TOPIC_URI"></a><span class="summary-name">TOPIC_URI</span> = <code title="'X-GOOG-TOPIC-URI'">'X-GOOG-TOPIC-URI'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="CLIENT_TOKEN"></a><span class="summary-name">CLIENT_TOKEN</span> = <code title="'X-GOOG-CLIENT-TOKEN'">'X-GOOG-CLIENT-TOKEN'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="EVENT_TYPE"></a><span class="summary-name">EVENT_TYPE</span> = <code title="'X-GOOG-EVENT-TYPE'">'X-GOOG-EVENT-TYPE'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="UNSUBSCRIBE"></a><span class="summary-name">UNSUBSCRIBE</span> = <code title="'X-GOOG-UNSUBSCRIBE'">'X-GOOG-UNSUBSCRIBE'</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="new_token"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">new_token</span>()</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#new_token">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Gets a random token for use as a client_token in push notifications.
-
-Returns:
-  str, a new random token.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu Mar  7 10:31:23 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.push-pysrc.html b/docs/epy/apiclient.push-pysrc.html
deleted file mode 100644
index 690d6ba..0000000
--- a/docs/epy/apiclient.push-pysrc.html
+++ /dev/null
@@ -1,486 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.push</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Module&nbsp;push
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.push-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="apiclient.push-module.html">Module apiclient.push</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">"""Push notifications support.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">This code is based on experimental APIs and is subject to change.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'afshar@google.com (Ali Afshar)'</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">binascii</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">collections</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable apiclient.push.SUBSCRIBE=apiclient.push-module.html#SUBSCRIBE"><a title="apiclient.push.SUBSCRIBE" class="py-name" href="#" onclick="return doclink('link-0', 'SUBSCRIBE', 'link-0');">SUBSCRIBE</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'X-GOOG-SUBSCRIBE'</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable apiclient.push.SUBSCRIPTION_ID=apiclient.push-module.html#SUBSCRIPTION_ID"><a title="apiclient.push.SUBSCRIPTION_ID" class="py-name" href="#" onclick="return doclink('link-1', 'SUBSCRIPTION_ID', 'link-1');">SUBSCRIPTION_ID</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'X-GOOG-SUBSCRIPTION-ID'</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable apiclient.push.TOPIC_ID=apiclient.push-module.html#TOPIC_ID"><a title="apiclient.push.TOPIC_ID" class="py-name" href="#" onclick="return doclink('link-2', 'TOPIC_ID', 'link-2');">TOPIC_ID</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'X-GOOG-TOPIC-ID'</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable apiclient.push.TOPIC_URI=apiclient.push-module.html#TOPIC_URI"><a title="apiclient.push.TOPIC_URI" class="py-name" href="#" onclick="return doclink('link-3', 'TOPIC_URI', 'link-3');">TOPIC_URI</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'X-GOOG-TOPIC-URI'</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable apiclient.push.CLIENT_TOKEN=apiclient.push-module.html#CLIENT_TOKEN"><a title="apiclient.push.CLIENT_TOKEN" class="py-name" href="#" onclick="return doclink('link-4', 'CLIENT_TOKEN', 'link-4');">CLIENT_TOKEN</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'X-GOOG-CLIENT-TOKEN'</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt id="link-5" class="py-name" targets="Variable apiclient.push.EVENT_TYPE=apiclient.push-module.html#EVENT_TYPE"><a title="apiclient.push.EVENT_TYPE" class="py-name" href="#" onclick="return doclink('link-5', 'EVENT_TYPE', 'link-5');">EVENT_TYPE</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'X-GOOG-EVENT-TYPE'</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt id="link-6" class="py-name" targets="Variable apiclient.push.UNSUBSCRIBE=apiclient.push-module.html#UNSUBSCRIBE"><a title="apiclient.push.UNSUBSCRIBE" class="py-name" href="#" onclick="return doclink('link-6', 'UNSUBSCRIBE', 'link-6');">UNSUBSCRIBE</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'X-GOOG-UNSUBSCRIBE'</tt> </tt>
-<a name="InvalidSubscriptionRequestError"></a><div id="InvalidSubscriptionRequestError-def"><a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <a class="py-toggle" href="#" id="InvalidSubscriptionRequestError-toggle" onclick="return toggle('InvalidSubscriptionRequestError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.push.InvalidSubscriptionRequestError-class.html">InvalidSubscriptionRequestError</a><tt class="py-op">(</tt><tt class="py-base-class">ValueError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="InvalidSubscriptionRequestError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="InvalidSubscriptionRequestError-expanded"><a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">  <tt class="py-docstring">"""The request cannot be subscribed."""</tt> </tt>
-</div><a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"> </tt>
-<a name="new_token"></a><div id="new_token-def"><a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <a class="py-toggle" href="#" id="new_token-toggle" onclick="return toggle('new_token');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push-module.html#new_token">new_token</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="new_token-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="new_token-expanded"><a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">  <tt class="py-docstring">"""Gets a random token for use as a client_token in push notifications.</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-docstring">    str, a new random token.</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">binascii</tt><tt class="py-op">.</tt><tt class="py-name">hexlify</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">urandom</tt><tt class="py-op">(</tt><tt class="py-number">32</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
-<a name="Channel"></a><div id="Channel-def"><a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <a class="py-toggle" href="#" id="Channel-toggle" onclick="return toggle('Channel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.push.Channel-class.html">Channel</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Channel-expanded"><a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">  <tt class="py-docstring">"""Base class for channel types."""</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"> </tt>
-<a name="Channel.__init__"></a><div id="Channel.__init__-def"><a name="L50"></a><tt class="py-lineno"> 50</tt> <a class="py-toggle" href="#" id="Channel.__init__-toggle" onclick="return toggle('Channel.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Channel-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channel_type</tt><tt class="py-op">,</tt> <tt class="py-param">channel_args</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Channel.__init__-expanded"><a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create a new Channel.</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">    You probably won't need to create this channel manually, since there are</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">    subclassed Channel for each specific type with a more customized set of</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">    arguments to pass. However, you may wish to just create it manually here.</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring">      channel_type: str, the type of channel.</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-docstring">      channel_args: dict, arguments to pass to the channel.</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channel_type</tt> <tt class="py-op">=</tt> <tt class="py-name">channel_type</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channel_args</tt> <tt class="py-op">=</tt> <tt class="py-name">channel_args</tt> </tt>
-</div><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"> </tt>
-<a name="Channel.as_header_value"></a><div id="Channel.as_header_value-def"><a name="L64"></a><tt class="py-lineno"> 64</tt> <a class="py-toggle" href="#" id="Channel.as_header_value-toggle" onclick="return toggle('Channel.as_header_value');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Channel-class.html#as_header_value">as_header_value</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.as_header_value-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Channel.as_header_value-expanded"><a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create the appropriate header for this channel.</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-docstring">      str encoded channel description suitable for use as a header.</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">'%s?%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channel_type</tt><tt class="py-op">,</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channel_args</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"> </tt>
-<a name="Channel.write_header"></a><div id="Channel.write_header-def"><a name="L72"></a><tt class="py-lineno"> 72</tt> <a class="py-toggle" href="#" id="Channel.write_header-toggle" onclick="return toggle('Channel.write_header');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Channel-class.html#write_header">write_header</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.write_header-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Channel.write_header-expanded"><a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">    <tt class="py-docstring">"""Write the appropriate subscribe header to a headers dict.</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, headers to add subscribe header to.</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-7" class="py-name"><a title="apiclient.push.SUBSCRIBE" class="py-name" href="#" onclick="return doclink('link-7', 'SUBSCRIBE', 'link-0');">SUBSCRIBE</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method apiclient.push.Channel.as_header_value()=apiclient.push.Channel-class.html#as_header_value"><a title="apiclient.push.Channel.as_header_value" class="py-name" href="#" onclick="return doclink('link-8', 'as_header_value', 'link-8');">as_header_value</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"> </tt>
-<a name="WebhookChannel"></a><div id="WebhookChannel-def"><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <a class="py-toggle" href="#" id="WebhookChannel-toggle" onclick="return toggle('WebhookChannel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.push.WebhookChannel-class.html">WebhookChannel</a><tt class="py-op">(</tt><tt class="py-base-class">Channel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WebhookChannel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="WebhookChannel-expanded"><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">  <tt class="py-docstring">"""Channel for registering web hook notifications."""</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"> </tt>
-<a name="WebhookChannel.__init__"></a><div id="WebhookChannel.__init__-def"><a name="L84"></a><tt class="py-lineno"> 84</tt> <a class="py-toggle" href="#" id="WebhookChannel.__init__-toggle" onclick="return toggle('WebhookChannel.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.WebhookChannel-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">url</tt><tt class="py-op">,</tt> <tt class="py-param">app_engine</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WebhookChannel.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="WebhookChannel.__init__-expanded"><a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create a new WebhookChannel</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"><tt class="py-docstring">      url: str, URL to post notifications to.</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-docstring">      app_engine: bool, default=False, whether the destination for the</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring">      notifications is an App Engine application.</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-9" class="py-name" targets="Class apiclient.push.WebhookChannel=apiclient.push.WebhookChannel-class.html"><a title="apiclient.push.WebhookChannel" class="py-name" href="#" onclick="return doclink('link-9', 'WebhookChannel', 'link-9');">WebhookChannel</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method apiclient.discovery.Resource.__init__()=apiclient.discovery.Resource-class.html#__init__,Method apiclient.discovery.ResourceMethodParameters.__init__()=apiclient.discovery.ResourceMethodParameters-class.html#__init__,Method apiclient.errors.BatchError.__init__()=apiclient.errors.BatchError-class.html#__init__,Method apiclient.errors.HttpError.__init__()=apiclient.errors.HttpError-class.html#__init__,Method apiclient.errors.UnexpectedBodyError.__init__()=apiclient.errors.UnexpectedBodyError-class.html#__init__,Method apiclient.errors.UnexpectedMethodError.__init__()=apiclient.errors.UnexpectedMethodError-class.html#__init__,Method apiclient.http.BatchHttpRequest.__init__()=apiclient.http.BatchHttpRequest-class.html#__init__,Method apiclient.http.HttpMock.__init__()=apiclient.http.HttpMock-class.html#__init__,Method apiclient.http.HttpMockSequence.__init__()=apiclient.http.HttpMockSequence-class.html#__init__,Method apiclient.http.HttpRequest.__init__()=apiclient.http.HttpRequest-class.html#__init__,Method apiclient.http.HttpRequestMock.__init__()=apiclient.http.HttpRequestMock-class.html#__init__,Method apiclient.http.MediaDownloadProgress.__init__()=apiclient.http.MediaDownloadProgress-class.html#__init__,Method apiclient.http.MediaFileUpload.__init__()=apiclient.http.MediaFileUpload-class.html#__init__,Method apiclient.http.MediaInMemoryUpload.__init__()=apiclient.http.MediaInMemoryUpload-class.html#__init__,Method apiclient.http.MediaIoBaseDownload.__init__()=apiclient.http.MediaIoBaseDownload-class.html#__init__,Method apiclient.http.MediaIoBaseUpload.__init__()=apiclient.http.MediaIoBaseUpload-class.html#__init__,Method apiclient.http.MediaUploadProgress.__init__()=apiclient.http.MediaUploadProgress-class.html#__init__,Method apiclient.http.RequestMockBuilder.__init__()=apiclient.http.RequestMockBuilder-class.html#__init__,Method apiclient.http._StreamSlice.__init__()=apiclient.http._StreamSlice-class.html#__init__,Method apiclient.model.JsonModel.__init__()=apiclient.model.JsonModel-class.html#__init__,Method apiclient.model.ProtocolBufferModel.__init__()=apiclient.model.ProtocolBufferModel-class.html#__init__,Method apiclient.push.Channel.__init__()=apiclient.push.Channel-class.html#__init__,Method apiclient.push.Headers.__init__()=apiclient.push.Headers-class.html#__init__,Method apiclient.push.Subscription.__init__()=apiclient.push.Subscription-class.html#__init__,Method apiclient.push.WebhookChannel.__init__()=apiclient.push.WebhookChannel-class.html#__init__,Method apiclient.schema.Schemas.__init__()=apiclient.schema.Schemas-class.html#__init__,Method apiclient.schema._SchemaToStruct.__init__()=apiclient.schema._SchemaToStruct-class.html#__init__,Method oauth2client.appengine.AppAssertionCredentials.__init__()=oauth2client.appengine.AppAssertionCredentials-class.html#__init__,Method oauth2client.appengine.OAuth2Decorator.__init__()=oauth2client.appengine.OAuth2Decorator-class.html#__init__,Method oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__()=oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html#__init__,Method oauth2client.appengine.StorageByKeyName.__init__()=oauth2client.appengine.StorageByKeyName-class.html#__init__,Method oauth2client.client.AccessTokenCredentials.__init__()=oauth2client.client.AccessTokenCredentials-class.html#__init__,Method oauth2client.client.AssertionCredentials.__init__()=oauth2client.client.AssertionCredentials-class.html#__init__,Method oauth2client.client.MemoryCache.__init__()=oauth2client.client.MemoryCache-class.html#__init__,Method oauth2client.client.OAuth2Credentials.__init__()=oauth2client.client.OAuth2Credentials-class.html#__init__,Method oauth2client.client.OAuth2WebServerFlow.__init__()=oauth2client.client.OAuth2WebServerFlow-class.html#__init__,Method oauth2client.client.SignedJwtAssertionCredentials.__init__()=oauth2client.client.SignedJwtAssertionCredentials-class.html#__init__,Method oauth2client.django_orm.CredentialsField.__init__()=oauth2client.django_orm.CredentialsField-class.html#__init__,Method oauth2client.django_orm.FlowField.__init__()=oauth2client.django_orm.FlowField-class.html#__init__,Method oauth2client.django_orm.Storage.__init__()=oauth2client.django_orm.Storage-class.html#__init__,Method oauth2client.file.Storage.__init__()=oauth2client.file.Storage-class.html#__init__,Method oauth2client.gce.AppAssertionCredentials.__init__()=oauth2client.gce.AppAssertionCredentials-class.html#__init__,Method oauth2client.keyring_storage.Storage.__init__()=oauth2client.keyring_storage.Storage-class.html#__init__,Method oauth2client.locked_file.LockedFile.__init__()=oauth2client.locked_file.LockedFile-class.html#__init__,Method oauth2client.locked_file._Opener.__init__()=oauth2client.locked_file._Opener-class.html#__init__,Method oauth2client.multistore_file._MultiStore._Storage.__init__()=oauth2client.multistore_file._MultiStore._Storage-class.html#__init__,Method oauth2client.multistore_file._MultiStore.__init__()=oauth2client.multistore_file._MultiStore-class.html#__init__"><a title="apiclient.discovery.Resource.__init__
-apiclient.discovery.ResourceMethodParameters.__init__
-apiclient.errors.BatchError.__init__
-apiclient.errors.HttpError.__init__
-apiclient.errors.UnexpectedBodyError.__init__
-apiclient.errors.UnexpectedMethodError.__init__
-apiclient.http.BatchHttpRequest.__init__
-apiclient.http.HttpMock.__init__
-apiclient.http.HttpMockSequence.__init__
-apiclient.http.HttpRequest.__init__
-apiclient.http.HttpRequestMock.__init__
-apiclient.http.MediaDownloadProgress.__init__
-apiclient.http.MediaFileUpload.__init__
-apiclient.http.MediaInMemoryUpload.__init__
-apiclient.http.MediaIoBaseDownload.__init__
-apiclient.http.MediaIoBaseUpload.__init__
-apiclient.http.MediaUploadProgress.__init__
-apiclient.http.RequestMockBuilder.__init__
-apiclient.http._StreamSlice.__init__
-apiclient.model.JsonModel.__init__
-apiclient.model.ProtocolBufferModel.__init__
-apiclient.push.Channel.__init__
-apiclient.push.Headers.__init__
-apiclient.push.Subscription.__init__
-apiclient.push.WebhookChannel.__init__
-apiclient.schema.Schemas.__init__
-apiclient.schema._SchemaToStruct.__init__
-oauth2client.appengine.AppAssertionCredentials.__init__
-oauth2client.appengine.OAuth2Decorator.__init__
-oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__
-oauth2client.appengine.StorageByKeyName.__init__
-oauth2client.client.AccessTokenCredentials.__init__
-oauth2client.client.AssertionCredentials.__init__
-oauth2client.client.MemoryCache.__init__
-oauth2client.client.OAuth2Credentials.__init__
-oauth2client.client.OAuth2WebServerFlow.__init__
-oauth2client.client.SignedJwtAssertionCredentials.__init__
-oauth2client.django_orm.CredentialsField.__init__
-oauth2client.django_orm.FlowField.__init__
-oauth2client.django_orm.Storage.__init__
-oauth2client.file.Storage.__init__
-oauth2client.gce.AppAssertionCredentials.__init__
-oauth2client.keyring_storage.Storage.__init__
-oauth2client.locked_file.LockedFile.__init__
-oauth2client.locked_file._Opener.__init__
-oauth2client.multistore_file._MultiStore._Storage.__init__
-oauth2client.multistore_file._MultiStore.__init__" class="py-name" href="#" onclick="return doclink('link-10', '__init__', 'link-10');">__init__</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">channel_type</tt><tt class="py-op">=</tt><tt class="py-string">'web_hook'</tt><tt class="py-op">,</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">channel_args</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">            <tt class="py-string">'url'</tt><tt class="py-op">:</tt> <tt class="py-name">url</tt><tt class="py-op">,</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt class="py-string">'app_engine'</tt><tt class="py-op">:</tt> <tt class="py-name">app_engine</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'true'</tt> <tt class="py-keyword">or</tt> <tt class="py-string">'false'</tt><tt class="py-op">,</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-op">}</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">    <tt class="py-op">)</tt> </tt>
-</div></div><a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"> </tt>
-<a name="Headers"></a><div id="Headers-def"><a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <a class="py-toggle" href="#" id="Headers-toggle" onclick="return toggle('Headers');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.push.Headers-class.html">Headers</a><tt class="py-op">(</tt><tt class="py-base-class">collections</tt><tt class="py-op">.</tt><tt class="py-base-class">defaultdict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Headers-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Headers-expanded"><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">  <tt class="py-docstring">"""Headers for managing subscriptions."""</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">  <tt id="link-11" class="py-name" targets="Variable apiclient.push.Headers.ALL_HEADERS=apiclient.push.Headers-class.html#ALL_HEADERS"><a title="apiclient.push.Headers.ALL_HEADERS" class="py-name" href="#" onclick="return doclink('link-11', 'ALL_HEADERS', 'link-11');">ALL_HEADERS</a></tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name" targets="Method oauth2client.client.MemoryCache.set()=oauth2client.client.MemoryCache-class.html#set"><a title="oauth2client.client.MemoryCache.set" class="py-name" href="#" onclick="return doclink('link-12', 'set', 'link-12');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt id="link-13" class="py-name"><a title="apiclient.push.SUBSCRIBE" class="py-name" href="#" onclick="return doclink('link-13', 'SUBSCRIBE', 'link-0');">SUBSCRIBE</a></tt><tt class="py-op">,</tt> <tt id="link-14" class="py-name"><a title="apiclient.push.SUBSCRIPTION_ID" class="py-name" href="#" onclick="return doclink('link-14', 'SUBSCRIPTION_ID', 'link-1');">SUBSCRIPTION_ID</a></tt><tt class="py-op">,</tt> <tt id="link-15" class="py-name"><a title="apiclient.push.TOPIC_ID" class="py-name" href="#" onclick="return doclink('link-15', 'TOPIC_ID', 'link-2');">TOPIC_ID</a></tt><tt class="py-op">,</tt> <tt id="link-16" class="py-name"><a title="apiclient.push.TOPIC_URI" class="py-name" href="#" onclick="return doclink('link-16', 'TOPIC_URI', 'link-3');">TOPIC_URI</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">                     <tt id="link-17" class="py-name"><a title="apiclient.push.CLIENT_TOKEN" class="py-name" href="#" onclick="return doclink('link-17', 'CLIENT_TOKEN', 'link-4');">CLIENT_TOKEN</a></tt><tt class="py-op">,</tt> <tt id="link-18" class="py-name"><a title="apiclient.push.EVENT_TYPE" class="py-name" href="#" onclick="return doclink('link-18', 'EVENT_TYPE', 'link-5');">EVENT_TYPE</a></tt><tt class="py-op">,</tt> <tt id="link-19" class="py-name"><a title="apiclient.push.UNSUBSCRIBE" class="py-name" href="#" onclick="return doclink('link-19', 'UNSUBSCRIBE', 'link-6');">UNSUBSCRIBE</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"> </tt>
-<a name="Headers.__init__"></a><div id="Headers.__init__-def"><a name="L108"></a><tt class="py-lineno">108</tt> <a class="py-toggle" href="#" id="Headers.__init__-toggle" onclick="return toggle('Headers.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Headers-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Headers.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Headers.__init__-expanded"><a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create a new subscription configuration instance."""</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">    <tt class="py-name">collections</tt><tt class="py-op">.</tt><tt class="py-name">defaultdict</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="apiclient.discovery.Resource.__init__
-apiclient.discovery.ResourceMethodParameters.__init__
-apiclient.errors.BatchError.__init__
-apiclient.errors.HttpError.__init__
-apiclient.errors.UnexpectedBodyError.__init__
-apiclient.errors.UnexpectedMethodError.__init__
-apiclient.http.BatchHttpRequest.__init__
-apiclient.http.HttpMock.__init__
-apiclient.http.HttpMockSequence.__init__
-apiclient.http.HttpRequest.__init__
-apiclient.http.HttpRequestMock.__init__
-apiclient.http.MediaDownloadProgress.__init__
-apiclient.http.MediaFileUpload.__init__
-apiclient.http.MediaInMemoryUpload.__init__
-apiclient.http.MediaIoBaseDownload.__init__
-apiclient.http.MediaIoBaseUpload.__init__
-apiclient.http.MediaUploadProgress.__init__
-apiclient.http.RequestMockBuilder.__init__
-apiclient.http._StreamSlice.__init__
-apiclient.model.JsonModel.__init__
-apiclient.model.ProtocolBufferModel.__init__
-apiclient.push.Channel.__init__
-apiclient.push.Headers.__init__
-apiclient.push.Subscription.__init__
-apiclient.push.WebhookChannel.__init__
-apiclient.schema.Schemas.__init__
-apiclient.schema._SchemaToStruct.__init__
-oauth2client.appengine.AppAssertionCredentials.__init__
-oauth2client.appengine.OAuth2Decorator.__init__
-oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__
-oauth2client.appengine.StorageByKeyName.__init__
-oauth2client.client.AccessTokenCredentials.__init__
-oauth2client.client.AssertionCredentials.__init__
-oauth2client.client.MemoryCache.__init__
-oauth2client.client.OAuth2Credentials.__init__
-oauth2client.client.OAuth2WebServerFlow.__init__
-oauth2client.client.SignedJwtAssertionCredentials.__init__
-oauth2client.django_orm.CredentialsField.__init__
-oauth2client.django_orm.FlowField.__init__
-oauth2client.django_orm.Storage.__init__
-oauth2client.file.Storage.__init__
-oauth2client.gce.AppAssertionCredentials.__init__
-oauth2client.keyring_storage.Storage.__init__
-oauth2client.locked_file.LockedFile.__init__
-oauth2client.locked_file._Opener.__init__
-oauth2client.multistore_file._MultiStore._Storage.__init__
-oauth2client.multistore_file._MultiStore.__init__" class="py-name" href="#" onclick="return doclink('link-20', '__init__', 'link-10');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
-<a name="Headers.__setitem__"></a><div id="Headers.__setitem__-def"><a name="L112"></a><tt class="py-lineno">112</tt> <a class="py-toggle" href="#" id="Headers.__setitem__-toggle" onclick="return toggle('Headers.__setitem__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Headers-class.html#__setitem__">__setitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Headers.__setitem__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Headers.__setitem__-expanded"><a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">    <tt class="py-docstring">"""Set a header value, ensuring the key is an allowed value.</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">      key: str, the header key.</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">      value: str, the header value.</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-docstring">      ValueError if key is not one of the accepted headers.</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">    <tt class="py-name">normal_key</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method apiclient.push.Headers._normalize_key()=apiclient.push.Headers-class.html#_normalize_key"><a title="apiclient.push.Headers._normalize_key" class="py-name" href="#" onclick="return doclink('link-21', '_normalize_key', 'link-21');">_normalize_key</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">normal_key</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="apiclient.push.Headers.ALL_HEADERS" class="py-name" href="#" onclick="return doclink('link-22', 'ALL_HEADERS', 'link-11');">ALL_HEADERS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">'Header name must be one of %s.'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="apiclient.push.Headers.ALL_HEADERS" class="py-name" href="#" onclick="return doclink('link-23', 'ALL_HEADERS', 'link-11');">ALL_HEADERS</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">collections</tt><tt class="py-op">.</tt><tt class="py-name">defaultdict</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method apiclient.push.Headers.__setitem__()=apiclient.push.Headers-class.html#__setitem__"><a title="apiclient.push.Headers.__setitem__" class="py-name" href="#" onclick="return doclink('link-24', '__setitem__', 'link-24');">__setitem__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">normal_key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"> </tt>
-<a name="Headers.__getitem__"></a><div id="Headers.__getitem__-def"><a name="L127"></a><tt class="py-lineno">127</tt> <a class="py-toggle" href="#" id="Headers.__getitem__-toggle" onclick="return toggle('Headers.__getitem__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Headers-class.html#__getitem__">__getitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Headers.__getitem__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Headers.__getitem__-expanded"><a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get a header value, normalizing the key case.</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring">      key: str, the header key.</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-docstring">      String header value.</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring">      KeyError if the key is not one of the accepted headers.</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">    <tt class="py-name">normal_key</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="apiclient.push.Headers._normalize_key" class="py-name" href="#" onclick="return doclink('link-25', '_normalize_key', 'link-21');">_normalize_key</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">normal_key</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="apiclient.push.Headers.ALL_HEADERS" class="py-name" href="#" onclick="return doclink('link-26', 'ALL_HEADERS', 'link-11');">ALL_HEADERS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">'Header name must be one of %s.'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="apiclient.push.Headers.ALL_HEADERS" class="py-name" href="#" onclick="return doclink('link-27', 'ALL_HEADERS', 'link-11');">ALL_HEADERS</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">collections</tt><tt class="py-op">.</tt><tt class="py-name">defaultdict</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method apiclient.push.Headers.__getitem__()=apiclient.push.Headers-class.html#__getitem__"><a title="apiclient.push.Headers.__getitem__" class="py-name" href="#" onclick="return doclink('link-28', '__getitem__', 'link-28');">__getitem__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">normal_key</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"> </tt>
-<a name="Headers._normalize_key"></a><div id="Headers._normalize_key-def"><a name="L143"></a><tt class="py-lineno">143</tt> <a class="py-toggle" href="#" id="Headers._normalize_key-toggle" onclick="return toggle('Headers._normalize_key');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Headers-class.html#_normalize_key">_normalize_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Headers._normalize_key-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Headers._normalize_key-expanded"><a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">    <tt class="py-docstring">"""Normalize a header name for use as a key."""</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">key</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"> </tt>
-<a name="Headers.items"></a><div id="Headers.items-def"><a name="L147"></a><tt class="py-lineno">147</tt> <a class="py-toggle" href="#" id="Headers.items-toggle" onclick="return toggle('Headers.items');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Headers-class.html#items">items</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Headers.items-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Headers.items-expanded"><a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">    <tt class="py-docstring">"""Generator for each header."""</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">header</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="apiclient.push.Headers.ALL_HEADERS" class="py-name" href="#" onclick="return doclink('link-29', 'ALL_HEADERS', 'link-11');">ALL_HEADERS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">      <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">header</tt><tt class="py-op">]</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">value</tt><tt class="py-op">:</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-keyword">yield</tt> <tt class="py-name">header</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> </tt>
-</div><a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"> </tt>
-<a name="Headers.write"></a><div id="Headers.write-def"><a name="L154"></a><tt class="py-lineno">154</tt> <a class="py-toggle" href="#" id="Headers.write-toggle" onclick="return toggle('Headers.write');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Headers-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Headers.write-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Headers.write-expanded"><a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">    <tt class="py-docstring">"""Applies the subscription headers.</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict of headers to insert values into.</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">header</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method apiclient.push.Headers.items()=apiclient.push.Headers-class.html#items"><a title="apiclient.push.Headers.items" class="py-name" href="#" onclick="return doclink('link-30', 'items', 'link-30');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-name">header</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
-</div><a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"> </tt>
-<a name="Headers.read"></a><div id="Headers.read-def"><a name="L163"></a><tt class="py-lineno">163</tt> <a class="py-toggle" href="#" id="Headers.read-toggle" onclick="return toggle('Headers.read');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Headers-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Headers.read-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Headers.read-expanded"><a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">    <tt class="py-docstring">"""Read from headers.</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict of headers to read from.</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">header</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="apiclient.push.Headers.ALL_HEADERS" class="py-name" href="#" onclick="return doclink('link-31', 'ALL_HEADERS', 'link-11');">ALL_HEADERS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">header</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">header</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-name">header</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-</div></div><a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"> </tt>
-<a name="Subscription"></a><div id="Subscription-def"><a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <a class="py-toggle" href="#" id="Subscription-toggle" onclick="return toggle('Subscription');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.push.Subscription-class.html">Subscription</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Subscription-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Subscription-expanded"><a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">  <tt class="py-docstring">"""Information about a subscription."""</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"> </tt>
-<a name="Subscription.__init__"></a><div id="Subscription.__init__-def"><a name="L177"></a><tt class="py-lineno">177</tt> <a class="py-toggle" href="#" id="Subscription.__init__-toggle" onclick="return toggle('Subscription.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Subscription-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Subscription.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Subscription.__init__-expanded"><a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create a new Subscription."""</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt id="link-32" class="py-name" targets="Class apiclient.push.Headers=apiclient.push.Headers-class.html"><a title="apiclient.push.Headers" class="py-name" href="#" onclick="return doclink('link-32', 'Headers', 'link-32');">Headers</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">classmethod</tt> </tt>
-<a name="Subscription.for_request"></a><div id="Subscription.for_request-def"><a name="L182"></a><tt class="py-lineno">182</tt> <a class="py-toggle" href="#" id="Subscription.for_request-toggle" onclick="return toggle('Subscription.for_request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Subscription-class.html#for_request">for_request</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">request</tt><tt class="py-op">,</tt> <tt class="py-param">channel</tt><tt class="py-op">,</tt> <tt class="py-param">client_token</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Subscription.for_request-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Subscription.for_request-expanded"><a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">    <tt class="py-docstring">"""Creates a subscription and attaches it to a request.</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-docstring">      request: An http.HttpRequest to modify for making a subscription.</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-docstring">      channel: A apiclient.push.Channel describing the subscription to</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-docstring">               create.</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"><tt class="py-docstring">      client_token: (optional) client token to verify the notification.</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"><tt class="py-docstring">      New subscription object.</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">    <tt class="py-name">subscription</tt> <tt class="py-op">=</tt> <tt class="py-name">cls</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Class Method apiclient.push.Subscription.for_channel()=apiclient.push.Subscription-class.html#for_channel"><a title="apiclient.push.Subscription.for_channel" class="py-name" href="#" onclick="return doclink('link-33', 'for_channel', 'link-33');">for_channel</a></tt><tt class="py-op">(</tt><tt class="py-name">channel</tt><tt class="py-op">=</tt><tt class="py-name">channel</tt><tt class="py-op">,</tt> <tt id="link-34" class="py-name" targets="Method apiclient.push.Subscription.client_token()=apiclient.push.Subscription-class.html#client_token"><a title="apiclient.push.Subscription.client_token" class="py-name" href="#" onclick="return doclink('link-34', 'client_token', 'link-34');">client_token</a></tt><tt class="py-op">=</tt><tt id="link-35" class="py-name"><a title="apiclient.push.Subscription.client_token" class="py-name" href="#" onclick="return doclink('link-35', 'client_token', 'link-34');">client_token</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">    <tt class="py-name">subscription</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method apiclient.push.Headers.write()=apiclient.push.Headers-class.html#write"><a title="apiclient.push.Headers.write" class="py-name" href="#" onclick="return doclink('link-36', 'write', 'link-36');">write</a></tt><tt class="py-op">(</tt><tt id="link-37" class="py-name" targets="Method apiclient.http.HttpMock.request()=apiclient.http.HttpMock-class.html#request,Method apiclient.http.HttpMockSequence.request()=apiclient.http.HttpMockSequence-class.html#request,Method apiclient.model.BaseModel.request()=apiclient.model.BaseModel-class.html#request,Method apiclient.model.Model.request()=apiclient.model.Model-class.html#request"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-37', 'request', 'link-37');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-38" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-38', 'request', 'link-37');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">!=</tt> <tt class="py-string">'GET'</tt><tt class="py-op">:</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-39" class="py-name" targets="Class apiclient.push.InvalidSubscriptionRequestError=apiclient.push.InvalidSubscriptionRequestError-class.html"><a title="apiclient.push.InvalidSubscriptionRequestError" class="py-name" href="#" onclick="return doclink('link-39', 'InvalidSubscriptionRequestError', 'link-39');">InvalidSubscriptionRequestError</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">          <tt class="py-string">'Can only subscribe to requests which are GET.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">    <tt id="link-40" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-40', 'request', 'link-37');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-string">'POST'</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line"> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">    <tt class="py-keyword">def</tt> <tt class="py-def-name">_on_response</tt><tt class="py-op">(</tt><tt class="py-param">response</tt><tt class="py-op">,</tt> <tt class="py-param">subscription</tt><tt class="py-op">=</tt><tt class="py-name">subscription</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">      <tt class="py-docstring">"""Called with the response headers. Reads the subscription headers."""</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">      <tt class="py-name">subscription</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Method apiclient.http._StreamSlice.read()=apiclient.http._StreamSlice-class.html#read,Method apiclient.push.Headers.read()=apiclient.push.Headers-class.html#read"><a title="apiclient.http._StreamSlice.read
-apiclient.push.Headers.read" class="py-name" href="#" onclick="return doclink('link-41', 'read', 'link-41');">read</a></tt><tt class="py-op">(</tt><tt id="link-42" class="py-name" targets="Method apiclient.model.BaseModel.response()=apiclient.model.BaseModel-class.html#response,Method apiclient.model.Model.response()=apiclient.model.Model-class.html#response"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-42', 'response', 'link-42');">response</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line"> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">    <tt id="link-43" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-43', 'request', 'link-37');">request</a></tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Method apiclient.http.HttpRequest.add_response_callback()=apiclient.http.HttpRequest-class.html#add_response_callback"><a title="apiclient.http.HttpRequest.add_response_callback" class="py-name" href="#" onclick="return doclink('link-44', 'add_response_callback', 'link-44');">add_response_callback</a></tt><tt class="py-op">(</tt><tt class="py-name">_on_response</tt><tt class="py-op">)</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">subscription</tt> </tt>
-</div><a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">classmethod</tt> </tt>
-<a name="Subscription.for_channel"></a><div id="Subscription.for_channel-def"><a name="L209"></a><tt class="py-lineno">209</tt> <a class="py-toggle" href="#" id="Subscription.for_channel-toggle" onclick="return toggle('Subscription.for_channel');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Subscription-class.html#for_channel">for_channel</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">channel</tt><tt class="py-op">,</tt> <tt class="py-param">client_token</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Subscription.for_channel-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Subscription.for_channel-expanded"><a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">    <tt class="py-docstring">"""Alternate constructor to create a subscription from a channel.</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"><tt class="py-docstring">      channel: A apiclient.push.Channel describing the subscription to</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"><tt class="py-docstring">               create.</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"><tt class="py-docstring">      client_token: (optional) client token to verify the notification.</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"><tt class="py-docstring">      New subscription object.</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">    <tt class="py-name">subscription</tt> <tt class="py-op">=</tt> <tt class="py-name">cls</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">    <tt class="py-name">channel</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="Method apiclient.push.Channel.write_header()=apiclient.push.Channel-class.html#write_header"><a title="apiclient.push.Channel.write_header" class="py-name" href="#" onclick="return doclink('link-45', 'write_header', 'link-45');">write_header</a></tt><tt class="py-op">(</tt><tt class="py-name">subscription</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-46" class="py-name"><a title="apiclient.push.Subscription.client_token" class="py-name" href="#" onclick="return doclink('link-46', 'client_token', 'link-34');">client_token</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">      <tt id="link-47" class="py-name"><a title="apiclient.push.Subscription.client_token" class="py-name" href="#" onclick="return doclink('link-47', 'client_token', 'link-34');">client_token</a></tt> <tt class="py-op">=</tt> <tt id="link-48" class="py-name" targets="Function apiclient.push.new_token()=apiclient.push-module.html#new_token"><a title="apiclient.push.new_token" class="py-name" href="#" onclick="return doclink('link-48', 'new_token', 'link-48');">new_token</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">    <tt class="py-name">subscription</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-49" class="py-name"><a title="apiclient.push.SUBSCRIPTION_ID" class="py-name" href="#" onclick="return doclink('link-49', 'SUBSCRIPTION_ID', 'link-1');">SUBSCRIPTION_ID</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-50" class="py-name"><a title="apiclient.push.new_token" class="py-name" href="#" onclick="return doclink('link-50', 'new_token', 'link-48');">new_token</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">    <tt class="py-name">subscription</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-51" class="py-name"><a title="apiclient.push.CLIENT_TOKEN" class="py-name" href="#" onclick="return doclink('link-51', 'CLIENT_TOKEN', 'link-4');">CLIENT_TOKEN</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-52" class="py-name"><a title="apiclient.push.Subscription.client_token" class="py-name" href="#" onclick="return doclink('link-52', 'client_token', 'link-34');">client_token</a></tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">subscription</tt> </tt>
-</div><a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"> </tt>
-<a name="Subscription.verify"></a><div id="Subscription.verify-def"><a name="L228"></a><tt class="py-lineno">228</tt> <a class="py-toggle" href="#" id="Subscription.verify-toggle" onclick="return toggle('Subscription.verify');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Subscription-class.html#verify">verify</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Subscription.verify-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Subscription.verify-expanded"><a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">    <tt class="py-docstring">"""Verifies that a webhook notification has the correct client_token.</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict of request headers for a push notification.</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-docstring">      Boolean value indicating whether the notification is verified.</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">    <tt class="py-name">new_subscription</tt> <tt class="py-op">=</tt> <tt id="link-53" class="py-name" targets="Class apiclient.push.Subscription=apiclient.push.Subscription-class.html"><a title="apiclient.push.Subscription" class="py-name" href="#" onclick="return doclink('link-53', 'Subscription', 'link-53');">Subscription</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">    <tt class="py-name">new_subscription</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="apiclient.http._StreamSlice.read
-apiclient.push.Headers.read" class="py-name" href="#" onclick="return doclink('link-54', 'read', 'link-41');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">new_subscription</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="apiclient.push.Subscription.client_token" class="py-name" href="#" onclick="return doclink('link-55', 'client_token', 'link-34');">client_token</a></tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="apiclient.push.Subscription.client_token" class="py-name" href="#" onclick="return doclink('link-56', 'client_token', 'link-34');">client_token</a></tt> </tt>
-</div><a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="Subscription.subscribe"></a><div id="Subscription.subscribe-def"><a name="L242"></a><tt class="py-lineno">242</tt> <a class="py-toggle" href="#" id="Subscription.subscribe-toggle" onclick="return toggle('Subscription.subscribe');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Subscription-class.html#subscribe">subscribe</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Subscription.subscribe-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Subscription.subscribe-expanded"><a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">    <tt class="py-docstring">"""Subscribe header value."""</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-57" class="py-name"><a title="apiclient.push.SUBSCRIBE" class="py-name" href="#" onclick="return doclink('link-57', 'SUBSCRIBE', 'link-0');">SUBSCRIBE</a></tt><tt class="py-op">]</tt> </tt>
-</div><a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="Subscription.subscription_id"></a><div id="Subscription.subscription_id-def"><a name="L247"></a><tt class="py-lineno">247</tt> <a class="py-toggle" href="#" id="Subscription.subscription_id-toggle" onclick="return toggle('Subscription.subscription_id');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Subscription-class.html#subscription_id">subscription_id</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Subscription.subscription_id-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Subscription.subscription_id-expanded"><a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">    <tt class="py-docstring">"""Subscription ID header value."""</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-58" class="py-name"><a title="apiclient.push.SUBSCRIPTION_ID" class="py-name" href="#" onclick="return doclink('link-58', 'SUBSCRIPTION_ID', 'link-1');">SUBSCRIPTION_ID</a></tt><tt class="py-op">]</tt> </tt>
-</div><a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="Subscription.topic_id"></a><div id="Subscription.topic_id-def"><a name="L252"></a><tt class="py-lineno">252</tt> <a class="py-toggle" href="#" id="Subscription.topic_id-toggle" onclick="return toggle('Subscription.topic_id');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Subscription-class.html#topic_id">topic_id</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Subscription.topic_id-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Subscription.topic_id-expanded"><a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">    <tt class="py-docstring">"""Topic ID header value."""</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-59" class="py-name"><a title="apiclient.push.TOPIC_ID" class="py-name" href="#" onclick="return doclink('link-59', 'TOPIC_ID', 'link-2');">TOPIC_ID</a></tt><tt class="py-op">]</tt> </tt>
-</div><a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="Subscription.topic_uri"></a><div id="Subscription.topic_uri-def"><a name="L257"></a><tt class="py-lineno">257</tt> <a class="py-toggle" href="#" id="Subscription.topic_uri-toggle" onclick="return toggle('Subscription.topic_uri');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Subscription-class.html#topic_uri">topic_uri</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Subscription.topic_uri-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Subscription.topic_uri-expanded"><a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">    <tt class="py-docstring">"""Topic URI header value."""</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-60" class="py-name"><a title="apiclient.push.TOPIC_URI" class="py-name" href="#" onclick="return doclink('link-60', 'TOPIC_URI', 'link-3');">TOPIC_URI</a></tt><tt class="py-op">]</tt> </tt>
-</div><a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="Subscription.client_token"></a><div id="Subscription.client_token-def"><a name="L262"></a><tt class="py-lineno">262</tt> <a class="py-toggle" href="#" id="Subscription.client_token-toggle" onclick="return toggle('Subscription.client_token');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Subscription-class.html#client_token">client_token</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Subscription.client_token-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Subscription.client_token-expanded"><a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">    <tt class="py-docstring">"""Client Token header value."""</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-61" class="py-name"><a title="apiclient.push.CLIENT_TOKEN" class="py-name" href="#" onclick="return doclink('link-61', 'CLIENT_TOKEN', 'link-4');">CLIENT_TOKEN</a></tt><tt class="py-op">]</tt> </tt>
-</div><a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="Subscription.event_type"></a><div id="Subscription.event_type-def"><a name="L267"></a><tt class="py-lineno">267</tt> <a class="py-toggle" href="#" id="Subscription.event_type-toggle" onclick="return toggle('Subscription.event_type');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Subscription-class.html#event_type">event_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Subscription.event_type-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Subscription.event_type-expanded"><a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">    <tt class="py-docstring">"""Event Type header value."""</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-62" class="py-name"><a title="apiclient.push.EVENT_TYPE" class="py-name" href="#" onclick="return doclink('link-62', 'EVENT_TYPE', 'link-5');">EVENT_TYPE</a></tt><tt class="py-op">]</tt> </tt>
-</div><a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line"> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="Subscription.unsubscribe"></a><div id="Subscription.unsubscribe-def"><a name="L272"></a><tt class="py-lineno">272</tt> <a class="py-toggle" href="#" id="Subscription.unsubscribe-toggle" onclick="return toggle('Subscription.unsubscribe');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.push.Subscription-class.html#unsubscribe">unsubscribe</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Subscription.unsubscribe-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Subscription.unsubscribe-expanded"><a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">    <tt class="py-docstring">"""Unsuscribe header value."""</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-63" class="py-name"><a title="apiclient.push.UNSUBSCRIBE" class="py-name" href="#" onclick="return doclink('link-63', 'UNSUBSCRIBE', 'link-6');">UNSUBSCRIBE</a></tt><tt class="py-op">]</tt> </tt>
-</div></div><a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu Mar  7 10:31:26 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.push.Channel-class.html b/docs/epy/apiclient.push.Channel-class.html
deleted file mode 100644
index a34c36f..0000000
--- a/docs/epy/apiclient.push.Channel-class.html
+++ /dev/null
@@ -1,333 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.push.Channel</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.push-module.html">Module&nbsp;push</a> ::
-        Class&nbsp;Channel
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.push.Channel-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Channel</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.push-pysrc.html#Channel">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="class_hierarchy_for_channel" name="class_hierarchy_for_channel">
-<area shape="rect" id="node1" href="apiclient.push.Channel-class.html" title="Channel" alt="" coords="5,6,75,34"/>
-</map>
-  <img src="class_hierarchy_for_channel.gif" alt='' usemap="#class_hierarchy_for_channel" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Base class for channel types.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.Channel-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">channel_type</span>,
-        <span class="summary-sig-arg">channel_args</span>)</span><br />
-      Create a new Channel.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Channel.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.Channel-class.html#as_header_value" class="summary-sig-name">as_header_value</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Create the appropriate header for this channel.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Channel.as_header_value">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.Channel-class.html#write_header" class="summary-sig-name">write_header</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">headers</span>)</span><br />
-      Write the appropriate subscribe header to a headers dict.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Channel.write_header">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">channel_type</span>,
-        <span class="sig-arg">channel_args</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#Channel.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Create a new Channel.
-
-You probably won't need to create this channel manually, since there are
-subclassed Channel for each specific type with a more customized set of
-arguments to pass. However, you may wish to just create it manually here.
-
-Args:
-  channel_type: str, the type of channel.
-  channel_args: dict, arguments to pass to the channel.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="as_header_value"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">as_header_value</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#Channel.as_header_value">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Create the appropriate header for this channel.
-
-Returns:
-  str encoded channel description suitable for use as a header.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="write_header"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">write_header</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">headers</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#Channel.write_header">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Write the appropriate subscribe header to a headers dict.
-
-Args:
-  headers: dict, headers to add subscribe header to.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu Mar  7 10:31:24 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.push.Headers-class.html b/docs/epy/apiclient.push.Headers-class.html
deleted file mode 100644
index e4b0074..0000000
--- a/docs/epy/apiclient.push.Headers-class.html
+++ /dev/null
@@ -1,453 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.push.Headers</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.push-module.html">Module&nbsp;push</a> ::
-        Class&nbsp;Headers
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.push.Headers-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Headers</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.push-pysrc.html#Headers">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="class_hierarchy_for_headers" name="class_hierarchy_for_headers">
-<area shape="rect" id="node1" href="apiclient.push.Headers-class.html" title="Headers" alt="" coords="5,6,75,34"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="collections.defaultdict" alt="" coords="99,6,245,34"/>
-</map>
-  <img src="class_hierarchy_for_headers.gif" alt='' usemap="#class_hierarchy_for_headers" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Headers for managing subscriptions.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Create a new subscription configuration instance.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Headers.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.Headers-class.html#__setitem__" class="summary-sig-name">__setitem__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">key</span>,
-        <span class="summary-sig-arg">value</span>)</span><br />
-      Set a header value, ensuring the key is an allowed value.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Headers.__setitem__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.Headers-class.html#__getitem__" class="summary-sig-name">__getitem__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">key</span>)</span><br />
-      Get a header value, normalizing the key case.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Headers.__getitem__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_normalize_key"></a><span class="summary-sig-name">_normalize_key</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">key</span>)</span><br />
-      Normalize a header name for use as a key.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Headers._normalize_key">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="items"></a><span class="summary-sig-name">items</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Generator for each header.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Headers.items">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.Headers-class.html#write" class="summary-sig-name">write</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">headers</span>)</span><br />
-      Applies the subscription headers.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Headers.write">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.Headers-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">headers</span>)</span><br />
-      Read from headers.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Headers.read">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.push.Headers-class.html#ALL_HEADERS" class="summary-name">ALL_HEADERS</a> = <code title="set([SUBSCRIBE, SUBSCRIPTION_ID, TOPIC_ID, TOPIC_URI, CLIENT_TOKEN, EV\
-ENT_TYPE, UNSUBSCRIBE])">set([SUBSCRIBE, SUBSCRIPTION_ID, TOPIC_ID, TOPIC<code class="variable-ellipsis">...</code></code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__setitem__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__setitem__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">key</span>,
-        <span class="sig-arg">value</span>)</span>
-    <br /><em class="fname">(Index assignment operator)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#Headers.__setitem__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Set a header value, ensuring the key is an allowed value.
-
-Args:
-  key: str, the header key.
-  value: str, the header value.
-Raises:
-  ValueError if key is not one of the accepted headers.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="__getitem__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__getitem__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">key</span>)</span>
-    <br /><em class="fname">(Indexing operator)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#Headers.__getitem__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Get a header value, normalizing the key case.
-
-Args:
-  key: str, the header key.
-Returns:
-  String header value.
-Raises:
-  KeyError if the key is not one of the accepted headers.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="write"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">write</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">headers</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#Headers.write">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Applies the subscription headers.
-
-Args:
-  headers: dict of headers to insert values into.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="read"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">headers</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#Headers.read">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Read from headers.
-
-Args:
-  headers: dict of headers to read from.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== CLASS VARIABLE DETAILS ==================== -->
-<a name="section-ClassVariableDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variable Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariableDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="ALL_HEADERS"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <h3 class="epydoc">ALL_HEADERS</h3>
-  
-  <dl class="fields">
-  </dl>
-  <dl class="fields">
-    <dt>Value:</dt>
-      <dd><table><tr><td><pre class="variable">
-set([SUBSCRIBE, SUBSCRIPTION_ID, TOPIC_ID, TOPIC_URI, CLIENT_TOKEN, EV<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-ENT_TYPE, UNSUBSCRIBE])
-</pre></td></tr></table>
-</dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu Mar  7 10:31:24 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.push.InvalidSubscriptionRequestError-class.html b/docs/epy/apiclient.push.InvalidSubscriptionRequestError-class.html
deleted file mode 100644
index 913d2da..0000000
--- a/docs/epy/apiclient.push.InvalidSubscriptionRequestError-class.html
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.push.InvalidSubscriptionRequestError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.push-module.html">Module&nbsp;push</a> ::
-        Class&nbsp;InvalidSubscriptionRequestError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.push.InvalidSubscriptionRequestError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class InvalidSubscriptionRequestError</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.push-pysrc.html#InvalidSubscriptionRequestError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="class_hierarchy_for_invalidsub" name="class_hierarchy_for_invalidsub">
-<area shape="rect" id="node1" href="apiclient.push.InvalidSubscriptionRequestError-class.html" title="InvalidSubscriptionRequestError" alt="" coords="5,241,213,269"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="exceptions.BaseException" alt="" coords="21,6,197,34"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="exceptions.Exception" alt="" coords="36,65,183,93"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="exceptions.StandardError" alt="" coords="25,123,193,151"/>
-<area shape="rect" id="node5" href="javascript:void(0);" title="exceptions.ValueError" alt="" coords="35,182,184,210"/>
-</map>
-  <img src="class_hierarchy_for_invalidsub.gif" alt='' usemap="#class_hierarchy_for_invalidsub" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-The request cannot be subscribed.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.ValueError</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu Mar  7 10:31:24 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.push.Subscription-class.html b/docs/epy/apiclient.push.Subscription-class.html
deleted file mode 100644
index 6df582a..0000000
--- a/docs/epy/apiclient.push.Subscription-class.html
+++ /dev/null
@@ -1,708 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.push.Subscription</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.push-module.html">Module&nbsp;push</a> ::
-        Class&nbsp;Subscription
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.push.Subscription-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Subscription</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.push-pysrc.html#Subscription">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="class_hierarchy_for_subscripti" name="class_hierarchy_for_subscripti">
-<area shape="rect" id="node1" href="apiclient.push.Subscription-class.html" title="Subscription" alt="" coords="5,6,99,34"/>
-</map>
-  <img src="class_hierarchy_for_subscripti.gif" alt='' usemap="#class_hierarchy_for_subscripti" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Information about a subscription.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.Subscription-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Create a new Subscription.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.Subscription-class.html#verify" class="summary-sig-name">verify</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">headers</span>)</span><br />
-      Verifies that a webhook notification has the correct client_token.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.verify">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.Subscription-class.html#subscribe" class="summary-sig-name">subscribe</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Subscribe header value.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.subscribe">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.Subscription-class.html#subscription_id" class="summary-sig-name">subscription_id</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Subscription ID header value.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.subscription_id">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.Subscription-class.html#topic_id" class="summary-sig-name">topic_id</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Topic ID header value.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.topic_id">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.Subscription-class.html#topic_uri" class="summary-sig-name">topic_uri</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Topic URI header value.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.topic_uri">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.Subscription-class.html#client_token" class="summary-sig-name">client_token</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Client Token header value.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.client_token">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.Subscription-class.html#event_type" class="summary-sig-name">event_type</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Event Type header value.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.event_type">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.Subscription-class.html#unsubscribe" class="summary-sig-name">unsubscribe</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Unsuscribe header value.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.unsubscribe">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.Subscription-class.html#for_request" class="summary-sig-name">for_request</a>(<span class="summary-sig-arg">cls</span>,
-        <span class="summary-sig-arg">request</span>,
-        <span class="summary-sig-arg">channel</span>,
-        <span class="summary-sig-arg">client_token</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Creates a subscription and attaches it to a request.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.for_request">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.Subscription-class.html#for_channel" class="summary-sig-name">for_channel</a>(<span class="summary-sig-arg">cls</span>,
-        <span class="summary-sig-arg">channel</span>,
-        <span class="summary-sig-arg">client_token</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Alternate constructor to create a subscription from a channel.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.for_channel">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Create a new Subscription.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="for_request"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">for_request</span>(<span class="sig-arg">cls</span>,
-        <span class="sig-arg">request</span>,
-        <span class="sig-arg">channel</span>,
-        <span class="sig-arg">client_token</span>=<span class="sig-default">None</span>)</span>
-    <br /><em class="fname">Class Method</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.for_request">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Creates a subscription and attaches it to a request.
-
-Args:
-  request: An http.HttpRequest to modify for making a subscription.
-  channel: A apiclient.push.Channel describing the subscription to
-           create.
-  client_token: (optional) client token to verify the notification.
-
-Returns:
-  New subscription object.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="for_channel"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">for_channel</span>(<span class="sig-arg">cls</span>,
-        <span class="sig-arg">channel</span>,
-        <span class="sig-arg">client_token</span>=<span class="sig-default">None</span>)</span>
-    <br /><em class="fname">Class Method</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.for_channel">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Alternate constructor to create a subscription from a channel.
-
-Args:
-  channel: A apiclient.push.Channel describing the subscription to
-           create.
-  client_token: (optional) client token to verify the notification.
-
-Returns:
-  New subscription object.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="verify"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">verify</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">headers</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.verify">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Verifies that a webhook notification has the correct client_token.
-
-Args:
-  headers: dict of request headers for a push notification.
-
-Returns:
-  Boolean value indicating whether the notification is verified.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="subscribe"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">subscribe</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.subscribe">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Subscribe header value.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@property</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="subscription_id"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">subscription_id</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.subscription_id">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Subscription ID header value.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@property</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="topic_id"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">topic_id</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.topic_id">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Topic ID header value.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@property</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="topic_uri"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">topic_uri</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.topic_uri">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Topic URI header value.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@property</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="client_token"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">client_token</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.client_token">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Client Token header value.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@property</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="event_type"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">event_type</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.event_type">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Event Type header value.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@property</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="unsubscribe"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">unsubscribe</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#Subscription.unsubscribe">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Unsuscribe header value.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@property</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu Mar  7 10:31:24 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.push.WebhookChannel-class.html b/docs/epy/apiclient.push.WebhookChannel-class.html
deleted file mode 100644
index 207b402..0000000
--- a/docs/epy/apiclient.push.WebhookChannel-class.html
+++ /dev/null
@@ -1,249 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.push.WebhookChannel</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.push-module.html">Module&nbsp;push</a> ::
-        Class&nbsp;WebhookChannel
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.push.WebhookChannel-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class WebhookChannel</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.push-pysrc.html#WebhookChannel">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="class_hierarchy_for_webhookcha" name="class_hierarchy_for_webhookcha">
-<area shape="rect" id="node1" href="apiclient.push.Channel-class.html" title="Channel" alt="" coords="5,6,75,34"/>
-<area shape="rect" id="node2" href="apiclient.push.WebhookChannel-class.html" title="WebhookChannel" alt="" coords="99,6,224,34"/>
-</map>
-  <img src="class_hierarchy_for_webhookcha.gif" alt='' usemap="#class_hierarchy_for_webhookcha" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Channel for registering web hook notifications.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.push.WebhookChannel-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">url</span>,
-        <span class="summary-sig-arg">app_engine</span>=<span class="summary-sig-default">False</span>)</span><br />
-      Create a new WebhookChannel</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.push-pysrc.html#WebhookChannel.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="apiclient.push.Channel-class.html">Channel</a></code></b>:
-      <code><a href="apiclient.push.Channel-class.html#as_header_value">as_header_value</a></code>,
-      <code><a href="apiclient.push.Channel-class.html#write_header">write_header</a></code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">url</span>,
-        <span class="sig-arg">app_engine</span>=<span class="sig-default">False</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.push-pysrc.html#WebhookChannel.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Create a new WebhookChannel
-
-Args:
-  url: str, URL to post notifications to.
-  app_engine: bool, default=False, whether the destination for the
-  notifications is an App Engine application.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu Mar  7 10:31:24 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.sample_tools-module.html b/docs/epy/apiclient.sample_tools-module.html
deleted file mode 100644
index 3bceb58..0000000
--- a/docs/epy/apiclient.sample_tools-module.html
+++ /dev/null
@@ -1,217 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.sample_tools</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Module&nbsp;sample_tools
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.sample_tools-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module sample_tools</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.sample_tools-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-Utilities for making samples.
-
-Consolidates a lot of code commonly repeated in sample applications.
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        jcgregorio@google.com (Joe Gregorio)
-      </p>
-</div><!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.sample_tools-module.html#init" class="summary-sig-name">init</a>(<span class="summary-sig-arg">argv</span>,
-        <span class="summary-sig-arg">name</span>,
-        <span class="summary-sig-arg">version</span>,
-        <span class="summary-sig-arg">doc</span>,
-        <span class="summary-sig-arg">filename</span>,
-        <span class="summary-sig-arg">scope</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">parents</span>=<span class="summary-sig-default">[]</span>)</span><br />
-      A common initialization routine for samples.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.sample_tools-pysrc.html#init">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="init"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">init</span>(<span class="sig-arg">argv</span>,
-        <span class="sig-arg">name</span>,
-        <span class="sig-arg">version</span>,
-        <span class="sig-arg">doc</span>,
-        <span class="sig-arg">filename</span>,
-        <span class="sig-arg">scope</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">parents</span>=<span class="sig-default">[]</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.sample_tools-pysrc.html#init">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-A common initialization routine for samples.
-
-Many of the sample applications do the same initialization, which has now
-been consolidated into this function. This function uses common idioms found
-in almost all the samples, i.e. for an API with name 'apiname', the
-credentials are stored in a file named apiname.dat, and the
-client_secrets.json file is stored in the same directory as the application
-main file.
-
-Args:
-  argv: list of string, the command-line parameters of the application.
-  name: string, name of the API.
-  version: string, version of the API.
-  doc: string, description of the application. Usually set to __doc__.
-  file: string, filename of the application. Usually set to __file__.
-  parents: list of argparse.ArgumentParser, additional command-line flags.
-  scope: string, The OAuth scope used.
-
-Returns:
-  A tuple of (service, flags), where service is the service object and flags
-  is the parsed command-line flags.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.sample_tools-pysrc.html b/docs/epy/apiclient.sample_tools-pysrc.html
deleted file mode 100644
index 7edfafa..0000000
--- a/docs/epy/apiclient.sample_tools-pysrc.html
+++ /dev/null
@@ -1,219 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.sample_tools</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Module&nbsp;sample_tools
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.sample_tools-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="apiclient.sample_tools-module.html">Module apiclient.sample_tools</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2013 Google Inc.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">"""Utilities for making samples.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">Consolidates a lot of code commonly repeated in sample applications.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-name">__all__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'init'</tt><tt class="py-op">]</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">argparse</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">httplib2</tt> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package apiclient=apiclient-module.html"><a title="apiclient" class="py-name" href="#" onclick="return doclink('link-0', 'apiclient', 'link-0');">apiclient</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module apiclient.discovery=apiclient.discovery-module.html"><a title="apiclient.discovery" class="py-name" href="#" onclick="return doclink('link-1', 'discovery', 'link-1');">discovery</a></tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name" targets="Package oauth2client=oauth2client-module.html"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-2', 'oauth2client', 'link-2');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module oauth2client.client=oauth2client.client-module.html"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-3', 'client', 'link-3');">client</a></tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-4', 'oauth2client', 'link-2');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Module oauth2client.file=oauth2client.file-module.html"><a title="oauth2client.file" class="py-name" href="#" onclick="return doclink('link-5', 'file', 'link-5');">file</a></tt> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-6', 'oauth2client', 'link-2');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-7" class="py-name" targets="Module oauth2client.tools=oauth2client.tools-module.html"><a title="oauth2client.tools" class="py-name" href="#" onclick="return doclink('link-7', 'tools', 'link-7');">tools</a></tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line"> </tt>
-<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"> </tt>
-<a name="init"></a><div id="init-def"><a name="L34"></a><tt class="py-lineno">34</tt> <a class="py-toggle" href="#" id="init-toggle" onclick="return toggle('init');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.sample_tools-module.html#init">init</a><tt class="py-op">(</tt><tt class="py-param">argv</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">version</tt><tt class="py-op">,</tt> <tt class="py-param">doc</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">scope</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">parents</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="init-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="init-expanded"><a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">  <tt class="py-docstring">"""A common initialization routine for samples.</tt> </tt>
-<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"><tt class="py-docstring">  Many of the sample applications do the same initialization, which has now</tt> </tt>
-<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-docstring">  been consolidated into this function. This function uses common idioms found</tt> </tt>
-<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"><tt class="py-docstring">  in almost all the samples, i.e. for an API with name 'apiname', the</tt> </tt>
-<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line"><tt class="py-docstring">  credentials are stored in a file named apiname.dat, and the</tt> </tt>
-<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"><tt class="py-docstring">  client_secrets.json file is stored in the same directory as the application</tt> </tt>
-<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line"><tt class="py-docstring">  main file.</tt> </tt>
-<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line"><tt class="py-docstring">    argv: list of string, the command-line parameters of the application.</tt> </tt>
-<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line"><tt class="py-docstring">    name: string, name of the API.</tt> </tt>
-<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line"><tt class="py-docstring">    version: string, version of the API.</tt> </tt>
-<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line"><tt class="py-docstring">    doc: string, description of the application. Usually set to __doc__.</tt> </tt>
-<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"><tt class="py-docstring">    file: string, filename of the application. Usually set to __file__.</tt> </tt>
-<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"><tt class="py-docstring">    parents: list of argparse.ArgumentParser, additional command-line flags.</tt> </tt>
-<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line"><tt class="py-docstring">    scope: string, The OAuth scope used.</tt> </tt>
-<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line"><tt class="py-docstring">    A tuple of (service, flags), where service is the service object and flags</tt> </tt>
-<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line"><tt class="py-docstring">    is the parsed command-line flags.</tt> </tt>
-<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">scope</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">    <tt class="py-name">scope</tt> <tt class="py-op">=</tt> <tt class="py-string">'https://www.googleapis.com/auth/'</tt> <tt class="py-op">+</tt> <tt class="py-name">name</tt> </tt>
-<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line"> </tt>
-<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">  <tt class="py-comment"># Parser command-line arguments.</tt> </tt>
-<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">  <tt class="py-name">parent_parsers</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-8" class="py-name"><a title="oauth2client.tools" class="py-name" href="#" onclick="return doclink('link-8', 'tools', 'link-7');">tools</a></tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Variable oauth2client.tools.argparser=oauth2client.tools-module.html#argparser"><a title="oauth2client.tools.argparser" class="py-name" href="#" onclick="return doclink('link-9', 'argparser', 'link-9');">argparser</a></tt><tt class="py-op">]</tt> </tt>
-<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">  <tt class="py-name">parent_parsers</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">parents</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">  <tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt class="py-name">argparse</tt><tt class="py-op">.</tt><tt class="py-name">ArgumentParser</tt><tt class="py-op">(</tt> </tt>
-<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">      <tt class="py-name">description</tt><tt class="py-op">=</tt><tt class="py-name">doc</tt><tt class="py-op">,</tt> </tt>
-<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">      <tt class="py-name">formatter_class</tt><tt class="py-op">=</tt><tt class="py-name">argparse</tt><tt class="py-op">.</tt><tt class="py-name">RawDescriptionHelpFormatter</tt><tt class="py-op">,</tt> </tt>
-<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line">      <tt class="py-name">parents</tt><tt class="py-op">=</tt><tt class="py-name">parent_parsers</tt><tt class="py-op">)</tt> </tt>
-<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line">  <tt class="py-name">flags</tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">parse_args</tt><tt class="py-op">(</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line"> </tt>
-<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line">  <tt class="py-comment"># Name of a file containing the OAuth 2.0 information for this</tt> </tt>
-<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line">  <tt class="py-comment"># application, including client_id and client_secret, which are found</tt> </tt>
-<a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line">  <tt class="py-comment"># on the API Access tab on the Google APIs</tt> </tt>
-<a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line">  <tt class="py-comment"># Console &lt;http://code.google.com/apis/console&gt;.</tt> </tt>
-<a name="L73"></a><tt class="py-lineno">73</tt>  <tt class="py-line">  <tt class="py-name">client_secrets</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">dirname</tt><tt class="py-op">(</tt><tt id="link-10" class="py-name" targets="Method oauth2client.locked_file.LockedFile.filename()=oauth2client.locked_file.LockedFile-class.html#filename,Method oauth2client.locked_file._Opener.filename()=oauth2client.locked_file._Opener-class.html#filename"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-10', 'filename', 'link-10');">filename</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line">                                <tt class="py-string">'client_secrets.json'</tt><tt class="py-op">)</tt> </tt>
-<a name="L75"></a><tt class="py-lineno">75</tt>  <tt class="py-line"> </tt>
-<a name="L76"></a><tt class="py-lineno">76</tt>  <tt class="py-line">  <tt class="py-comment"># Set up a Flow object to be used if we need to authenticate.</tt> </tt>
-<a name="L77"></a><tt class="py-lineno">77</tt>  <tt class="py-line">  <tt id="link-11" class="py-name" targets="Variable oauth2client.appengine.OAuth2Decorator.flow=oauth2client.appengine.OAuth2Decorator-class.html#flow"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-11', 'flow', 'link-11');">flow</a></tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-12', 'client', 'link-3');">client</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Function oauth2client.client.flow_from_clientsecrets()=oauth2client.client-module.html#flow_from_clientsecrets"><a title="oauth2client.client.flow_from_clientsecrets" class="py-name" href="#" onclick="return doclink('link-13', 'flow_from_clientsecrets', 'link-13');">flow_from_clientsecrets</a></tt><tt class="py-op">(</tt><tt class="py-name">client_secrets</tt><tt class="py-op">,</tt> </tt>
-<a name="L78"></a><tt class="py-lineno">78</tt>  <tt class="py-line">      <tt class="py-name">scope</tt><tt class="py-op">=</tt><tt class="py-name">scope</tt><tt class="py-op">,</tt> </tt>
-<a name="L79"></a><tt class="py-lineno">79</tt>  <tt class="py-line">      <tt class="py-name">message</tt><tt class="py-op">=</tt><tt id="link-14" class="py-name"><a title="oauth2client.tools" class="py-name" href="#" onclick="return doclink('link-14', 'tools', 'link-7');">tools</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Function oauth2client.tools.message_if_missing()=oauth2client.tools-module.html#message_if_missing"><a title="oauth2client.tools.message_if_missing" class="py-name" href="#" onclick="return doclink('link-15', 'message_if_missing', 'link-15');">message_if_missing</a></tt><tt class="py-op">(</tt><tt class="py-name">client_secrets</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L80"></a><tt class="py-lineno">80</tt>  <tt class="py-line"> </tt>
-<a name="L81"></a><tt class="py-lineno">81</tt>  <tt class="py-line">  <tt class="py-comment"># Prepare credentials, and authorize HTTP object with them.</tt> </tt>
-<a name="L82"></a><tt class="py-lineno">82</tt>  <tt class="py-line">  <tt class="py-comment"># If the credentials don't exist or are invalid run through the native client</tt> </tt>
-<a name="L83"></a><tt class="py-lineno">83</tt>  <tt class="py-line">  <tt class="py-comment"># flow. The Storage object will ensure that if successful the good</tt> </tt>
-<a name="L84"></a><tt class="py-lineno">84</tt>  <tt class="py-line">  <tt class="py-comment"># credentials will get written back to a file.</tt> </tt>
-<a name="L85"></a><tt class="py-lineno">85</tt>  <tt class="py-line">  <tt class="py-name">storage</tt> <tt class="py-op">=</tt> <tt id="link-16" class="py-name"><a title="oauth2client.file" class="py-name" href="#" onclick="return doclink('link-16', 'file', 'link-5');">file</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Class oauth2client.client.Storage=oauth2client.client.Storage-class.html,Class oauth2client.django_orm.Storage=oauth2client.django_orm.Storage-class.html,Class oauth2client.file.Storage=oauth2client.file.Storage-class.html,Class oauth2client.keyring_storage.Storage=oauth2client.keyring_storage.Storage-class.html"><a title="oauth2client.client.Storage
-oauth2client.django_orm.Storage
-oauth2client.file.Storage
-oauth2client.keyring_storage.Storage" class="py-name" href="#" onclick="return doclink('link-17', 'Storage', 'link-17');">Storage</a></tt><tt class="py-op">(</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">'.dat'</tt><tt class="py-op">)</tt> </tt>
-<a name="L86"></a><tt class="py-lineno">86</tt>  <tt class="py-line">  <tt id="link-18" class="py-name" targets="Variable oauth2client.appengine.CredentialsModel.credentials=oauth2client.appengine.CredentialsModel-class.html#credentials,Variable oauth2client.appengine.CredentialsNDBModel.credentials=oauth2client.appengine.CredentialsNDBModel-class.html#credentials,Variable oauth2client.appengine.OAuth2Decorator.credentials=oauth2client.appengine.OAuth2Decorator-class.html#credentials"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-18', 'credentials', 'link-18');">credentials</a></tt> <tt class="py-op">=</tt> <tt class="py-name">storage</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method apiclient.schema.Schemas.get()=apiclient.schema.Schemas-class.html#get,Method oauth2client.client.MemoryCache.get()=oauth2client.client.MemoryCache-class.html#get,Method oauth2client.client.Storage.get()=oauth2client.client.Storage-class.html#get"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-19', 'get', 'link-19');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L87"></a><tt class="py-lineno">87</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt id="link-20" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-20', 'credentials', 'link-18');">credentials</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt id="link-21" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-21', 'credentials', 'link-18');">credentials</a></tt><tt class="py-op">.</tt><tt class="py-name">invalid</tt><tt class="py-op">:</tt> </tt>
-<a name="L88"></a><tt class="py-lineno">88</tt>  <tt class="py-line">    <tt id="link-22" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-22', 'credentials', 'link-18');">credentials</a></tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name"><a title="oauth2client.tools" class="py-name" href="#" onclick="return doclink('link-23', 'tools', 'link-7');">tools</a></tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Function oauth2client.tools.run_flow()=oauth2client.tools-module.html#run_flow"><a title="oauth2client.tools.run_flow" class="py-name" href="#" onclick="return doclink('link-24', 'run_flow', 'link-24');">run_flow</a></tt><tt class="py-op">(</tt><tt id="link-25" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-25', 'flow', 'link-11');">flow</a></tt><tt class="py-op">,</tt> <tt class="py-name">storage</tt><tt class="py-op">,</tt> <tt class="py-name">flags</tt><tt class="py-op">)</tt> </tt>
-<a name="L89"></a><tt class="py-lineno">89</tt>  <tt class="py-line">  <tt id="link-26" class="py-name" targets="Module apiclient.http=apiclient.http-module.html,Method oauth2client.appengine.OAuth2Decorator.http()=oauth2client.appengine.OAuth2Decorator-class.html#http"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-26', 'http', 'link-26');">http</a></tt> <tt class="py-op">=</tt> <tt id="link-27" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-27', 'credentials', 'link-18');">credentials</a></tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method oauth2client.client.Credentials.authorize()=oauth2client.client.Credentials-class.html#authorize,Method oauth2client.client.OAuth2Credentials.authorize()=oauth2client.client.OAuth2Credentials-class.html#authorize"><a title="oauth2client.client.Credentials.authorize
-oauth2client.client.OAuth2Credentials.authorize" class="py-name" href="#" onclick="return doclink('link-28', 'authorize', 'link-28');">authorize</a></tt><tt class="py-op">(</tt><tt id="link-29" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-29', 'http', 'link-26');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Http</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L90"></a><tt class="py-lineno">90</tt>  <tt class="py-line"> </tt>
-<a name="L91"></a><tt class="py-lineno">91</tt>  <tt class="py-line">  <tt class="py-comment"># Construct a service object via the discovery service.</tt> </tt>
-<a name="L92"></a><tt class="py-lineno">92</tt>  <tt class="py-line">  <tt class="py-name">service</tt> <tt class="py-op">=</tt> <tt id="link-30" class="py-name"><a title="apiclient.discovery" class="py-name" href="#" onclick="return doclink('link-30', 'discovery', 'link-1');">discovery</a></tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Function apiclient.discovery.build()=apiclient.discovery-module.html#build"><a title="apiclient.discovery.build" class="py-name" href="#" onclick="return doclink('link-31', 'build', 'link-31');">build</a></tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">version</tt><tt class="py-op">,</tt> <tt id="link-32" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-32', 'http', 'link-26');">http</a></tt><tt class="py-op">=</tt><tt id="link-33" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-33', 'http', 'link-26');">http</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno">93</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">,</tt> <tt class="py-name">flags</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L94"></a><tt class="py-lineno">94</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.schema-module.html b/docs/epy/apiclient.schema-module.html
deleted file mode 100644
index 622f30e..0000000
--- a/docs/epy/apiclient.schema-module.html
+++ /dev/null
@@ -1,183 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.schema</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Module&nbsp;schema
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.schema-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module schema</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.schema-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-Schema processing for discovery based APIs
-
-Schemas holds an APIs discovery schemas. It can return those schema as
-deserialized JSON objects, or pretty print them as prototype objects that
-conform to the schema.
-
-For example, given the schema:
-
- schema = &quot;&quot;&quot;{
-   &quot;Foo&quot;: {
-    &quot;type&quot;: &quot;object&quot;,
-    &quot;properties&quot;: {
-     &quot;etag&quot;: {
-      &quot;type&quot;: &quot;string&quot;,
-      &quot;description&quot;: &quot;ETag of the collection.&quot;
-     },
-     &quot;kind&quot;: {
-      &quot;type&quot;: &quot;string&quot;,
-      &quot;description&quot;: &quot;Type of the collection ('calendar#acl').&quot;,
-      &quot;default&quot;: &quot;calendar#acl&quot;
-     },
-     &quot;nextPageToken&quot;: {
-      &quot;type&quot;: &quot;string&quot;,
-      &quot;description&quot;: &quot;Token used to access the next
-         page of this result. Omitted if no further results are available.&quot;
-     }
-    }
-   }
- }&quot;&quot;&quot;
-
- s = Schemas(schema)
- print s.prettyPrintByName('Foo')
-
- Produces the following output:
-
-  {
-   &quot;nextPageToken&quot;: &quot;A String&quot;, # Token used to access the
-       # next page of this result. Omitted if no further results are available.
-   &quot;kind&quot;: &quot;A String&quot;, # Type of the collection ('calendar#acl').
-   &quot;etag&quot;: &quot;A String&quot;, # ETag of the collection.
-  },
-
-The constructor takes a discovery document in which to look up named schema.
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        jcgregorio@google.com (Joe Gregorio)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.schema.Schemas-class.html" class="summary-name">Schemas</a><br />
-      Schemas for an API.
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="apiclient.schema._SchemaToStruct-class.html" class="summary-name" onclick="show_private();">_SchemaToStruct</a><br />
-      Convert schema to a prototype object.
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.schema-pysrc.html b/docs/epy/apiclient.schema-pysrc.html
deleted file mode 100644
index ca130d7..0000000
--- a/docs/epy/apiclient.schema-pysrc.html
+++ /dev/null
@@ -1,449 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.schema</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        Module&nbsp;schema
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.schema-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="apiclient.schema-module.html">Module apiclient.schema</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010 Google Inc.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">"""Schema processing for discovery based APIs</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">Schemas holds an APIs discovery schemas. It can return those schema as</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">deserialized JSON objects, or pretty print them as prototype objects that</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">conform to the schema.</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">For example, given the schema:</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring"> schema = \"\"\"{</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">   "Foo": {</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">    "type": "object",</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring">    "properties": {</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">     "etag": {</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-docstring">      "type": "string",</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-docstring">      "description": "ETag of the collection."</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-docstring">     },</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring">     "kind": {</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring">      "type": "string",</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-docstring">      "description": "Type of the collection ('calendar#acl').",</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring">      "default": "calendar#acl"</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-docstring">     },</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring">     "nextPageToken": {</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-docstring">      "type": "string",</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-docstring">      "description": "Token used to access the next</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-docstring">         page of this result. Omitted if no further results are available."</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-docstring">     }</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-docstring">    }</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-docstring">   }</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-docstring"> }\"\"\"</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring"> s = Schemas(schema)</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring"> print s.prettyPrintByName('Foo')</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring"> Produces the following output:</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring">  {</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">   "nextPageToken": "A String", # Token used to access the</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring">       # next page of this result. Omitted if no further results are available.</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">   "kind": "A String", # Type of the collection ('calendar#acl').</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">   "etag": "A String", # ETag of the collection.</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">  },</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">The constructor takes a discovery document in which to look up named schema.</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-comment"># TODO(jcgregorio) support format, enum, minimum, maximum</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package oauth2client=oauth2client-module.html"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-0', 'oauth2client', 'link-0');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module oauth2client.util=oauth2client.util-module.html"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-1', 'util', 'link-1');">util</a></tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-2', 'oauth2client', 'link-0');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module oauth2client.anyjson=oauth2client.anyjson-module.html"><a title="oauth2client.anyjson" class="py-name" href="#" onclick="return doclink('link-3', 'anyjson', 'link-3');">anyjson</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
-<a name="Schemas"></a><div id="Schemas-def"><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <a class="py-toggle" href="#" id="Schemas-toggle" onclick="return toggle('Schemas');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.schema.Schemas-class.html">Schemas</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Schemas-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Schemas-expanded"><a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">  <tt class="py-docstring">"""Schemas for an API."""</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"> </tt>
-<a name="Schemas.__init__"></a><div id="Schemas.__init__-def"><a name="L73"></a><tt class="py-lineno"> 73</tt> <a class="py-toggle" href="#" id="Schemas.__init__-toggle" onclick="return toggle('Schemas.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.schema.Schemas-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">discovery</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Schemas.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Schemas.__init__-expanded"><a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">      discovery: object, Deserialized discovery document from which we pull</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring">        out the named schema.</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">schemas</tt> <tt class="py-op">=</tt> <tt id="link-4" class="py-name" targets="Module apiclient.discovery=apiclient.discovery-module.html"><a title="apiclient.discovery" class="py-name" href="#" onclick="return doclink('link-4', 'discovery', 'link-4');">discovery</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method apiclient.schema.Schemas.get()=apiclient.schema.Schemas-class.html#get,Method oauth2client.client.MemoryCache.get()=oauth2client.client.MemoryCache-class.html#get,Method oauth2client.client.Storage.get()=oauth2client.client.Storage-class.html#get"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-5', 'get', 'link-5');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'schemas'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">    <tt class="py-comment"># Cache of pretty printed schemas.</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pretty</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-</div><a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Function oauth2client.util.positional()=oauth2client.util-module.html#positional"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-6', 'positional', 'link-6');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="Schemas._prettyPrintByName"></a><div id="Schemas._prettyPrintByName-def"><a name="L86"></a><tt class="py-lineno"> 86</tt> <a class="py-toggle" href="#" id="Schemas._prettyPrintByName-toggle" onclick="return toggle('Schemas._prettyPrintByName');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.schema.Schemas-class.html#_prettyPrintByName">_prettyPrintByName</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">seen</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">dent</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Schemas._prettyPrintByName-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Schemas._prettyPrintByName-expanded"><a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get pretty printed object prototype from the schema name.</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring">      name: string, Name of schema in the discovery document.</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring">      seen: list of string, Names of schema already seen. Used to handle</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">        recursive definitions.</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-docstring">      string, A string that contains a prototype object with</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring">        comments that conforms to the given schema.</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">seen</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">      <tt class="py-name">seen</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">seen</tt><tt class="py-op">:</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">      <tt class="py-comment"># Do not fall into an infinite loop over recursive definitions.</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-string">'# Object with schema name: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">name</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">    <tt class="py-name">seen</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pretty</tt><tt class="py-op">:</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pretty</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-7" class="py-name" targets="Class apiclient.schema._SchemaToStruct=apiclient.schema._SchemaToStruct-class.html"><a title="apiclient.schema._SchemaToStruct" class="py-name" href="#" onclick="return doclink('link-7', '_SchemaToStruct', 'link-7');">_SchemaToStruct</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">schemas</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">          <tt class="py-name">seen</tt><tt class="py-op">,</tt> <tt class="py-name">dent</tt><tt class="py-op">=</tt><tt class="py-name">dent</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method apiclient.schema._SchemaToStruct.to_str()=apiclient.schema._SchemaToStruct-class.html#to_str"><a title="apiclient.schema._SchemaToStruct.to_str" class="py-name" href="#" onclick="return doclink('link-8', 'to_str', 'link-8');">to_str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method apiclient.schema.Schemas._prettyPrintByName()=apiclient.schema.Schemas-class.html#_prettyPrintByName"><a title="apiclient.schema.Schemas._prettyPrintByName" class="py-name" href="#" onclick="return doclink('link-9', '_prettyPrintByName', 'link-9');">_prettyPrintByName</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">    <tt class="py-name">seen</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pretty</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"> </tt>
-<a name="Schemas.prettyPrintByName"></a><div id="Schemas.prettyPrintByName-def"><a name="L114"></a><tt class="py-lineno">114</tt> <a class="py-toggle" href="#" id="Schemas.prettyPrintByName-toggle" onclick="return toggle('Schemas.prettyPrintByName');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.schema.Schemas-class.html#prettyPrintByName">prettyPrintByName</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Schemas.prettyPrintByName-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Schemas.prettyPrintByName-expanded"><a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get pretty printed object prototype from the schema name.</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-docstring">      name: string, Name of schema in the discovery document.</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-docstring">      string, A string that contains a prototype object with</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring">        comments that conforms to the given schema.</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">    <tt class="py-comment"># Return with trailing comma and newline removed.</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="apiclient.schema.Schemas._prettyPrintByName" class="py-name" href="#" onclick="return doclink('link-10', '_prettyPrintByName', 'link-9');">_prettyPrintByName</a></tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">seen</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">dent</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-11', 'positional', 'link-6');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="Schemas._prettyPrintSchema"></a><div id="Schemas._prettyPrintSchema-def"><a name="L128"></a><tt class="py-lineno">128</tt> <a class="py-toggle" href="#" id="Schemas._prettyPrintSchema-toggle" onclick="return toggle('Schemas._prettyPrintSchema');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.schema.Schemas-class.html#_prettyPrintSchema">_prettyPrintSchema</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">,</tt> <tt class="py-param">seen</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">dent</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Schemas._prettyPrintSchema-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Schemas._prettyPrintSchema-expanded"><a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get pretty printed object prototype of schema.</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">      schema: object, Parsed JSON schema.</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-docstring">      seen: list of string, Names of schema already seen. Used to handle</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">        recursive definitions.</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-docstring">      string, A string that contains a prototype object with</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-docstring">        comments that conforms to the given schema.</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">seen</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">      <tt class="py-name">seen</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-12" class="py-name"><a title="apiclient.schema._SchemaToStruct" class="py-name" href="#" onclick="return doclink('link-12', '_SchemaToStruct', 'link-7');">_SchemaToStruct</a></tt><tt class="py-op">(</tt><tt id="link-13" class="py-name" targets="Module apiclient.schema=apiclient.schema-module.html"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-13', 'schema', 'link-13');">schema</a></tt><tt class="py-op">,</tt> <tt class="py-name">seen</tt><tt class="py-op">,</tt> <tt class="py-name">dent</tt><tt class="py-op">=</tt><tt class="py-name">dent</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="apiclient.schema._SchemaToStruct.to_str" class="py-name" href="#" onclick="return doclink('link-14', 'to_str', 'link-8');">to_str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="apiclient.schema.Schemas._prettyPrintByName" class="py-name" href="#" onclick="return doclink('link-15', '_prettyPrintByName', 'link-9');">_prettyPrintByName</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"> </tt>
-<a name="Schemas.prettyPrintSchema"></a><div id="Schemas.prettyPrintSchema-def"><a name="L145"></a><tt class="py-lineno">145</tt> <a class="py-toggle" href="#" id="Schemas.prettyPrintSchema-toggle" onclick="return toggle('Schemas.prettyPrintSchema');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.schema.Schemas-class.html#prettyPrintSchema">prettyPrintSchema</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Schemas.prettyPrintSchema-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Schemas.prettyPrintSchema-expanded"><a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get pretty printed object prototype of schema.</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-docstring">      schema: object, Parsed JSON schema.</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">      string, A string that contains a prototype object with</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">        comments that conforms to the given schema.</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">    <tt class="py-comment"># Return with trailing comma and newline removed.</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method apiclient.schema.Schemas._prettyPrintSchema()=apiclient.schema.Schemas-class.html#_prettyPrintSchema"><a title="apiclient.schema.Schemas._prettyPrintSchema" class="py-name" href="#" onclick="return doclink('link-16', '_prettyPrintSchema', 'link-16');">_prettyPrintSchema</a></tt><tt class="py-op">(</tt><tt id="link-17" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-17', 'schema', 'link-13');">schema</a></tt><tt class="py-op">,</tt> <tt class="py-name">dent</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"> </tt>
-<a name="Schemas.get"></a><div id="Schemas.get-def"><a name="L158"></a><tt class="py-lineno">158</tt> <a class="py-toggle" href="#" id="Schemas.get-toggle" onclick="return toggle('Schemas.get');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.schema.Schemas-class.html#get">get</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Schemas.get-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Schemas.get-expanded"><a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get deserialized JSON schema from the schema name.</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring">      name: string, Schema name.</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">schemas</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
-</div></div><a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"> </tt>
-<a name="_SchemaToStruct"></a><div id="_SchemaToStruct-def"><a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <a class="py-toggle" href="#" id="_SchemaToStruct-toggle" onclick="return toggle('_SchemaToStruct');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="apiclient.schema._SchemaToStruct-class.html">_SchemaToStruct</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_SchemaToStruct-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_SchemaToStruct-expanded"><a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">  <tt class="py-docstring">"""Convert schema to a prototype object."""</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-18', 'positional', 'link-6');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
-<a name="_SchemaToStruct.__init__"></a><div id="_SchemaToStruct.__init__-def"><a name="L171"></a><tt class="py-lineno">171</tt> <a class="py-toggle" href="#" id="_SchemaToStruct.__init__-toggle" onclick="return toggle('_SchemaToStruct.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.schema._SchemaToStruct-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">,</tt> <tt class="py-param">seen</tt><tt class="py-op">,</tt> <tt class="py-param">dent</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_SchemaToStruct.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_SchemaToStruct.__init__-expanded"><a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-docstring">      schema: object, Parsed JSON schema.</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-docstring">      seen: list, List of names of schema already seen while parsing. Used to</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-docstring">        handle recursive definitions.</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-docstring">      dent: int, Initial indentation depth.</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">    <tt class="py-comment"># The result of this parsing kept as list of strings.</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">    <tt class="py-comment"># The final value of the parsing.</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">string</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">    <tt class="py-comment"># The parsed JSON schema.</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-19', 'schema', 'link-13');">schema</a></tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-20', 'schema', 'link-13');">schema</a></tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">    <tt class="py-comment"># Indentation level.</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dent</tt> <tt class="py-op">=</tt> <tt class="py-name">dent</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">    <tt class="py-comment"># Method that when called returns a prototype object for the schema with</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">    <tt class="py-comment"># the given name.</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">from_cache</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">    <tt class="py-comment"># List of names of schema already seen while parsing.</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">seen</tt> <tt class="py-op">=</tt> <tt class="py-name">seen</tt> </tt>
-</div><a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"> </tt>
-<a name="_SchemaToStruct.emit"></a><div id="_SchemaToStruct.emit-def"><a name="L199"></a><tt class="py-lineno">199</tt> <a class="py-toggle" href="#" id="_SchemaToStruct.emit-toggle" onclick="return toggle('_SchemaToStruct.emit');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.schema._SchemaToStruct-class.html#emit">emit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_SchemaToStruct.emit-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_SchemaToStruct.emit-expanded"><a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">    <tt class="py-docstring">"""Add text as a line to the output.</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line"><tt class="py-docstring">      text: string, Text to output.</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"  "</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dent</tt><tt class="py-op">,</tt> <tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-string">'\n'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line"> </tt>
-<a name="_SchemaToStruct.emitBegin"></a><div id="_SchemaToStruct.emitBegin-def"><a name="L207"></a><tt class="py-lineno">207</tt> <a class="py-toggle" href="#" id="_SchemaToStruct.emitBegin-toggle" onclick="return toggle('_SchemaToStruct.emitBegin');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.schema._SchemaToStruct-class.html#emitBegin">emitBegin</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_SchemaToStruct.emitBegin-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_SchemaToStruct.emitBegin-expanded"><a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">    <tt class="py-docstring">"""Add text to the output, but with no line terminator.</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"><tt class="py-docstring">      text: string, Text to output.</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"  "</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dent</tt><tt class="py-op">,</tt> <tt class="py-name">text</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"> </tt>
-<a name="_SchemaToStruct.emitEnd"></a><div id="_SchemaToStruct.emitEnd-def"><a name="L215"></a><tt class="py-lineno">215</tt> <a class="py-toggle" href="#" id="_SchemaToStruct.emitEnd-toggle" onclick="return toggle('_SchemaToStruct.emitEnd');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.schema._SchemaToStruct-class.html#emitEnd">emitEnd</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">comment</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_SchemaToStruct.emitEnd-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_SchemaToStruct.emitEnd-expanded"><a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">    <tt class="py-docstring">"""Add text and comment to the output with line terminator.</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"><tt class="py-docstring">      text: string, Text to output.</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"><tt class="py-docstring">      comment: string, Python comment.</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">comment</tt><tt class="py-op">:</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">      <tt class="py-name">divider</tt> <tt class="py-op">=</tt> <tt class="py-string">'\n'</tt> <tt class="py-op">+</tt> <tt class="py-string">'  '</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dent</tt> <tt class="py-op">+</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">'# '</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">      <tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-name">comment</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">      <tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">rstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">lines</tt><tt class="py-op">]</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">      <tt class="py-name">comment</tt> <tt class="py-op">=</tt> <tt class="py-name">divider</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">)</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-string">' # '</tt><tt class="py-op">,</tt> <tt class="py-name">comment</tt><tt class="py-op">,</tt> <tt class="py-string">'\n'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-string">'\n'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"> </tt>
-<a name="_SchemaToStruct.indent"></a><div id="_SchemaToStruct.indent-def"><a name="L231"></a><tt class="py-lineno">231</tt> <a class="py-toggle" href="#" id="_SchemaToStruct.indent-toggle" onclick="return toggle('_SchemaToStruct.indent');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.schema._SchemaToStruct-class.html#indent">indent</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_SchemaToStruct.indent-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_SchemaToStruct.indent-expanded"><a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">    <tt class="py-docstring">"""Increase indentation level."""</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dent</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-</div><a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"> </tt>
-<a name="_SchemaToStruct.undent"></a><div id="_SchemaToStruct.undent-def"><a name="L235"></a><tt class="py-lineno">235</tt> <a class="py-toggle" href="#" id="_SchemaToStruct.undent-toggle" onclick="return toggle('_SchemaToStruct.undent');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.schema._SchemaToStruct-class.html#undent">undent</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_SchemaToStruct.undent-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_SchemaToStruct.undent-expanded"><a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">    <tt class="py-docstring">"""Decrease indentation level."""</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dent</tt> <tt class="py-op">-=</tt> <tt class="py-number">1</tt> </tt>
-</div><a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"> </tt>
-<a name="_SchemaToStruct._to_str_impl"></a><div id="_SchemaToStruct._to_str_impl-def"><a name="L239"></a><tt class="py-lineno">239</tt> <a class="py-toggle" href="#" id="_SchemaToStruct._to_str_impl-toggle" onclick="return toggle('_SchemaToStruct._to_str_impl');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.schema._SchemaToStruct-class.html#_to_str_impl">_to_str_impl</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_SchemaToStruct._to_str_impl-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_SchemaToStruct._to_str_impl-expanded"><a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">    <tt class="py-docstring">"""Prototype object based on the schema, in Python code with comments.</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"><tt class="py-docstring">      schema: object, Parsed JSON schema file.</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"><tt class="py-docstring">      Prototype object based on the schema, in Python code with comments.</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">    <tt class="py-name">stype</tt> <tt class="py-op">=</tt> <tt id="link-21" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-21', 'schema', 'link-13');">schema</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-22', 'get', 'link-5');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'type'</tt><tt class="py-op">)</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">stype</tt> <tt class="py-op">==</tt> <tt class="py-string">'object'</tt><tt class="py-op">:</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method apiclient.schema._SchemaToStruct.emitEnd()=apiclient.schema._SchemaToStruct-class.html#emitEnd"><a title="apiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-23', 'emitEnd', 'link-23');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-string">'{'</tt><tt class="py-op">,</tt> <tt id="link-24" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-24', 'schema', 'link-13');">schema</a></tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-25', 'get', 'link-5');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method apiclient.schema._SchemaToStruct.indent()=apiclient.schema._SchemaToStruct-class.html#indent"><a title="apiclient.schema._SchemaToStruct.indent" class="py-name" href="#" onclick="return doclink('link-26', 'indent', 'link-26');">indent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'properties'</tt> <tt class="py-keyword">in</tt> <tt id="link-27" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-27', 'schema', 'link-13');">schema</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">pname</tt><tt class="py-op">,</tt> <tt class="py-name">pschema</tt> <tt class="py-keyword">in</tt> <tt id="link-28" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-28', 'schema', 'link-13');">schema</a></tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-29', 'get', 'link-5');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'properties'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method apiclient.schema._SchemaToStruct.emitBegin()=apiclient.schema._SchemaToStruct-class.html#emitBegin"><a title="apiclient.schema._SchemaToStruct.emitBegin" class="py-name" href="#" onclick="return doclink('link-30', 'emitBegin', 'link-30');">emitBegin</a></tt><tt class="py-op">(</tt><tt class="py-string">'"%s": '</tt> <tt class="py-op">%</tt> <tt class="py-name">pname</tt><tt class="py-op">)</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method apiclient.schema._SchemaToStruct._to_str_impl()=apiclient.schema._SchemaToStruct-class.html#_to_str_impl"><a title="apiclient.schema._SchemaToStruct._to_str_impl" class="py-name" href="#" onclick="return doclink('link-31', '_to_str_impl', 'link-31');">_to_str_impl</a></tt><tt class="py-op">(</tt><tt class="py-name">pschema</tt><tt class="py-op">)</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">      <tt class="py-keyword">elif</tt> <tt class="py-string">'additionalProperties'</tt> <tt class="py-keyword">in</tt> <tt id="link-32" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-32', 'schema', 'link-13');">schema</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="apiclient.schema._SchemaToStruct.emitBegin" class="py-name" href="#" onclick="return doclink('link-33', 'emitBegin', 'link-30');">emitBegin</a></tt><tt class="py-op">(</tt><tt class="py-string">'"a_key": '</tt><tt class="py-op">)</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="apiclient.schema._SchemaToStruct._to_str_impl" class="py-name" href="#" onclick="return doclink('link-34', '_to_str_impl', 'link-31');">_to_str_impl</a></tt><tt class="py-op">(</tt><tt id="link-35" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-35', 'schema', 'link-13');">schema</a></tt><tt class="py-op">[</tt><tt class="py-string">'additionalProperties'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method apiclient.schema._SchemaToStruct.undent()=apiclient.schema._SchemaToStruct-class.html#undent"><a title="apiclient.schema._SchemaToStruct.undent" class="py-name" href="#" onclick="return doclink('link-36', 'undent', 'link-36');">undent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Method apiclient.schema._SchemaToStruct.emit()=apiclient.schema._SchemaToStruct-class.html#emit"><a title="apiclient.schema._SchemaToStruct.emit" class="py-name" href="#" onclick="return doclink('link-37', 'emit', 'link-37');">emit</a></tt><tt class="py-op">(</tt><tt class="py-string">'},'</tt><tt class="py-op">)</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-string">'$ref'</tt> <tt class="py-keyword">in</tt> <tt id="link-38" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-38', 'schema', 'link-13');">schema</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">      <tt class="py-name">schemaName</tt> <tt class="py-op">=</tt> <tt id="link-39" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-39', 'schema', 'link-13');">schema</a></tt><tt class="py-op">[</tt><tt class="py-string">'$ref'</tt><tt class="py-op">]</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">      <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt id="link-40" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-40', 'schema', 'link-13');">schema</a></tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-41', 'get', 'link-5');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">      <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">from_cache</tt><tt class="py-op">(</tt><tt class="py-name">schemaName</tt><tt class="py-op">,</tt> <tt class="py-name">seen</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">seen</tt><tt class="py-op">)</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">      <tt class="py-name">parts</tt> <tt class="py-op">=</tt> <tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="apiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-42', 'emitEnd', 'link-23');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">description</tt><tt class="py-op">)</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="apiclient.schema._SchemaToStruct.emit" class="py-name" href="#" onclick="return doclink('link-43', 'emit', 'link-37');">emit</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">rstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">stype</tt> <tt class="py-op">==</tt> <tt class="py-string">'boolean'</tt><tt class="py-op">:</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">      <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-44', 'schema', 'link-13');">schema</a></tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-45', 'get', 'link-5');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'default'</tt><tt class="py-op">,</tt> <tt class="py-string">'True or False'</tt><tt class="py-op">)</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="apiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-46', 'emitEnd', 'link-23');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-string">'%s,'</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-47" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-47', 'schema', 'link-13');">schema</a></tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-48', 'get', 'link-5');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">stype</tt> <tt class="py-op">==</tt> <tt class="py-string">'string'</tt><tt class="py-op">:</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">      <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt id="link-49" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-49', 'schema', 'link-13');">schema</a></tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-50', 'get', 'link-5');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'default'</tt><tt class="py-op">,</tt> <tt class="py-string">'A String'</tt><tt class="py-op">)</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="apiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-51', 'emitEnd', 'link-23');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-string">'"%s",'</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-52" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-52', 'schema', 'link-13');">schema</a></tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-53', 'get', 'link-5');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">stype</tt> <tt class="py-op">==</tt> <tt class="py-string">'integer'</tt><tt class="py-op">:</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">      <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt id="link-54" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-54', 'schema', 'link-13');">schema</a></tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-55', 'get', 'link-5');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'default'</tt><tt class="py-op">,</tt> <tt class="py-string">'42'</tt><tt class="py-op">)</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="apiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-56', 'emitEnd', 'link-23');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-string">'%s,'</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-57" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-57', 'schema', 'link-13');">schema</a></tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-58', 'get', 'link-5');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">stype</tt> <tt class="py-op">==</tt> <tt class="py-string">'number'</tt><tt class="py-op">:</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">      <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt id="link-59" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-59', 'schema', 'link-13');">schema</a></tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-60', 'get', 'link-5');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'default'</tt><tt class="py-op">,</tt> <tt class="py-string">'3.14'</tt><tt class="py-op">)</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="apiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-61', 'emitEnd', 'link-23');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-string">'%s,'</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-62" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-62', 'schema', 'link-13');">schema</a></tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-63', 'get', 'link-5');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">stype</tt> <tt class="py-op">==</tt> <tt class="py-string">'null'</tt><tt class="py-op">:</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="apiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-64', 'emitEnd', 'link-23');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-string">'None,'</tt><tt class="py-op">,</tt> <tt id="link-65" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-65', 'schema', 'link-13');">schema</a></tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-66', 'get', 'link-5');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">stype</tt> <tt class="py-op">==</tt> <tt class="py-string">'any'</tt><tt class="py-op">:</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="apiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-67', 'emitEnd', 'link-23');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-string">'"",'</tt><tt class="py-op">,</tt> <tt id="link-68" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-68', 'schema', 'link-13');">schema</a></tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-69', 'get', 'link-5');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">stype</tt> <tt class="py-op">==</tt> <tt class="py-string">'array'</tt><tt class="py-op">:</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="apiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-70', 'emitEnd', 'link-23');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-string">'['</tt><tt class="py-op">,</tt> <tt id="link-71" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-71', 'schema', 'link-13');">schema</a></tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-72', 'get', 'link-5');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="apiclient.schema._SchemaToStruct.indent" class="py-name" href="#" onclick="return doclink('link-73', 'indent', 'link-26');">indent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="apiclient.schema._SchemaToStruct.emitBegin" class="py-name" href="#" onclick="return doclink('link-74', 'emitBegin', 'link-30');">emitBegin</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="apiclient.schema._SchemaToStruct._to_str_impl" class="py-name" href="#" onclick="return doclink('link-75', '_to_str_impl', 'link-31');">_to_str_impl</a></tt><tt class="py-op">(</tt><tt id="link-76" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-76', 'schema', 'link-13');">schema</a></tt><tt class="py-op">[</tt><tt class="py-string">'items'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="apiclient.schema._SchemaToStruct.undent" class="py-name" href="#" onclick="return doclink('link-77', 'undent', 'link-36');">undent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="apiclient.schema._SchemaToStruct.emit" class="py-name" href="#" onclick="return doclink('link-78', 'emit', 'link-37');">emit</a></tt><tt class="py-op">(</tt><tt class="py-string">'],'</tt><tt class="py-op">)</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="apiclient.schema._SchemaToStruct.emit" class="py-name" href="#" onclick="return doclink('link-79', 'emit', 'link-37');">emit</a></tt><tt class="py-op">(</tt><tt class="py-string">'Unknown type! %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">stype</tt><tt class="py-op">)</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="apiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-80', 'emitEnd', 'link-23');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">string</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">string</tt> </tt>
-</div><a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line"> </tt>
-<a name="_SchemaToStruct.to_str"></a><div id="_SchemaToStruct.to_str-def"><a name="L299"></a><tt class="py-lineno">299</tt> <a class="py-toggle" href="#" id="_SchemaToStruct.to_str-toggle" onclick="return toggle('_SchemaToStruct.to_str');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="apiclient.schema._SchemaToStruct-class.html#to_str">to_str</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">from_cache</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_SchemaToStruct.to_str-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_SchemaToStruct.to_str-expanded"><a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">    <tt class="py-docstring">"""Prototype object based on the schema, in Python code with comments.</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line"><tt class="py-docstring">      from_cache: callable(name, seen), Callable that retrieves an object</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line"><tt class="py-docstring">         prototype for a schema with the given name. Seen is a list of schema</tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line"><tt class="py-docstring">         names already seen as we recursively descend the schema definition.</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"><tt class="py-docstring">      Prototype object based on the schema, in Python code with comments.</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"><tt class="py-docstring">      The lines of the code will all be properly indented.</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">from_cache</tt> <tt class="py-op">=</tt> <tt class="py-name">from_cache</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="apiclient.schema._SchemaToStruct._to_str_impl" class="py-name" href="#" onclick="return doclink('link-81', '_to_str_impl', 'link-31');">_to_str_impl</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="apiclient.schema" class="py-name" href="#" onclick="return doclink('link-82', 'schema', 'link-13');">schema</a></tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.schema.Schemas-class.html b/docs/epy/apiclient.schema.Schemas-class.html
deleted file mode 100644
index 615f504..0000000
--- a/docs/epy/apiclient.schema.Schemas-class.html
+++ /dev/null
@@ -1,501 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.schema.Schemas</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.schema-module.html">Module&nbsp;schema</a> ::
-        Class&nbsp;Schemas
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.schema.Schemas-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Schemas</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.schema-pysrc.html#Schemas">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_39" name="uml_class_diagram_for_apiclien_39">
-<area shape="rect" id="node97" href="apiclient.schema.Schemas-class.html#__init__" title="Constructor." alt="" coords="17,39,216,57"/>
-<area shape="rect" id="node97" href="apiclient.schema.Schemas-class.html#prettyPrintByName" title="Get pretty printed object prototype from the schema name." alt="" coords="17,57,216,76"/>
-<area shape="rect" id="node97" href="apiclient.schema.Schemas-class.html#prettyPrintSchema" title="Get pretty printed object prototype of schema." alt="" coords="17,76,216,95"/>
-<area shape="rect" id="node97" href="apiclient.schema.Schemas-class.html#get" title="Get deserialized JSON schema from the schema name." alt="" coords="17,95,216,113"/>
-<area shape="rect" id="node1" href="apiclient.schema.Schemas-class.html" title="Schemas for an API." alt="" coords="5,6,227,119"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_39.gif" alt='' usemap="#uml_class_diagram_for_apiclien_39" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Schemas for an API.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.schema.Schemas-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">discovery</span>)</span><br />
-      Constructor.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.schema-pysrc.html#Schemas.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.schema.Schemas-class.html#_prettyPrintByName" class="summary-sig-name" onclick="show_private();">_prettyPrintByName</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">name</span>,
-        <span class="summary-sig-arg">seen</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">dent</span>=<span class="summary-sig-default">0</span>)</span><br />
-      Get pretty printed object prototype from the schema name.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.schema-pysrc.html#Schemas._prettyPrintByName">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.schema.Schemas-class.html#prettyPrintByName" class="summary-sig-name">prettyPrintByName</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">name</span>)</span><br />
-      Get pretty printed object prototype from the schema name.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.schema-pysrc.html#Schemas.prettyPrintByName">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.schema.Schemas-class.html#_prettyPrintSchema" class="summary-sig-name" onclick="show_private();">_prettyPrintSchema</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">schema</span>,
-        <span class="summary-sig-arg">seen</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">dent</span>=<span class="summary-sig-default">0</span>)</span><br />
-      Get pretty printed object prototype of schema.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.schema-pysrc.html#Schemas._prettyPrintSchema">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.schema.Schemas-class.html#prettyPrintSchema" class="summary-sig-name">prettyPrintSchema</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">schema</span>)</span><br />
-      Get pretty printed object prototype of schema.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.schema-pysrc.html#Schemas.prettyPrintSchema">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.schema.Schemas-class.html#get" class="summary-sig-name">get</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">name</span>)</span><br />
-      Get deserialized JSON schema from the schema name.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.schema-pysrc.html#Schemas.get">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">discovery</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.schema-pysrc.html#Schemas.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor.
-
-Args:
-  discovery: object, Deserialized discovery document from which we pull
-    out the named schema.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_prettyPrintByName"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_prettyPrintByName</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">name</span>,
-        <span class="sig-arg">seen</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">dent</span>=<span class="sig-default">0</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.schema-pysrc.html#Schemas._prettyPrintByName">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Get pretty printed object prototype from the schema name.
-
-Args:
-  name: string, Name of schema in the discovery document.
-  seen: list of string, Names of schema already seen. Used to handle
-    recursive definitions.
-
-Returns:
-  string, A string that contains a prototype object with
-    comments that conforms to the given schema.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="prettyPrintByName"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">prettyPrintByName</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">name</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.schema-pysrc.html#Schemas.prettyPrintByName">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Get pretty printed object prototype from the schema name.
-
-Args:
-  name: string, Name of schema in the discovery document.
-
-Returns:
-  string, A string that contains a prototype object with
-    comments that conforms to the given schema.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_prettyPrintSchema"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_prettyPrintSchema</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">schema</span>,
-        <span class="sig-arg">seen</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">dent</span>=<span class="sig-default">0</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.schema-pysrc.html#Schemas._prettyPrintSchema">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Get pretty printed object prototype of schema.
-
-Args:
-  schema: object, Parsed JSON schema.
-  seen: list of string, Names of schema already seen. Used to handle
-    recursive definitions.
-
-Returns:
-  string, A string that contains a prototype object with
-    comments that conforms to the given schema.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="prettyPrintSchema"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">prettyPrintSchema</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">schema</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.schema-pysrc.html#Schemas.prettyPrintSchema">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Get pretty printed object prototype of schema.
-
-Args:
-  schema: object, Parsed JSON schema.
-
-Returns:
-  string, A string that contains a prototype object with
-    comments that conforms to the given schema.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="get"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">get</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">name</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.schema-pysrc.html#Schemas.get">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Get deserialized JSON schema from the schema name.
-
-Args:
-  name: string, Schema name.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/apiclient.schema._SchemaToStruct-class.html b/docs/epy/apiclient.schema._SchemaToStruct-class.html
deleted file mode 100644
index 5ba43b5..0000000
--- a/docs/epy/apiclient.schema._SchemaToStruct-class.html
+++ /dev/null
@@ -1,525 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient.schema._SchemaToStruct</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
-        <a href="apiclient.schema-module.html">Module&nbsp;schema</a> ::
-        Class&nbsp;_SchemaToStruct
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="apiclient.schema._SchemaToStruct-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class _SchemaToStruct</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.schema-pysrc.html#_SchemaToStruct">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_apiclien_40" name="uml_class_diagram_for_apiclien_40">
-<area shape="rect" id="node98" href="apiclient.schema._SchemaToStruct-class.html#__init__" title="Constructor." alt="" coords="17,39,237,57"/>
-<area shape="rect" id="node98" href="apiclient.schema._SchemaToStruct-class.html#emit" title="Add text as a line to the output." alt="" coords="17,57,237,76"/>
-<area shape="rect" id="node98" href="apiclient.schema._SchemaToStruct-class.html#emitBegin" title="Add text to the output, but with no line terminator." alt="" coords="17,76,237,95"/>
-<area shape="rect" id="node98" href="apiclient.schema._SchemaToStruct-class.html#emitEnd" title="Add text and comment to the output with line terminator." alt="" coords="17,95,237,113"/>
-<area shape="rect" id="node98" href="apiclient.schema._SchemaToStruct-class.html#indent" title="Increase indentation level." alt="" coords="17,113,237,132"/>
-<area shape="rect" id="node98" href="apiclient.schema._SchemaToStruct-class.html#undent" title="Decrease indentation level." alt="" coords="17,132,237,151"/>
-<area shape="rect" id="node98" href="apiclient.schema._SchemaToStruct-class.html#to_str" title="Prototype object based on the schema, in Python code with comments." alt="" coords="17,151,237,169"/>
-<area shape="rect" id="node1" href="apiclient.schema._SchemaToStruct-class.html" title="Convert schema to a prototype object." alt="" coords="5,6,248,175"/>
-</map>
-  <img src="uml_class_diagram_for_apiclien_40.gif" alt='' usemap="#uml_class_diagram_for_apiclien_40" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Convert schema to a prototype object.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.schema._SchemaToStruct-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">schema</span>,
-        <span class="summary-sig-arg">seen</span>,
-        <span class="summary-sig-arg">dent</span>=<span class="summary-sig-default">0</span>)</span><br />
-      Constructor.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.schema-pysrc.html#_SchemaToStruct.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.schema._SchemaToStruct-class.html#emit" class="summary-sig-name">emit</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">text</span>)</span><br />
-      Add text as a line to the output.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.schema-pysrc.html#_SchemaToStruct.emit">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.schema._SchemaToStruct-class.html#emitBegin" class="summary-sig-name">emitBegin</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">text</span>)</span><br />
-      Add text to the output, but with no line terminator.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.schema-pysrc.html#_SchemaToStruct.emitBegin">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.schema._SchemaToStruct-class.html#emitEnd" class="summary-sig-name">emitEnd</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">text</span>,
-        <span class="summary-sig-arg">comment</span>)</span><br />
-      Add text and comment to the output with line terminator.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.schema-pysrc.html#_SchemaToStruct.emitEnd">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="indent"></a><span class="summary-sig-name">indent</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Increase indentation level.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.schema-pysrc.html#_SchemaToStruct.indent">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="undent"></a><span class="summary-sig-name">undent</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Decrease indentation level.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.schema-pysrc.html#_SchemaToStruct.undent">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.schema._SchemaToStruct-class.html#_to_str_impl" class="summary-sig-name" onclick="show_private();">_to_str_impl</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">schema</span>)</span><br />
-      Prototype object based on the schema, in Python code with comments.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.schema-pysrc.html#_SchemaToStruct._to_str_impl">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="apiclient.schema._SchemaToStruct-class.html#to_str" class="summary-sig-name">to_str</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">from_cache</span>)</span><br />
-      Prototype object based on the schema, in Python code with comments.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.schema-pysrc.html#_SchemaToStruct.to_str">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">schema</span>,
-        <span class="sig-arg">seen</span>,
-        <span class="sig-arg">dent</span>=<span class="sig-default">0</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.schema-pysrc.html#_SchemaToStruct.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor.
-
-Args:
-  schema: object, Parsed JSON schema.
-  seen: list, List of names of schema already seen while parsing. Used to
-    handle recursive definitions.
-  dent: int, Initial indentation depth.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(3)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="emit"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">emit</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">text</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.schema-pysrc.html#_SchemaToStruct.emit">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Add text as a line to the output.
-
-Args:
-  text: string, Text to output.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="emitBegin"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">emitBegin</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">text</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.schema-pysrc.html#_SchemaToStruct.emitBegin">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Add text to the output, but with no line terminator.
-
-Args:
-  text: string, Text to output.
-  
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="emitEnd"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">emitEnd</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">text</span>,
-        <span class="sig-arg">comment</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.schema-pysrc.html#_SchemaToStruct.emitEnd">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Add text and comment to the output with line terminator.
-
-Args:
-  text: string, Text to output.
-  comment: string, Python comment.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_to_str_impl"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_to_str_impl</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">schema</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.schema-pysrc.html#_SchemaToStruct._to_str_impl">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Prototype object based on the schema, in Python code with comments.
-
-Args:
-  schema: object, Parsed JSON schema file.
-
-Returns:
-  Prototype object based on the schema, in Python code with comments.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="to_str"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">to_str</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">from_cache</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.schema-pysrc.html#_SchemaToStruct.to_str">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Prototype object based on the schema, in Python code with comments.
-
-Args:
-  from_cache: callable(name, seen), Callable that retrieves an object
-     prototype for a schema with the given name. Seen is a list of schema
-     names already seen as we recursively descend the schema definition.
-
-Returns:
-  Prototype object based on the schema, in Python code with comments.
-  The lines of the code will all be properly indented.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/class-tree.html b/docs/epy/class-tree.html
deleted file mode 100644
index b626b6b..0000000
--- a/docs/epy/class-tree.html
+++ /dev/null
@@ -1,247 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>Class Hierarchy</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">&nbsp;</td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="class-tree.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<center><b>
- [ <a href="module-tree.html">Module Hierarchy</a>
- | <a href="class-tree.html">Class Hierarchy</a> ]
-</b></center><br />
-<h1 class="epydoc">Class Hierarchy</h1>
-<ul class="nomargin-top">
-    <li> <strong class="uidlink"><i>unreachable</i></strong>
-    </li>
-    <li> <strong class="uidlink"><i>unreachable</i></strong>
-    </li>
-    <li> <strong class="uidlink"><i>unreachable</i></strong>
-    </li>
-    <li> <strong class="uidlink"><i>unreachable</i></strong>
-    </li>
-    <li> <strong class="uidlink">SocketServer.BaseRequestHandler</strong>:
-      <em class="summary">Base class for request handler classes.</em>
-    </li>
-    <li> <strong class="uidlink">SocketServer.BaseServer</strong>:
-      <em class="summary">Base class for server classes.</em>
-    </li>
-    <li> <strong class="uidlink">django.db.models.Field</strong>
-    </li>
-    <li> <strong class="uidlink">django.db.models.Field</strong>
-    </li>
-    <li> <strong class="uidlink">object</strong>:
-      <em class="summary">The most base type</em>
-    <ul>
-    <li> <strong class="uidlink">exceptions.BaseException</strong>:
-      <em class="summary">Common base class for all exceptions</em>
-    <ul>
-    <li> <strong class="uidlink">exceptions.Exception</strong>:
-      <em class="summary">Common base class for all non-exit exceptions.</em>
-    <ul>
-    <li> <strong class="uidlink"><a href="oauth2client.locked_file.AlreadyLockedException-class.html">oauth2client.locked_file.AlreadyLockedException</a></strong>:
-      <em class="summary">Trying to lock a file that has already been locked by the LockedFile.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.crypt.AppIdentityError-class.html">oauth2client.crypt.AppIdentityError</a></strong>
-    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.locked_file.CredentialsFileSymbolicLinkError-class.html">oauth2client.locked_file.CredentialsFileSymbolicLinkError</a></strong>:
-      <em class="summary">Credentials files must not be symbolic links.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.file.CredentialsFileSymbolicLinkError-class.html">oauth2client.file.CredentialsFileSymbolicLinkError</a></strong>:
-      <em class="summary">Credentials files must not be symbolic links.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.errors.Error-class.html">apiclient.errors.Error</a></strong>:
-      <em class="summary">Base error for this module.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.clientsecrets.Error-class.html">oauth2client.clientsecrets.Error</a></strong>:
-      <em class="summary">Base error for this module.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.multistore_file.Error-class.html">oauth2client.multistore_file.Error</a></strong>:
-      <em class="summary">Base error for this module.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.client.Error-class.html">oauth2client.client.Error</a></strong>:
-      <em class="summary">Base error for this module.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.appengine.InvalidClientSecretsError-class.html">oauth2client.appengine.InvalidClientSecretsError</a></strong>:
-      <em class="summary">The client_secrets.json file is malformed or missing required fields.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.appengine.InvalidXsrfTokenError-class.html">oauth2client.appengine.InvalidXsrfTokenError</a></strong>:
-      <em class="summary">The XSRF token is invalid or expired.</em>
-    </li>
-    </ul>
-    </li>
-    </ul>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.http.BatchHttpRequest-class.html">apiclient.http.BatchHttpRequest</a></strong>:
-      <em class="summary">Batches multiple HttpRequest objects into a single HTTP request.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.channel.Channel-class.html">apiclient.channel.Channel</a></strong>:
-      <em class="summary">A Channel for notifications.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.client.Credentials-class.html">oauth2client.client.Credentials</a></strong>:
-      <em class="summary">Base class for all Credentials objects.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.client.Flow-class.html">oauth2client.client.Flow</a></strong>:
-      <em class="summary">Base class for all Flow objects.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.http.HttpMock-class.html">apiclient.http.HttpMock</a></strong>:
-      <em class="summary">Mock of httplib2.Http</em>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.http.HttpMockSequence-class.html">apiclient.http.HttpMockSequence</a></strong>:
-      <em class="summary">Mock of httplib2.Http</em>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.http.HttpRequest-class.html">apiclient.http.HttpRequest</a></strong>:
-      <em class="summary">Encapsulates a single HTTP request.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.http.HttpRequestMock-class.html">apiclient.http.HttpRequestMock</a></strong>:
-      <em class="summary">Mock of HttpRequest.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.locked_file.LockedFile-class.html">oauth2client.locked_file.LockedFile</a></strong>:
-      <em class="summary">Represent a file that has exclusive access.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.http.MediaDownloadProgress-class.html">apiclient.http.MediaDownloadProgress</a></strong>:
-      <em class="summary">Status of a resumable download.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.http.MediaIoBaseDownload-class.html">apiclient.http.MediaIoBaseDownload</a></strong>:
-      <em class="summary">&quot;Download media resources.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.http.MediaUpload-class.html">apiclient.http.MediaUpload</a></strong>:
-      <em class="summary">Describes a media object to upload.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.http.MediaUploadProgress-class.html">apiclient.http.MediaUploadProgress</a></strong>:
-      <em class="summary">Status of a resumable upload.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.client.MemoryCache-class.html">oauth2client.client.MemoryCache</a></strong>:
-      <em class="summary">httplib2 Cache implementation which only caches locally.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.model.Model-class.html">apiclient.model.Model</a></strong>:
-      <em class="summary">Model base class.</em>
-    </li>
-    <li> <strong class="uidlink">google.appengine.ext.db.Model</strong>:
-      <em class="summary">Model is the superclass of all object entities in the datastore.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.channel.Notification-class.html">apiclient.channel.Notification</a></strong>:
-      <em class="summary">A Notification from a Channel.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.appengine.OAuth2Decorator-class.html">oauth2client.appengine.OAuth2Decorator</a></strong>:
-      <em class="summary">Utility for making OAuth 2.0 easier.</em>
-    </li>
-    <li> <strong class="uidlink">google.appengine.ext.db.Property</strong>:
-      <em class="summary">A Property is an attribute of a Model.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.http.RequestMockBuilder-class.html">apiclient.http.RequestMockBuilder</a></strong>:
-      <em class="summary">A simple mock of HttpRequest</em>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.discovery.Resource-class.html" onclick="show_private();">apiclient.discovery.Resource</a></strong>:
-      <em class="summary">A class for interacting with a resource.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.discovery.ResourceMethodParameters-class.html" onclick="show_private();">apiclient.discovery.ResourceMethodParameters</a></strong>:
-      <em class="summary">Represents the parameters associated with a method.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.schema.Schemas-class.html">apiclient.schema.Schemas</a></strong>:
-      <em class="summary">Schemas for an API.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.client.Storage-class.html">oauth2client.client.Storage</a></strong>:
-      <em class="summary">Base class for all Storage objects.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.multistore_file._MultiStore-class.html" onclick="show_private();">oauth2client.multistore_file._MultiStore</a></strong>:
-      <em class="summary">A file backed store for multiple credentials.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.locked_file._Opener-class.html" onclick="show_private();">oauth2client.locked_file._Opener</a></strong>:
-      <em class="summary">Base class for different locking primitives.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.schema._SchemaToStruct-class.html" onclick="show_private();">apiclient.schema._SchemaToStruct</a></strong>:
-      <em class="summary">Convert schema to a prototype object.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="apiclient.http._StreamSlice-class.html" onclick="show_private();">apiclient.http._StreamSlice</a></strong>:
-      <em class="summary">Truncated stream.</em>
-    </li>
-    <li> <strong class="uidlink">type</strong>:
-      <em class="summary">type(object) -&gt; the object's type...</em>
-    </li>
-    </ul>
-    </li>
-</ul>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/class_hierarchy_for__multistor.gif b/docs/epy/class_hierarchy_for__multistor.gif
deleted file mode 100644
index 9dc2203..0000000
--- a/docs/epy/class_hierarchy_for__multistor.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for__opener.gif b/docs/epy/class_hierarchy_for__opener.gif
deleted file mode 100644
index 445909d..0000000
--- a/docs/epy/class_hierarchy_for__opener.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for__posixopen.gif b/docs/epy/class_hierarchy_for__posixopen.gif
deleted file mode 100644
index 9cc2ca7..0000000
--- a/docs/epy/class_hierarchy_for__posixopen.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for__schematos.gif b/docs/epy/class_hierarchy_for__schematos.gif
deleted file mode 100644
index d1d0878..0000000
--- a/docs/epy/class_hierarchy_for__schematos.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for__storage.gif b/docs/epy/class_hierarchy_for__storage.gif
deleted file mode 100644
index 6424144..0000000
--- a/docs/epy/class_hierarchy_for__storage.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for__streamsli.gif b/docs/epy/class_hierarchy_for__streamsli.gif
deleted file mode 100644
index 70f81bb..0000000
--- a/docs/epy/class_hierarchy_for__streamsli.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_accesstoke.gif b/docs/epy/class_hierarchy_for_accesstoke.gif
deleted file mode 100644
index 03636b9..0000000
--- a/docs/epy/class_hierarchy_for_accesstoke.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_accesstoke_2.gif b/docs/epy/class_hierarchy_for_accesstoke_2.gif
deleted file mode 100644
index dd6c267..0000000
--- a/docs/epy/class_hierarchy_for_accesstoke_2.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_accesstoke_3.gif b/docs/epy/class_hierarchy_for_accesstoke_3.gif
deleted file mode 100644
index aee6259..0000000
--- a/docs/epy/class_hierarchy_for_accesstoke_3.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_alreadyloc.gif b/docs/epy/class_hierarchy_for_alreadyloc.gif
deleted file mode 100644
index 8dfea23..0000000
--- a/docs/epy/class_hierarchy_for_alreadyloc.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_appasserti.gif b/docs/epy/class_hierarchy_for_appasserti.gif
deleted file mode 100644
index fa78256..0000000
--- a/docs/epy/class_hierarchy_for_appasserti.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_appasserti_2.gif b/docs/epy/class_hierarchy_for_appasserti_2.gif
deleted file mode 100644
index 8bbe382..0000000
--- a/docs/epy/class_hierarchy_for_appasserti_2.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_appidentit.gif b/docs/epy/class_hierarchy_for_appidentit.gif
deleted file mode 100644
index 1ef90cb..0000000
--- a/docs/epy/class_hierarchy_for_appidentit.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_assertionc.gif b/docs/epy/class_hierarchy_for_assertionc.gif
deleted file mode 100644
index 8583032..0000000
--- a/docs/epy/class_hierarchy_for_assertionc.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_basemodel.gif b/docs/epy/class_hierarchy_for_basemodel.gif
deleted file mode 100644
index aff85a1..0000000
--- a/docs/epy/class_hierarchy_for_basemodel.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_batcherror.gif b/docs/epy/class_hierarchy_for_batcherror.gif
deleted file mode 100644
index 225dcb6..0000000
--- a/docs/epy/class_hierarchy_for_batcherror.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_batchhttpr.gif b/docs/epy/class_hierarchy_for_batchhttpr.gif
deleted file mode 100644
index 6bdfa57..0000000
--- a/docs/epy/class_hierarchy_for_batchhttpr.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_channel.gif b/docs/epy/class_hierarchy_for_channel.gif
deleted file mode 100644
index 61a45e5..0000000
--- a/docs/epy/class_hierarchy_for_channel.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_clientredi.gif b/docs/epy/class_hierarchy_for_clientredi.gif
deleted file mode 100644
index 61f7566..0000000
--- a/docs/epy/class_hierarchy_for_clientredi.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_clientredi_2.gif b/docs/epy/class_hierarchy_for_clientredi_2.gif
deleted file mode 100644
index 4665075..0000000
--- a/docs/epy/class_hierarchy_for_clientredi_2.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_credential.gif b/docs/epy/class_hierarchy_for_credential.gif
deleted file mode 100644
index 4508596..0000000
--- a/docs/epy/class_hierarchy_for_credential.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_credential_2.gif b/docs/epy/class_hierarchy_for_credential_2.gif
deleted file mode 100644
index fa83cf4..0000000
--- a/docs/epy/class_hierarchy_for_credential_2.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_credential_3.gif b/docs/epy/class_hierarchy_for_credential_3.gif
deleted file mode 100644
index d7314f0..0000000
--- a/docs/epy/class_hierarchy_for_credential_3.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_credential_4.gif b/docs/epy/class_hierarchy_for_credential_4.gif
deleted file mode 100644
index 154a557..0000000
--- a/docs/epy/class_hierarchy_for_credential_4.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_credential_5.gif b/docs/epy/class_hierarchy_for_credential_5.gif
deleted file mode 100644
index 7cde236..0000000
--- a/docs/epy/class_hierarchy_for_credential_5.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_credential_6.gif b/docs/epy/class_hierarchy_for_credential_6.gif
deleted file mode 100644
index e1d536c..0000000
--- a/docs/epy/class_hierarchy_for_credential_6.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_credential_7.gif b/docs/epy/class_hierarchy_for_credential_7.gif
deleted file mode 100644
index ce6c762..0000000
--- a/docs/epy/class_hierarchy_for_credential_7.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_credential_8.gif b/docs/epy/class_hierarchy_for_credential_8.gif
deleted file mode 100644
index ce6c762..0000000
--- a/docs/epy/class_hierarchy_for_credential_8.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_error.gif b/docs/epy/class_hierarchy_for_error.gif
deleted file mode 100644
index 327177b..0000000
--- a/docs/epy/class_hierarchy_for_error.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_error_2.gif b/docs/epy/class_hierarchy_for_error_2.gif
deleted file mode 100644
index 327177b..0000000
--- a/docs/epy/class_hierarchy_for_error_2.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_error_3.gif b/docs/epy/class_hierarchy_for_error_3.gif
deleted file mode 100644
index 327177b..0000000
--- a/docs/epy/class_hierarchy_for_error_3.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_error_4.gif b/docs/epy/class_hierarchy_for_error_4.gif
deleted file mode 100644
index 327177b..0000000
--- a/docs/epy/class_hierarchy_for_error_4.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_flow.gif b/docs/epy/class_hierarchy_for_flow.gif
deleted file mode 100644
index 6d0db9f..0000000
--- a/docs/epy/class_hierarchy_for_flow.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_flowexchan.gif b/docs/epy/class_hierarchy_for_flowexchan.gif
deleted file mode 100644
index 90026b9..0000000
--- a/docs/epy/class_hierarchy_for_flowexchan.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_flowfield.gif b/docs/epy/class_hierarchy_for_flowfield.gif
deleted file mode 100644
index 7aafae3..0000000
--- a/docs/epy/class_hierarchy_for_flowfield.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_flowndbpro.gif b/docs/epy/class_hierarchy_for_flowndbpro.gif
deleted file mode 100644
index ae06883..0000000
--- a/docs/epy/class_hierarchy_for_flowndbpro.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_flowproper.gif b/docs/epy/class_hierarchy_for_flowproper.gif
deleted file mode 100644
index e8d68e8..0000000
--- a/docs/epy/class_hierarchy_for_flowproper.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_headers.gif b/docs/epy/class_hierarchy_for_headers.gif
deleted file mode 100644
index b8d8a7f..0000000
--- a/docs/epy/class_hierarchy_for_headers.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_httperror.gif b/docs/epy/class_hierarchy_for_httperror.gif
deleted file mode 100644
index c90ba06..0000000
--- a/docs/epy/class_hierarchy_for_httperror.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_httpmock.gif b/docs/epy/class_hierarchy_for_httpmock.gif
deleted file mode 100644
index eed409f..0000000
--- a/docs/epy/class_hierarchy_for_httpmock.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_httpmockse.gif b/docs/epy/class_hierarchy_for_httpmockse.gif
deleted file mode 100644
index bd99d87..0000000
--- a/docs/epy/class_hierarchy_for_httpmockse.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_httpreques.gif b/docs/epy/class_hierarchy_for_httpreques.gif
deleted file mode 100644
index eccadf5..0000000
--- a/docs/epy/class_hierarchy_for_httpreques.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_httpreques_2.gif b/docs/epy/class_hierarchy_for_httpreques_2.gif
deleted file mode 100644
index 3424040..0000000
--- a/docs/epy/class_hierarchy_for_httpreques_2.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_invalidchu.gif b/docs/epy/class_hierarchy_for_invalidchu.gif
deleted file mode 100644
index 4956f12..0000000
--- a/docs/epy/class_hierarchy_for_invalidchu.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_invalidcli.gif b/docs/epy/class_hierarchy_for_invalidcli.gif
deleted file mode 100644
index 0920c56..0000000
--- a/docs/epy/class_hierarchy_for_invalidcli.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_invalidcli_2.gif b/docs/epy/class_hierarchy_for_invalidcli_2.gif
deleted file mode 100644
index 99b0be1..0000000
--- a/docs/epy/class_hierarchy_for_invalidcli_2.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_invalidjso.gif b/docs/epy/class_hierarchy_for_invalidjso.gif
deleted file mode 100644
index a8c7082..0000000
--- a/docs/epy/class_hierarchy_for_invalidjso.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_invalidnot.gif b/docs/epy/class_hierarchy_for_invalidnot.gif
deleted file mode 100644
index b0a5feb..0000000
--- a/docs/epy/class_hierarchy_for_invalidnot.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_invalidsub.gif b/docs/epy/class_hierarchy_for_invalidsub.gif
deleted file mode 100644
index 72f7598..0000000
--- a/docs/epy/class_hierarchy_for_invalidsub.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_invalidxsr.gif b/docs/epy/class_hierarchy_for_invalidxsr.gif
deleted file mode 100644
index c1b427e..0000000
--- a/docs/epy/class_hierarchy_for_invalidxsr.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_jsonmodel.gif b/docs/epy/class_hierarchy_for_jsonmodel.gif
deleted file mode 100644
index c2ff0b1..0000000
--- a/docs/epy/class_hierarchy_for_jsonmodel.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_lockedfile.gif b/docs/epy/class_hierarchy_for_lockedfile.gif
deleted file mode 100644
index eb0d0cc..0000000
--- a/docs/epy/class_hierarchy_for_lockedfile.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_mediadownl.gif b/docs/epy/class_hierarchy_for_mediadownl.gif
deleted file mode 100644
index ac14ec9..0000000
--- a/docs/epy/class_hierarchy_for_mediadownl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_mediafileu.gif b/docs/epy/class_hierarchy_for_mediafileu.gif
deleted file mode 100644
index 8b75e15..0000000
--- a/docs/epy/class_hierarchy_for_mediafileu.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_mediainmem.gif b/docs/epy/class_hierarchy_for_mediainmem.gif
deleted file mode 100644
index 5263847..0000000
--- a/docs/epy/class_hierarchy_for_mediainmem.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_mediaiobas.gif b/docs/epy/class_hierarchy_for_mediaiobas.gif
deleted file mode 100644
index 8fd78f9..0000000
--- a/docs/epy/class_hierarchy_for_mediaiobas.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_mediaiobas_2.gif b/docs/epy/class_hierarchy_for_mediaiobas_2.gif
deleted file mode 100644
index 2347070..0000000
--- a/docs/epy/class_hierarchy_for_mediaiobas_2.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_mediamodel.gif b/docs/epy/class_hierarchy_for_mediamodel.gif
deleted file mode 100644
index 8a5be22..0000000
--- a/docs/epy/class_hierarchy_for_mediamodel.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_mediauploa.gif b/docs/epy/class_hierarchy_for_mediauploa.gif
deleted file mode 100644
index a2bcc3c..0000000
--- a/docs/epy/class_hierarchy_for_mediauploa.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_mediauploa_2.gif b/docs/epy/class_hierarchy_for_mediauploa_2.gif
deleted file mode 100644
index c7aed83..0000000
--- a/docs/epy/class_hierarchy_for_mediauploa_2.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_mediauploa_3.gif b/docs/epy/class_hierarchy_for_mediauploa_3.gif
deleted file mode 100644
index 5311017..0000000
--- a/docs/epy/class_hierarchy_for_mediauploa_3.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_memorycach.gif b/docs/epy/class_hierarchy_for_memorycach.gif
deleted file mode 100644
index af3b32d..0000000
--- a/docs/epy/class_hierarchy_for_memorycach.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_model.gif b/docs/epy/class_hierarchy_for_model.gif
deleted file mode 100644
index fba3815..0000000
--- a/docs/epy/class_hierarchy_for_model.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_newercrede.gif b/docs/epy/class_hierarchy_for_newercrede.gif
deleted file mode 100644
index 2737927..0000000
--- a/docs/epy/class_hierarchy_for_newercrede.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_nonasciihe.gif b/docs/epy/class_hierarchy_for_nonasciihe.gif
deleted file mode 100644
index 9fe346a..0000000
--- a/docs/epy/class_hierarchy_for_nonasciihe.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_notificati.gif b/docs/epy/class_hierarchy_for_notificati.gif
deleted file mode 100644
index 0e5353b..0000000
--- a/docs/epy/class_hierarchy_for_notificati.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_oauth2cred.gif b/docs/epy/class_hierarchy_for_oauth2cred.gif
deleted file mode 100644
index 6157d04..0000000
--- a/docs/epy/class_hierarchy_for_oauth2cred.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_oauth2deco.gif b/docs/epy/class_hierarchy_for_oauth2deco.gif
deleted file mode 100644
index 3e7a7cd..0000000
--- a/docs/epy/class_hierarchy_for_oauth2deco.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_oauth2deco_2.gif b/docs/epy/class_hierarchy_for_oauth2deco_2.gif
deleted file mode 100644
index ac303e0..0000000
--- a/docs/epy/class_hierarchy_for_oauth2deco_2.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_oauth2webs.gif b/docs/epy/class_hierarchy_for_oauth2webs.gif
deleted file mode 100644
index b39f4a4..0000000
--- a/docs/epy/class_hierarchy_for_oauth2webs.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_propertied.gif b/docs/epy/class_hierarchy_for_propertied.gif
deleted file mode 100644
index ba2073c..0000000
--- a/docs/epy/class_hierarchy_for_propertied.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_protocolbu.gif b/docs/epy/class_hierarchy_for_protocolbu.gif
deleted file mode 100644
index cc415c6..0000000
--- a/docs/epy/class_hierarchy_for_protocolbu.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_rawmodel.gif b/docs/epy/class_hierarchy_for_rawmodel.gif
deleted file mode 100644
index 4b4834b..0000000
--- a/docs/epy/class_hierarchy_for_rawmodel.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_requestmoc.gif b/docs/epy/class_hierarchy_for_requestmoc.gif
deleted file mode 100644
index 569c9fc..0000000
--- a/docs/epy/class_hierarchy_for_requestmoc.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_resource.gif b/docs/epy/class_hierarchy_for_resource.gif
deleted file mode 100644
index aa582e3..0000000
--- a/docs/epy/class_hierarchy_for_resource.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_resourceme.gif b/docs/epy/class_hierarchy_for_resourceme.gif
deleted file mode 100644
index e36dd3f..0000000
--- a/docs/epy/class_hierarchy_for_resourceme.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_resumableu.gif b/docs/epy/class_hierarchy_for_resumableu.gif
deleted file mode 100644
index 9667f4c..0000000
--- a/docs/epy/class_hierarchy_for_resumableu.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_schemas.gif b/docs/epy/class_hierarchy_for_schemas.gif
deleted file mode 100644
index 368a5e4..0000000
--- a/docs/epy/class_hierarchy_for_schemas.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_signedjwta.gif b/docs/epy/class_hierarchy_for_signedjwta.gif
deleted file mode 100644
index d33b047..0000000
--- a/docs/epy/class_hierarchy_for_signedjwta.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_signer.gif b/docs/epy/class_hierarchy_for_signer.gif
deleted file mode 100644
index 6250d94..0000000
--- a/docs/epy/class_hierarchy_for_signer.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_sitexsrfse.gif b/docs/epy/class_hierarchy_for_sitexsrfse.gif
deleted file mode 100644
index 06fb245..0000000
--- a/docs/epy/class_hierarchy_for_sitexsrfse.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_sitexsrfse_2.gif b/docs/epy/class_hierarchy_for_sitexsrfse_2.gif
deleted file mode 100644
index 0501be9..0000000
--- a/docs/epy/class_hierarchy_for_sitexsrfse_2.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_storage.gif b/docs/epy/class_hierarchy_for_storage.gif
deleted file mode 100644
index ce416d5..0000000
--- a/docs/epy/class_hierarchy_for_storage.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_storage_2.gif b/docs/epy/class_hierarchy_for_storage_2.gif
deleted file mode 100644
index bc4ffd8..0000000
--- a/docs/epy/class_hierarchy_for_storage_2.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_storage_3.gif b/docs/epy/class_hierarchy_for_storage_3.gif
deleted file mode 100644
index bc4ffd8..0000000
--- a/docs/epy/class_hierarchy_for_storage_3.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_storage_4.gif b/docs/epy/class_hierarchy_for_storage_4.gif
deleted file mode 100644
index bc4ffd8..0000000
--- a/docs/epy/class_hierarchy_for_storage_4.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_storagebyk.gif b/docs/epy/class_hierarchy_for_storagebyk.gif
deleted file mode 100644
index 10ac7f4..0000000
--- a/docs/epy/class_hierarchy_for_storagebyk.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_subscripti.gif b/docs/epy/class_hierarchy_for_subscripti.gif
deleted file mode 100644
index f08a644..0000000
--- a/docs/epy/class_hierarchy_for_subscripti.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_tokenrevok.gif b/docs/epy/class_hierarchy_for_tokenrevok.gif
deleted file mode 100644
index 9c52be2..0000000
--- a/docs/epy/class_hierarchy_for_tokenrevok.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_unacceptab.gif b/docs/epy/class_hierarchy_for_unacceptab.gif
deleted file mode 100644
index d93974a..0000000
--- a/docs/epy/class_hierarchy_for_unacceptab.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_unexpected.gif b/docs/epy/class_hierarchy_for_unexpected.gif
deleted file mode 100644
index 70cc018..0000000
--- a/docs/epy/class_hierarchy_for_unexpected.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_unexpected_2.gif b/docs/epy/class_hierarchy_for_unexpected_2.gif
deleted file mode 100644
index 500ff2d..0000000
--- a/docs/epy/class_hierarchy_for_unexpected_2.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_unknownapi.gif b/docs/epy/class_hierarchy_for_unknownapi.gif
deleted file mode 100644
index 05a3577..0000000
--- a/docs/epy/class_hierarchy_for_unknownapi.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_unknowncli.gif b/docs/epy/class_hierarchy_for_unknowncli.gif
deleted file mode 100644
index c329ae7..0000000
--- a/docs/epy/class_hierarchy_for_unknowncli.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_unknownfil.gif b/docs/epy/class_hierarchy_for_unknownfil.gif
deleted file mode 100644
index 50a23ce..0000000
--- a/docs/epy/class_hierarchy_for_unknownfil.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_unknownlin.gif b/docs/epy/class_hierarchy_for_unknownlin.gif
deleted file mode 100644
index 74c5d85..0000000
--- a/docs/epy/class_hierarchy_for_unknownlin.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_verifier.gif b/docs/epy/class_hierarchy_for_verifier.gif
deleted file mode 100644
index 7895633..0000000
--- a/docs/epy/class_hierarchy_for_verifier.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_verifyjwtt.gif b/docs/epy/class_hierarchy_for_verifyjwtt.gif
deleted file mode 100644
index 1e6450b..0000000
--- a/docs/epy/class_hierarchy_for_verifyjwtt.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/class_hierarchy_for_webhookcha.gif b/docs/epy/class_hierarchy_for_webhookcha.gif
deleted file mode 100644
index abb6fab..0000000
--- a/docs/epy/class_hierarchy_for_webhookcha.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/crarr.png b/docs/epy/crarr.png
deleted file mode 100644
index 26b43c5..0000000
--- a/docs/epy/crarr.png
+++ /dev/null
Binary files differ
diff --git a/docs/epy/epydoc.css b/docs/epy/epydoc.css
deleted file mode 100644
index 86d4170..0000000
--- a/docs/epy/epydoc.css
+++ /dev/null
@@ -1,322 +0,0 @@
-
-
-/* Epydoc CSS Stylesheet
- *
- * This stylesheet can be used to customize the appearance of epydoc's
- * HTML output.
- *
- */
-
-/* Default Colors & Styles
- *   - Set the default foreground & background color with 'body'; and 
- *     link colors with 'a:link' and 'a:visited'.
- *   - Use bold for decision list terms.
- *   - The heading styles defined here are used for headings *within*
- *     docstring descriptions.  All headings used by epydoc itself use
- *     either class='epydoc' or class='toc' (CSS styles for both
- *     defined below).
- */
-body                        { background: #ffffff; color: #000000; }
-p                           { margin-top: 0.5em; margin-bottom: 0.5em; }
-a:link                      { color: #0000ff; }
-a:visited                   { color: #204080; }
-dt                          { font-weight: bold; }
-h1                          { font-size: +140%; font-style: italic;
-                              font-weight: bold; }
-h2                          { font-size: +125%; font-style: italic;
-                              font-weight: bold; }
-h3                          { font-size: +110%; font-style: italic;
-                              font-weight: normal; }
-code                        { font-size: 100%; }
-/* N.B.: class, not pseudoclass */
-a.link                      { font-family: monospace; }
- 
-/* Page Header & Footer
- *   - The standard page header consists of a navigation bar (with
- *     pointers to standard pages such as 'home' and 'trees'); a
- *     breadcrumbs list, which can be used to navigate to containing
- *     classes or modules; options links, to show/hide private
- *     variables and to show/hide frames; and a page title (using
- *     <h1>).  The page title may be followed by a link to the
- *     corresponding source code (using 'span.codelink').
- *   - The footer consists of a navigation bar, a timestamp, and a
- *     pointer to epydoc's homepage.
- */ 
-h1.epydoc                   { margin: 0; font-size: +140%; font-weight: bold; }
-h2.epydoc                   { font-size: +130%; font-weight: bold; }
-h3.epydoc                   { font-size: +115%; font-weight: bold;
-                              margin-top: 0.2em; }
-td h3.epydoc                { font-size: +115%; font-weight: bold;
-                              margin-bottom: 0; }
-table.navbar                { background: #a0c0ff; color: #000000;
-                              border: 2px groove #c0d0d0; }
-table.navbar table          { color: #000000; }
-th.navbar-select            { background: #70b0ff;
-                              color: #000000; } 
-table.navbar a              { text-decoration: none; }  
-table.navbar a:link         { color: #0000ff; }
-table.navbar a:visited      { color: #204080; }
-span.breadcrumbs            { font-size: 85%; font-weight: bold; }
-span.options                { font-size: 70%; }
-span.codelink               { font-size: 85%; }
-td.footer                   { font-size: 85%; }
-
-/* Table Headers
- *   - Each summary table and details section begins with a 'header'
- *     row.  This row contains a section title (marked by
- *     'span.table-header') as well as a show/hide private link
- *     (marked by 'span.options', defined above).
- *   - Summary tables that contain user-defined groups mark those
- *     groups using 'group header' rows.
- */
-td.table-header             { background: #70b0ff; color: #000000;
-                              border: 1px solid #608090; }
-td.table-header table       { color: #000000; }
-td.table-header table a:link      { color: #0000ff; }
-td.table-header table a:visited   { color: #204080; }
-span.table-header           { font-size: 120%; font-weight: bold; }
-th.group-header             { background: #c0e0f8; color: #000000;
-                              text-align: left; font-style: italic; 
-                              font-size: 115%; 
-                              border: 1px solid #608090; }
-
-/* Summary Tables (functions, variables, etc)
- *   - Each object is described by a single row of the table with
- *     two cells.  The left cell gives the object's type, and is
- *     marked with 'code.summary-type'.  The right cell gives the
- *     object's name and a summary description.
- *   - CSS styles for the table's header and group headers are
- *     defined above, under 'Table Headers'
- */
-table.summary               { border-collapse: collapse;
-                              background: #e8f0f8; color: #000000;
-                              border: 1px solid #608090;
-                              margin-bottom: 0.5em; }
-td.summary                  { border: 1px solid #608090; }
-code.summary-type           { font-size: 85%; }
-table.summary a:link        { color: #0000ff; }
-table.summary a:visited     { color: #204080; }
-
-
-/* Details Tables (functions, variables, etc)
- *   - Each object is described in its own div.
- *   - A single-row summary table w/ table-header is used as
- *     a header for each details section (CSS style for table-header
- *     is defined above, under 'Table Headers').
- */
-table.details               { border-collapse: collapse;
-                              background: #e8f0f8; color: #000000;
-                              border: 1px solid #608090;
-                              margin: .2em 0 0 0; }
-table.details table         { color: #000000; }
-table.details a:link        { color: #0000ff; }
-table.details a:visited     { color: #204080; }
-
-/* Fields */
-dl.fields                   { margin-left: 2em; margin-top: 1em;
-                              margin-bottom: 1em; }
-dl.fields dd ul             { margin-left: 0em; padding-left: 0em; }
-dl.fields dd ul li ul       { margin-left: 2em; padding-left: 0em; }
-div.fields                  { margin-left: 2em; }
-div.fields p                { margin-bottom: 0.5em; }
-
-/* Index tables (identifier index, term index, etc)
- *   - link-index is used for indices containing lists of links
- *     (namely, the identifier index & term index).
- *   - index-where is used in link indices for the text indicating
- *     the container/source for each link.
- *   - metadata-index is used for indices containing metadata
- *     extracted from fields (namely, the bug index & todo index).
- */
-table.link-index            { border-collapse: collapse;
-                              background: #e8f0f8; color: #000000;
-                              border: 1px solid #608090; }
-td.link-index               { border-width: 0px; }
-table.link-index a:link     { color: #0000ff; }
-table.link-index a:visited  { color: #204080; }
-span.index-where            { font-size: 70%; }
-table.metadata-index        { border-collapse: collapse;
-                              background: #e8f0f8; color: #000000;
-                              border: 1px solid #608090; 
-                              margin: .2em 0 0 0; }
-td.metadata-index           { border-width: 1px; border-style: solid; }
-table.metadata-index a:link { color: #0000ff; }
-table.metadata-index a:visited  { color: #204080; }
-
-/* Function signatures
- *   - sig* is used for the signature in the details section.
- *   - .summary-sig* is used for the signature in the summary 
- *     table, and when listing property accessor functions.
- * */
-.sig-name                   { color: #006080; }
-.sig-arg                    { color: #008060; }
-.sig-default                { color: #602000; }
-.summary-sig                { font-family: monospace; }
-.summary-sig-name           { color: #006080; font-weight: bold; }
-table.summary a.summary-sig-name:link
-                            { color: #006080; font-weight: bold; }
-table.summary a.summary-sig-name:visited
-                            { color: #006080; font-weight: bold; }
-.summary-sig-arg            { color: #006040; }
-.summary-sig-default        { color: #501800; }
-
-/* Subclass list
- */
-ul.subclass-list { display: inline; }
-ul.subclass-list li { display: inline; }
-
-/* To render variables, classes etc. like functions */
-table.summary .summary-name { color: #006080; font-weight: bold;
-                              font-family: monospace; }
-table.summary
-     a.summary-name:link    { color: #006080; font-weight: bold;
-                              font-family: monospace; }
-table.summary
-    a.summary-name:visited  { color: #006080; font-weight: bold;
-                              font-family: monospace; }
-
-/* Variable values
- *   - In the 'variable details' sections, each varaible's value is
- *     listed in a 'pre.variable' box.  The width of this box is
- *     restricted to 80 chars; if the value's repr is longer than
- *     this it will be wrapped, using a backslash marked with
- *     class 'variable-linewrap'.  If the value's repr is longer
- *     than 3 lines, the rest will be ellided; and an ellipsis
- *     marker ('...' marked with 'variable-ellipsis') will be used.
- *   - If the value is a string, its quote marks will be marked
- *     with 'variable-quote'.
- *   - If the variable is a regexp, it is syntax-highlighted using
- *     the re* CSS classes.
- */
-pre.variable                { padding: .5em; margin: 0;
-                              background: #dce4ec; color: #000000;
-                              border: 1px solid #708890; }
-.variable-linewrap          { color: #604000; font-weight: bold; }
-.variable-ellipsis          { color: #604000; font-weight: bold; }
-.variable-quote             { color: #604000; font-weight: bold; }
-.variable-group             { color: #008000; font-weight: bold; }
-.variable-op                { color: #604000; font-weight: bold; }
-.variable-string            { color: #006030; }
-.variable-unknown           { color: #a00000; font-weight: bold; }
-.re                         { color: #000000; }
-.re-char                    { color: #006030; }
-.re-op                      { color: #600000; }
-.re-group                   { color: #003060; }
-.re-ref                     { color: #404040; }
-
-/* Base tree
- *   - Used by class pages to display the base class hierarchy.
- */
-pre.base-tree               { font-size: 80%; margin: 0; }
-
-/* Frames-based table of contents headers
- *   - Consists of two frames: one for selecting modules; and
- *     the other listing the contents of the selected module.
- *   - h1.toc is used for each frame's heading
- *   - h2.toc is used for subheadings within each frame.
- */
-h1.toc                      { text-align: center; font-size: 105%;
-                              margin: 0; font-weight: bold;
-                              padding: 0; }
-h2.toc                      { font-size: 100%; font-weight: bold; 
-                              margin: 0.5em 0 0 -0.3em; }
-
-/* Syntax Highlighting for Source Code
- *   - doctest examples are displayed in a 'pre.py-doctest' block.
- *     If the example is in a details table entry, then it will use
- *     the colors specified by the 'table pre.py-doctest' line.
- *   - Source code listings are displayed in a 'pre.py-src' block.
- *     Each line is marked with 'span.py-line' (used to draw a line
- *     down the left margin, separating the code from the line
- *     numbers).  Line numbers are displayed with 'span.py-lineno'.
- *     The expand/collapse block toggle button is displayed with
- *     'a.py-toggle' (Note: the CSS style for 'a.py-toggle' should not
- *     modify the font size of the text.)
- *   - If a source code page is opened with an anchor, then the
- *     corresponding code block will be highlighted.  The code
- *     block's header is highlighted with 'py-highlight-hdr'; and
- *     the code block's body is highlighted with 'py-highlight'.
- *   - The remaining py-* classes are used to perform syntax
- *     highlighting (py-string for string literals, py-name for names,
- *     etc.)
- */
-pre.py-doctest              { padding: .5em; margin: 1em;
-                              background: #e8f0f8; color: #000000;
-                              border: 1px solid #708890; }
-table pre.py-doctest        { background: #dce4ec;
-                              color: #000000; }
-pre.py-src                  { border: 2px solid #000000; 
-                              background: #f0f0f0; color: #000000; }
-.py-line                    { border-left: 2px solid #000000; 
-                              margin-left: .2em; padding-left: .4em; }
-.py-lineno                  { font-style: italic; font-size: 90%;
-                              padding-left: .5em; }
-a.py-toggle                 { text-decoration: none; }
-div.py-highlight-hdr        { border-top: 2px solid #000000;
-                              border-bottom: 2px solid #000000;
-                              background: #d8e8e8; }
-div.py-highlight            { border-bottom: 2px solid #000000;
-                              background: #d0e0e0; }
-.py-prompt                  { color: #005050; font-weight: bold;}
-.py-more                    { color: #005050; font-weight: bold;}
-.py-string                  { color: #006030; }
-.py-comment                 { color: #003060; }
-.py-keyword                 { color: #600000; }
-.py-output                  { color: #404040; }
-.py-name                    { color: #000050; }
-.py-name:link               { color: #000050 !important; }
-.py-name:visited            { color: #000050 !important; }
-.py-number                  { color: #005000; }
-.py-defname                 { color: #000060; font-weight: bold; }
-.py-def-name                { color: #000060; font-weight: bold; }
-.py-base-class              { color: #000060; }
-.py-param                   { color: #000060; }
-.py-docstring               { color: #006030; }
-.py-decorator               { color: #804020; }
-/* Use this if you don't want links to names underlined: */
-/*a.py-name                   { text-decoration: none; }*/
-
-/* Graphs & Diagrams
- *   - These CSS styles are used for graphs & diagrams generated using
- *     Graphviz dot.  'img.graph-without-title' is used for bare
- *     diagrams (to remove the border created by making the image
- *     clickable).
- */
-img.graph-without-title     { border: none; }
-img.graph-with-title        { border: 1px solid #000000; }
-span.graph-title            { font-weight: bold; }
-span.graph-caption          { }
-
-/* General-purpose classes
- *   - 'p.indent-wrapped-lines' defines a paragraph whose first line
- *     is not indented, but whose subsequent lines are.
- *   - The 'nomargin-top' class is used to remove the top margin (e.g.
- *     from lists).  The 'nomargin' class is used to remove both the
- *     top and bottom margin (but not the left or right margin --
- *     for lists, that would cause the bullets to disappear.)
- */
-p.indent-wrapped-lines      { padding: 0 0 0 7em; text-indent: -7em; 
-                              margin: 0; }
-.nomargin-top               { margin-top: 0; }
-.nomargin                   { margin-top: 0; margin-bottom: 0; }
-
-/* HTML Log */
-div.log-block               { padding: 0; margin: .5em 0 .5em 0;
-                              background: #e8f0f8; color: #000000;
-                              border: 1px solid #000000; }
-div.log-error               { padding: .1em .3em .1em .3em; margin: 4px;
-                              background: #ffb0b0; color: #000000;
-                              border: 1px solid #000000; }
-div.log-warning             { padding: .1em .3em .1em .3em; margin: 4px;
-                              background: #ffffb0; color: #000000;
-                              border: 1px solid #000000; }
-div.log-info               { padding: .1em .3em .1em .3em; margin: 4px;
-                              background: #b0ffb0; color: #000000;
-                              border: 1px solid #000000; }
-h2.log-hdr                  { background: #70b0ff; color: #000000;
-                              margin: 0; padding: 0em 0.5em 0em 0.5em;
-                              border-bottom: 1px solid #000000; font-size: 110%; }
-p.log                       { font-weight: bold; margin: .5em 0 .5em 0; }
-tr.opt-changed              { color: #000000; font-weight: bold; }
-tr.opt-default              { color: #606060; }
-pre.log                     { margin: 0; padding: 0; padding-left: 1em; }
diff --git a/docs/epy/epydoc.js b/docs/epy/epydoc.js
deleted file mode 100644
index e787dbc..0000000
--- a/docs/epy/epydoc.js
+++ /dev/null
@@ -1,293 +0,0 @@
-function toggle_private() {
-        // Search for any private/public links on this page.  Store
-        // their old text in "cmd," so we will know what action to
-        // take; and change their text to the opposite action.
-        var cmd = "?";
-        var elts = document.getElementsByTagName("a");
-        for(var i=0; i<elts.length; i++) {
-          if (elts[i].className == "privatelink") {
-            cmd = elts[i].innerHTML;
-            elts[i].innerHTML = ((cmd && cmd.substr(0,4)=="show")?
-                                    "hide&nbsp;private":"show&nbsp;private");
-          }
-        }
-        // Update all DIVs containing private objects.
-        var elts = document.getElementsByTagName("div");
-        for(var i=0; i<elts.length; i++) {
-          if (elts[i].className == "private") {
-            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
-          }
-          else if (elts[i].className == "public") {
-            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"block":"none");
-          }
-        }
-        // Update all table rows containing private objects.  Note, we
-        // use "" instead of "block" becaue IE & firefox disagree on what
-        // this should be (block vs table-row), and "" just gives the
-        // default for both browsers.
-        var elts = document.getElementsByTagName("tr");
-        for(var i=0; i<elts.length; i++) {
-          if (elts[i].className == "private") {
-            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"");
-          }
-        }
-        // Update all list items containing private objects.
-        var elts = document.getElementsByTagName("li");
-        for(var i=0; i<elts.length; i++) {
-          if (elts[i].className == "private") {
-            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?
-                                        "none":"");
-          }
-        }
-        // Update all list items containing private objects.
-        var elts = document.getElementsByTagName("ul");
-        for(var i=0; i<elts.length; i++) {
-          if (elts[i].className == "private") {
-            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
-          }
-        }
-        // Set a cookie to remember the current option.
-        document.cookie = "EpydocPrivate="+cmd;
-      }
-function show_private() {
-        var elts = document.getElementsByTagName("a");
-        for(var i=0; i<elts.length; i++) {
-          if (elts[i].className == "privatelink") {
-            cmd = elts[i].innerHTML;
-            if (cmd && cmd.substr(0,4)=="show")
-                toggle_private();
-          }
-        }
-      }
-function getCookie(name) {
-        var dc = document.cookie;
-        var prefix = name + "=";
-        var begin = dc.indexOf("; " + prefix);
-        if (begin == -1) {
-          begin = dc.indexOf(prefix);
-          if (begin != 0) return null;
-        } else
-        { begin += 2; }
-        var end = document.cookie.indexOf(";", begin);
-        if (end == -1)
-        { end = dc.length; }
-        return unescape(dc.substring(begin + prefix.length, end));
-      }
-function setFrame(url1, url2) {
-          parent.frames[1].location.href = url1;
-          parent.frames[2].location.href = url2;
-      }
-function checkCookie() {
-        var cmd=getCookie("EpydocPrivate");
-        if (cmd && cmd.substr(0,4)!="show" && location.href.indexOf("#_") < 0)
-            toggle_private();
-      }
-function toggleCallGraph(id) {
-        var elt = document.getElementById(id);
-        if (elt.style.display == "none")
-            elt.style.display = "block";
-        else
-            elt.style.display = "none";
-      }
-function expand(id) {
-  var elt = document.getElementById(id+"-expanded");
-  if (elt) elt.style.display = "block";
-  var elt = document.getElementById(id+"-expanded-linenums");
-  if (elt) elt.style.display = "block";
-  var elt = document.getElementById(id+"-collapsed");
-  if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
-  var elt = document.getElementById(id+"-collapsed-linenums");
-  if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
-  var elt = document.getElementById(id+"-toggle");
-  if (elt) { elt.innerHTML = "-"; }
-}
-
-function collapse(id) {
-  var elt = document.getElementById(id+"-expanded");
-  if (elt) elt.style.display = "none";
-  var elt = document.getElementById(id+"-expanded-linenums");
-  if (elt) elt.style.display = "none";
-  var elt = document.getElementById(id+"-collapsed-linenums");
-  if (elt) { elt.innerHTML = "<br />"; elt.style.display="block"; }
-  var elt = document.getElementById(id+"-toggle");
-  if (elt) { elt.innerHTML = "+"; }
-  var elt = document.getElementById(id+"-collapsed");
-  if (elt) {
-    elt.style.display = "block";
-    
-    var indent = elt.getAttribute("indent");
-    var pad = elt.getAttribute("pad");
-    var s = "<tt class='py-lineno'>";
-    for (var i=0; i<pad.length; i++) { s += "&nbsp;" }
-    s += "</tt>";
-    s += "&nbsp;&nbsp;<tt class='py-line'>";
-    for (var i=0; i<indent.length; i++) { s += "&nbsp;" }
-    s += "<a href='#' onclick='expand(\"" + id;
-    s += "\");return false'>...</a></tt><br />";
-    elt.innerHTML = s;
-  }
-}
-
-function toggle(id) {
-  elt = document.getElementById(id+"-toggle");
-  if (elt.innerHTML == "-")
-      collapse(id); 
-  else
-      expand(id);
-  return false;
-}
-
-function highlight(id) {
-  var elt = document.getElementById(id+"-def");
-  if (elt) elt.className = "py-highlight-hdr";
-  var elt = document.getElementById(id+"-expanded");
-  if (elt) elt.className = "py-highlight";
-  var elt = document.getElementById(id+"-collapsed");
-  if (elt) elt.className = "py-highlight";
-}
-
-function num_lines(s) {
-  var n = 1;
-  var pos = s.indexOf("\n");
-  while ( pos > 0) {
-    n += 1;
-    pos = s.indexOf("\n", pos+1);
-  }
-  return n;
-}
-
-// Collapse all blocks that mave more than `min_lines` lines.
-function collapse_all(min_lines) {
-  var elts = document.getElementsByTagName("div");
-  for (var i=0; i<elts.length; i++) {
-    var elt = elts[i];
-    var split = elt.id.indexOf("-");
-    if (split > 0)
-      if (elt.id.substring(split, elt.id.length) == "-expanded")
-        if (num_lines(elt.innerHTML) > min_lines)
-          collapse(elt.id.substring(0, split));
-  }
-}
-
-function expandto(href) {
-  var start = href.indexOf("#")+1;
-  if (start != 0 && start != href.length) {
-    if (href.substring(start, href.length) != "-") {
-      collapse_all(4);
-      pos = href.indexOf(".", start);
-      while (pos != -1) {
-        var id = href.substring(start, pos);
-        expand(id);
-        pos = href.indexOf(".", pos+1);
-      }
-      var id = href.substring(start, href.length);
-      expand(id);
-      highlight(id);
-    }
-  }
-}
-
-function kill_doclink(id) {
-  var parent = document.getElementById(id);
-  parent.removeChild(parent.childNodes.item(0));
-}
-function auto_kill_doclink(ev) {
-  if (!ev) var ev = window.event;
-  if (!this.contains(ev.toElement)) {
-    var parent = document.getElementById(this.parentID);
-    parent.removeChild(parent.childNodes.item(0));
-  }
-}
-
-function doclink(id, name, targets_id) {
-  var elt = document.getElementById(id);
-
-  // If we already opened the box, then destroy it.
-  // (This case should never occur, but leave it in just in case.)
-  if (elt.childNodes.length > 1) {
-    elt.removeChild(elt.childNodes.item(0));
-  }
-  else {
-    // The outer box: relative + inline positioning.
-    var box1 = document.createElement("div");
-    box1.style.position = "relative";
-    box1.style.display = "inline";
-    box1.style.top = 0;
-    box1.style.left = 0;
-  
-    // A shadow for fun
-    var shadow = document.createElement("div");
-    shadow.style.position = "absolute";
-    shadow.style.left = "-1.3em";
-    shadow.style.top = "-1.3em";
-    shadow.style.background = "#404040";
-    
-    // The inner box: absolute positioning.
-    var box2 = document.createElement("div");
-    box2.style.position = "relative";
-    box2.style.border = "1px solid #a0a0a0";
-    box2.style.left = "-.2em";
-    box2.style.top = "-.2em";
-    box2.style.background = "white";
-    box2.style.padding = ".3em .4em .3em .4em";
-    box2.style.fontStyle = "normal";
-    box2.onmouseout=auto_kill_doclink;
-    box2.parentID = id;
-
-    // Get the targets
-    var targets_elt = document.getElementById(targets_id);
-    var targets = targets_elt.getAttribute("targets");
-    var links = "";
-    target_list = targets.split(",");
-    for (var i=0; i<target_list.length; i++) {
-        var target = target_list[i].split("=");
-        links += "<li><a href='" + target[1] + 
-               "' style='text-decoration:none'>" +
-               target[0] + "</a></li>";
-    }
-  
-    // Put it all together.
-    elt.insertBefore(box1, elt.childNodes.item(0));
-    //box1.appendChild(box2);
-    box1.appendChild(shadow);
-    shadow.appendChild(box2);
-    box2.innerHTML =
-        "Which <b>"+name+"</b> do you want to see documentation for?" +
-        "<ul style='margin-bottom: 0;'>" +
-        links + 
-        "<li><a href='#' style='text-decoration:none' " +
-        "onclick='kill_doclink(\""+id+"\");return false;'>"+
-        "<i>None of the above</i></a></li></ul>";
-  }
-  return false;
-}
-
-function get_anchor() {
-          var href = location.href;
-          var start = href.indexOf("#")+1;
-          if ((start != 0) && (start != href.length))
-              return href.substring(start, href.length);
-      }
-function redirect_url(dottedName) {
-          // Scan through each element of the "pages" list, and check
-          // if "name" matches with any of them.
-          for (var i=0; i<pages.length; i++) {
-
-              // Each page has the form "<pagename>-m" or "<pagename>-c";
-              // extract the <pagename> portion & compare it to dottedName.
-              var pagename = pages[i].substring(0, pages[i].length-2);
-              if (pagename == dottedName.substring(0,pagename.length)) {
-
-                  // We've found a page that matches `dottedName`;
-                  // construct its URL, using leftover `dottedName`
-                  // content to form an anchor.
-                  var pagetype = pages[i].charAt(pages[i].length-1);
-                  var url = pagename + ((pagetype=="m")?"-module.html":
-                                                        "-class.html");
-                  if (dottedName.length > pagename.length)
-                      url += "#" + dottedName.substring(pagename.length+1,
-                                                        dottedName.length);
-                  return url;
-              }
-          }
-      }
diff --git a/docs/epy/frames.html b/docs/epy/frames.html
deleted file mode 100644
index e1d43f9..0000000
--- a/docs/epy/frames.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
-          "DTD/xhtml1-frameset.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title> API Documentation </title>
-</head>
-<frameset cols="20%,80%">
-  <frameset rows="30%,70%">
-    <frame src="toc.html" name="moduleListFrame"
-           id="moduleListFrame" />
-    <frame src="toc-everything.html" name="moduleFrame"
-           id="moduleFrame" />
-  </frameset>
-  <frame src="module-tree.html" name="mainFrame" id="mainFrame" />
-</frameset>
-</html>
diff --git a/docs/epy/google.appengine.ext.db.PropertiedClass-class.html b/docs/epy/google.appengine.ext.db.PropertiedClass-class.html
deleted file mode 100644
index 9eaa4ed..0000000
--- a/docs/epy/google.appengine.ext.db.PropertiedClass-class.html
+++ /dev/null
@@ -1,341 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>google.appengine.ext.db.PropertiedClass</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        google ::
-        appengine ::
-        ext ::
-        db ::
-        PropertiedClass ::
-        Class&nbsp;PropertiedClass
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="google.appengine.ext.db.PropertiedClass-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== TYPE DESCRIPTION ==================== -->
-<h1 class="epydoc">Type PropertiedClass</h1><p class="nomargin-top"></p>
-<center>
-<center>  <map id="uml_class_diagram_for_google_a" name="uml_class_diagram_for_google_a">
-<area shape="rect" id="node99" href="google.appengine.ext.db.PropertiedClass-class.html#__init__" title="Initializes a class that might have property definitions." alt="" coords="17,559,301,577"/>
-<area shape="rect" id="node1" href="google.appengine.ext.db.PropertiedClass-class.html" title="Meta&#45;class for initializing Model classes properties." alt="" coords="5,526,312,583"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="type.__abstractmethods__" alt="" coords="93,31,225,49"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="type.__base__" alt="" coords="93,49,225,68"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="type.__bases__" alt="" coords="93,68,225,87"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="type.__basicsize__" alt="" coords="93,87,225,105"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="type.__dictoffset__" alt="" coords="93,105,225,124"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="type.__flags__" alt="" coords="93,124,225,143"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="type.__itemsize__" alt="" coords="93,143,225,161"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="type.__mro__" alt="" coords="93,161,225,180"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="type.__name__" alt="" coords="93,180,225,199"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="type.__weakrefoffset__" alt="" coords="93,199,225,217"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="x(...)" alt="" coords="93,220,225,239"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="93,239,225,257"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="x==y" alt="" coords="93,257,225,276"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="x&gt;=y" alt="" coords="93,276,225,295"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="93,295,225,313"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="x&gt;y" alt="" coords="93,313,225,332"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="hash(x)" alt="" coords="93,332,225,351"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="check if an object is an instance" alt="" coords="93,351,225,369"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="x&lt;=y" alt="" coords="93,369,225,388"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="x&lt;y" alt="" coords="93,388,225,407"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="x!=y" alt="" coords="93,407,225,425"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="type.__new__" alt="" coords="93,425,225,444"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="repr(x)" alt="" coords="93,444,225,463"/>
-<area shape="rect" id="node100" href="javascript:void(0);" title="return a type&#39;s method resolution order" alt="" coords="93,481,225,500"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="type(object) &#45;&gt; the object&#39;s type..." alt="" coords="81,6,236,506"/>
-</map>
-  <img src="uml_class_diagram_for_google_a.gif" alt='' usemap="#uml_class_diagram_for_google_a" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Meta-class for initializing Model classes properties.
-
-Used for initializing Properties defined in the context of a model.
-By using a meta-class much of the configuration of a Property
-descriptor becomes implicit.  By using this meta-class, descriptors
-that are of class Model are notified about which class they
-belong to and what attribute they are associated with and can
-do appropriate initialization via __property_config__.
-
-Duplicate properties are not permitted.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"><pre class="literalblock">
-the object's type
-
-</pre></span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="google.appengine.ext.db.PropertiedClass-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">cls</span>,
-        <span class="summary-sig-arg">name</span>,
-        <span class="summary-sig-arg">bases</span>,
-        <span class="summary-sig-arg">dct</span>,
-        <span class="summary-sig-arg">map_kind</span>=<span class="summary-sig-default">True</span>)</span><br />
-      Initializes a class that might have property definitions.</td>
-          <td align="right" valign="top">
-            
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>type</code></b>:
-      <code>__call__</code>,
-      <code>__delattr__</code>,
-      <code>__eq__</code>,
-      <code>__ge__</code>,
-      <code>__getattribute__</code>,
-      <code>__gt__</code>,
-      <code>__hash__</code>,
-      <code>__instancecheck__</code>,
-      <code>__le__</code>,
-      <code>__lt__</code>,
-      <code>__ne__</code>,
-      <code>__new__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__subclasscheck__</code>,
-      <code>__subclasses__</code>,
-      <code>mro</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>type</code></b>:
-      <code>__abstractmethods__</code>,
-      <code>__base__</code>,
-      <code>__bases__</code>,
-      <code>__basicsize__</code>,
-      <code>__dictoffset__</code>,
-      <code>__flags__</code>,
-      <code>__itemsize__</code>,
-      <code>__mro__</code>,
-      <code>__name__</code>,
-      <code>__weakrefoffset__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">cls</span>,
-        <span class="sig-arg">name</span>,
-        <span class="sig-arg">bases</span>,
-        <span class="sig-arg">dct</span>,
-        <span class="sig-arg">map_kind</span>=<span class="sig-default">True</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    >&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Initializes a class that might have property definitions.
-
-This method is called when a class is created with the PropertiedClass
-meta-class.
-
-Loads all properties for this model and its base classes in to a dictionary
-for easy reflection via the 'properties' method.
-
-Configures each property defined in the new class.
-
-Duplicate properties, either defined in the new class or defined separately
-in two base classes are not permitted.
-
-Properties may not assigned to names which are in the list of
-_RESERVED_WORDS.  It is still possible to store a property using a reserved
-word in the datastore by using the 'name' keyword argument to the Property
-constructor.
-
-Args:
-  cls: Class being initialized.
-  name: Name of new class.
-  bases: Base classes of new class.
-  dct: Dictionary of new definitions for class.
-
-Raises:
-  DuplicatePropertyError when a property is duplicated either in the new
-    class or separately in two base classes.
-  ReservedWordError when a property is given a name that is in the list of
-    reserved words, attributes of Model and names of the form '__.*__'.
-
-</pre>
-  <dl class="fields">
-    <dt>Returns: <pre class="literalblock">
-the object's type
-
-</pre></dt>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/help.html b/docs/epy/help.html
deleted file mode 100644
index bee2c16..0000000
--- a/docs/epy/help.html
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>Help</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >&nbsp;&nbsp;&nbsp;Help&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">&nbsp;</td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="help.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-
-<h1 class="epydoc"> API Documentation </h1>
-
-<p> This document contains the API (Application Programming Interface)
-documentation for this project.  Documentation for the Python
-objects defined by the project is divided into separate pages for each
-package, module, and class.  The API documentation also includes two
-pages containing information about the project as a whole: a trees
-page, and an index page.  </p>
-
-<h2> Object Documentation </h2>
-
-  <p>Each <strong>Package Documentation</strong> page contains: </p>
-  <ul>
-    <li> A description of the package. </li>
-    <li> A list of the modules and sub-packages contained by the
-    package.  </li>
-    <li> A summary of the classes defined by the package. </li>
-    <li> A summary of the functions defined by the package. </li>
-    <li> A summary of the variables defined by the package. </li>
-    <li> A detailed description of each function defined by the
-    package. </li>
-    <li> A detailed description of each variable defined by the
-    package. </li>
-  </ul>
-  
-  <p>Each <strong>Module Documentation</strong> page contains:</p>
-  <ul>
-    <li> A description of the module. </li>
-    <li> A summary of the classes defined by the module. </li>
-    <li> A summary of the functions defined by the module. </li>
-    <li> A summary of the variables defined by the module. </li>
-    <li> A detailed description of each function defined by the
-    module. </li>
-    <li> A detailed description of each variable defined by the
-    module. </li>
-  </ul>
-  
-  <p>Each <strong>Class Documentation</strong> page contains: </p>
-  <ul>
-    <li> A class inheritance diagram. </li>
-    <li> A list of known subclasses. </li>
-    <li> A description of the class. </li>
-    <li> A summary of the methods defined by the class. </li>
-    <li> A summary of the instance variables defined by the class. </li>
-    <li> A summary of the class (static) variables defined by the
-    class. </li> 
-    <li> A detailed description of each method defined by the
-    class. </li>
-    <li> A detailed description of each instance variable defined by the
-    class. </li> 
-    <li> A detailed description of each class (static) variable defined
-    by the class. </li> 
-  </ul>
-
-<h2> Project Documentation </h2>
-
-  <p> The <strong>Trees</strong> page contains the module and class hierarchies: </p>
-  <ul>
-    <li> The <em>module hierarchy</em> lists every package and module, with
-    modules grouped into packages.  At the top level, and within each
-    package, modules and sub-packages are listed alphabetically. </li>
-    <li> The <em>class hierarchy</em> lists every class, grouped by base
-    class.  If a class has more than one base class, then it will be
-    listed under each base class.  At the top level, and under each base
-    class, classes are listed alphabetically. </li>
-  </ul>
-  
-  <p> The <strong>Index</strong> page contains indices of terms and
-  identifiers: </p>
-  <ul>
-    <li> The <em>term index</em> lists every term indexed by any object's
-    documentation.  For each term, the index provides links to each
-    place where the term is indexed. </li>
-    <li> The <em>identifier index</em> lists the (short) name of every package,
-    module, class, method, function, variable, and parameter.  For each
-    identifier, the index provides a short description, and a link to
-    its documentation. </li>
-  </ul>
-
-<h2> The Table of Contents </h2>
-
-<p> The table of contents occupies the two frames on the left side of
-the window.  The upper-left frame displays the <em>project
-contents</em>, and the lower-left frame displays the <em>module
-contents</em>: </p>
-
-<table class="help summary" border="1" cellspacing="0" cellpadding="3">
-  <tr style="height: 30%">
-    <td align="center" style="font-size: small">
-       Project<br />Contents<hr />...</td>
-    <td align="center" style="font-size: small" rowspan="2" width="70%">
-      API<br />Documentation<br />Frame<br /><br /><br />
-    </td>
-  </tr>
-  <tr>
-    <td align="center" style="font-size: small">
-      Module<br />Contents<hr />&nbsp;<br />...<br />&nbsp;
-    </td>
-  </tr>
-</table><br />
-
-<p> The <strong>project contents frame</strong> contains a list of all packages
-and modules that are defined by the project.  Clicking on an entry
-will display its contents in the module contents frame.  Clicking on a
-special entry, labeled "Everything," will display the contents of
-the entire project. </p>
-
-<p> The <strong>module contents frame</strong> contains a list of every
-submodule, class, type, exception, function, and variable defined by a
-module or package.  Clicking on an entry will display its
-documentation in the API documentation frame.  Clicking on the name of
-the module, at the top of the frame, will display the documentation
-for the module itself. </p>
-
-<p> The "<strong>frames</strong>" and "<strong>no frames</strong>" buttons below the top
-navigation bar can be used to control whether the table of contents is
-displayed or not. </p>
-
-<h2> The Navigation Bar </h2>
-
-<p> A navigation bar is located at the top and bottom of every page.
-It indicates what type of page you are currently viewing, and allows
-you to go to related pages.  The following table describes the labels
-on the navigation bar.  Note that not some labels (such as
-[Parent]) are not displayed on all pages. </p>
-
-<table class="summary" border="1" cellspacing="0" cellpadding="3" width="100%">
-<tr class="summary">
-  <th>Label</th>
-  <th>Highlighted when...</th>
-  <th>Links to...</th>
-</tr>
-  <tr><td valign="top"><strong>[Parent]</strong></td>
-      <td valign="top"><em>(never highlighted)</em></td>
-      <td valign="top"> the parent of the current package </td></tr>
-  <tr><td valign="top"><strong>[Package]</strong></td>
-      <td valign="top">viewing a package</td>
-      <td valign="top">the package containing the current object
-      </td></tr>
-  <tr><td valign="top"><strong>[Module]</strong></td>
-      <td valign="top">viewing a module</td>
-      <td valign="top">the module containing the current object
-      </td></tr> 
-  <tr><td valign="top"><strong>[Class]</strong></td>
-      <td valign="top">viewing a class </td>
-      <td valign="top">the class containing the current object</td></tr>
-  <tr><td valign="top"><strong>[Trees]</strong></td>
-      <td valign="top">viewing the trees page</td>
-      <td valign="top"> the trees page </td></tr>
-  <tr><td valign="top"><strong>[Index]</strong></td>
-      <td valign="top">viewing the index page</td>
-      <td valign="top"> the index page </td></tr>
-  <tr><td valign="top"><strong>[Help]</strong></td>
-      <td valign="top">viewing the help page</td>
-      <td valign="top"> the help page </td></tr>
-</table>
-
-<p> The "<strong>show private</strong>" and "<strong>hide private</strong>" buttons below
-the top navigation bar can be used to control whether documentation
-for private objects is displayed.  Private objects are usually defined
-as objects whose (short) names begin with a single underscore, but do
-not end with an underscore.  For example, "<code>_x</code>",
-"<code>__pprint</code>", and "<code>epydoc.epytext._tokenize</code>"
-are private objects; but "<code>re.sub</code>",
-"<code>__init__</code>", and "<code>type_</code>" are not.  However,
-if a module defines the "<code>__all__</code>" variable, then its
-contents are used to decide which objects are private. </p>
-
-<p> A timestamp below the bottom navigation bar indicates when each
-page was last updated. </p>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >&nbsp;&nbsp;&nbsp;Help&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/identifier-index.html b/docs/epy/identifier-index.html
deleted file mode 100644
index 8c22845..0000000
--- a/docs/epy/identifier-index.html
+++ /dev/null
@@ -1,1778 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>Identifier Index</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >&nbsp;&nbsp;&nbsp;Indices&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">&nbsp;</td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="identifier-index.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table border="0" width="100%">
-<tr valign="bottom"><td>
-<h1 class="epydoc">Identifier Index</h1>
-</td><td>
-[
- <a href="#A">A</a>
- <a href="#B">B</a>
- <a href="#C">C</a>
- <a href="#D">D</a>
- <a href="#E">E</a>
- <a href="#F">F</a>
- <a href="#G">G</a>
- <a href="#H">H</a>
- <a href="#I">I</a>
- <a href="#J">J</a>
- <a href="#K">K</a>
- <a href="#L">L</a>
- <a href="#M">M</a>
- <a href="#N">N</a>
- <a href="#O">O</a>
- <a href="#P">P</a>
- <a href="#Q">Q</a>
- <a href="#R">R</a>
- <a href="#S">S</a>
- <a href="#T">T</a>
- <a href="#U">U</a>
- <a href="#V">V</a>
-  W
- <a href="#X">X</a>
-  Y
-  Z
- <a href="#_">_</a>
-]
-</td></table>
-<table border="0" width="100%">
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="A">A</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.model.BaseModel-class.html#accept">accept</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore._Storage-class.html#acquire_lock">acquire_lock()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore._Storage-class.html" onclick="show_private();">_Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.gce.AppAssertionCredentials-class.html">AppAssertionCredentials</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.gce-module.html">oauth2client.gce</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.model.JsonModel-class.html#accept">accept</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.JsonModel-class.html">JsonModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.BatchHttpRequest-class.html#add">add()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine-module.html">appengine</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client-module.html">oauth2client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.model.MediaModel-class.html#accept">accept</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.MediaModel-class.html">MediaModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.HttpRequest-class.html#add_response_callback">add_response_callback()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.HttpRequest-class.html">HttpRequest</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.crypt.AppIdentityError-class.html">AppIdentityError</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.crypt-module.html">oauth2client.crypt</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.model.ProtocolBufferModel-class.html#accept">accept</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file.AlreadyLockedException-class.html">AlreadyLockedException</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file-module.html">oauth2client.locked_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.Credentials-class.html#apply">apply()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.Credentials-class.html">Credentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.model.RawModel-class.html#accept">accept</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.RawModel-class.html">RawModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.BaseModel-class.html#alt_param">alt_param</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html#apply">apply()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html#access_token_expired">access_token_expired()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.JsonModel-class.html#alt_param">alt_param</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.JsonModel-class.html">JsonModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.tools-module.html#argparser">argparser</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.tools-module.html">oauth2client.tools</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.AccessTokenCredentials-class.html">AccessTokenCredentials</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.MediaModel-class.html#alt_param">alt_param</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.MediaModel-class.html">MediaModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.AssertionCredentials-class.html">AssertionCredentials</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.AccessTokenCredentialsError-class.html">AccessTokenCredentialsError</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.ProtocolBufferModel-class.html#alt_param">alt_param</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.crypt-module.html#AUTH_TOKEN_LIFETIME_SECS">AUTH_TOKEN_LIFETIME_SECS</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.crypt-module.html">oauth2client.crypt</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.AccessTokenRefreshError-class.html">AccessTokenRefreshError</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.RawModel-class.html#alt_param">alt_param</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.RawModel-class.html">RawModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.Credentials-class.html#authorize">authorize()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.Credentials-class.html">Credentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.Storage-class.html#acquire_lock">acquire_lock()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.anyjson-module.html">anyjson</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client-module.html">oauth2client</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html#authorize">authorize()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.file.Storage-class.html#acquire_lock">acquire_lock()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.file.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient-module.html">apiclient</a></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2Decorator-class.html#authorize_url">authorize_url()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.keyring_storage.Storage-class.html#acquire_lock">acquire_lock()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.keyring_storage.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.AppAssertionCredentials-class.html">AppAssertionCredentials</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="B">B</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.model.BaseModel-class.html">BaseModel</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model-module.html">apiclient.model</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.mimeparse-module.html#best_match">best_match()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.mimeparse-module.html">apiclient.mimeparse</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#build">build()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.errors.BatchError-class.html">BatchError</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors-module.html">apiclient.errors</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.channel.Channel-class.html#body">body()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.channel.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#build_from_document">build_from_document()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http-module.html">apiclient.http</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#BODY_PARAMETER_DEFAULT_VALUE">BODY_PARAMETER_DEFAULT_VALUE</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="C">C</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2Decorator-class.html#callback_application">callback_application()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.clientsecrets-module.html">clientsecrets</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client-module.html">oauth2client</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.Credentials-class.html">Credentials</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2Decorator-class.html#callback_handler">callback_handler()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.crypt-module.html#CLOCK_SKEW_SECS">CLOCK_SKEW_SECS</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.crypt-module.html">oauth2client.crypt</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html#credentials_from_clientsecrets_and_code">credentials_from_clientsecrets_and_code()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2Decorator-class.html#callback_path">callback_path()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.BaseModel-class.html#content_type">content_type</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html#credentials_from_code">credentials_from_code()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.channel-module.html">channel</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient-module.html">apiclient</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.JsonModel-class.html#content_type">content_type</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.JsonModel-class.html">JsonModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.django_orm.CredentialsField-class.html">CredentialsField</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.django_orm-module.html">oauth2client.django_orm</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.channel.Channel-class.html">Channel</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.channel-module.html">apiclient.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.MediaModel-class.html#content_type">content_type</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.MediaModel-class.html">MediaModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.file.CredentialsFileSymbolicLinkError-class.html">CredentialsFileSymbolicLinkError</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.file-module.html">oauth2client.file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.channel-module.html#CHANNEL_PARAMS">CHANNEL_PARAMS</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.channel-module.html">apiclient.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.ProtocolBufferModel-class.html#content_type">content_type</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file.CredentialsFileSymbolicLinkError-class.html">CredentialsFileSymbolicLinkError</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file-module.html">oauth2client.locked_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaIoBaseUpload-class.html#chunksize">chunksize()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.RawModel-class.html#content_type">content_type</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.RawModel-class.html">RawModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.CredentialsModel-class.html">CredentialsModel</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaUpload-class.html#chunksize">chunksize()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#createMethod">createMethod()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.CredentialsNDBModel-class.html">CredentialsNDBModel</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html#clean_headers">clean_headers()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#createNextMethod">createNextMethod()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.CredentialsNDBProperty-class.html">CredentialsNDBProperty</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html">client</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client-module.html">oauth2client</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.CredentialsModel-class.html#credentials">credentials</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.CredentialsModel-class.html">CredentialsModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.CredentialsProperty-class.html">CredentialsProperty</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.tools.ClientRedirectHandler-class.html">ClientRedirectHandler</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.tools-module.html">oauth2client.tools</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.CredentialsNDBModel-class.html#credentials">credentials</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.CredentialsNDBModel-class.html">CredentialsNDBModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.crypt-module.html">crypt</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client-module.html">oauth2client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.tools.ClientRedirectServer-class.html">ClientRedirectServer</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.tools-module.html">oauth2client.tools</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2Decorator-class.html#credentials">credentials</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="D">D</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.CredentialsProperty-class.html#data_type">data_type</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.CredentialsProperty-class.html">CredentialsProperty</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.xsrfutil-module.html#DELIMITER">DELIMITER</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.xsrfutil-module.html">oauth2client.xsrfutil</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html">discovery</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient-module.html">apiclient</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.FlowProperty-class.html#data_type">data_type</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.FlowProperty-class.html">FlowProperty</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.BaseModel-class.html#deserialize">deserialize()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#DISCOVERY_URI">DISCOVERY_URI</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http-module.html#DEFAULT_CHUNK_SIZE">DEFAULT_CHUNK_SIZE</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http-module.html">apiclient.http</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.JsonModel-class.html#deserialize">deserialize()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.JsonModel-class.html">JsonModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.django_orm-module.html">django_orm</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client-module.html">oauth2client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#DEFAULT_METHOD_DOC">DEFAULT_METHOD_DOC</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.MediaModel-class.html#deserialize">deserialize()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.MediaModel-class.html">MediaModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.tools.ClientRedirectHandler-class.html#do_GET">do_GET()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.tools.ClientRedirectHandler-class.html" onclick="show_private();">ClientRedirectHandler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.xsrfutil-module.html#DEFAULT_TIMEOUT_SECS">DEFAULT_TIMEOUT_SECS</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.xsrfutil-module.html">oauth2client.xsrfutil</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.ProtocolBufferModel-class.html#deserialize">deserialize()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model-module.html#dump_request_response">dump_request_response</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model-module.html">apiclient.model</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.MemoryCache-class.html#delete">delete()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.MemoryCache-class.html">MemoryCache</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.RawModel-class.html#deserialize">deserialize()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.RawModel-class.html">RawModel</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.Storage-class.html#delete">delete()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.util-module.html#dict_to_tuple_key">dict_to_tuple_key()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.util-module.html">oauth2client.util</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="E">E</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.schema._SchemaToStruct-class.html#emit">emit()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.schema._SchemaToStruct-class.html" onclick="show_private();">_SchemaToStruct</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.errors.Error-class.html">Error</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors-module.html">apiclient.errors</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.BatchHttpRequest-class.html#execute">execute()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.schema._SchemaToStruct-class.html#emitBegin">emitBegin()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.schema._SchemaToStruct-class.html" onclick="show_private();">_SchemaToStruct</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.Error-class.html">Error</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.HttpRequest-class.html#execute">execute()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.HttpRequest-class.html">HttpRequest</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.schema._SchemaToStruct-class.html#emitEnd">emitEnd()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.schema._SchemaToStruct-class.html" onclick="show_private();">_SchemaToStruct</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.clientsecrets.Error-class.html">Error</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.clientsecrets-module.html">oauth2client.clientsecrets</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.HttpRequestMock-class.html#execute">execute()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.HttpRequestMock-class.html">HttpRequestMock</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.FlowProperty-class.html#empty">empty()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.FlowProperty-class.html">FlowProperty</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file.Error-class.html">Error</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file-module.html">oauth2client.multistore_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html#EXPIRY_FORMAT">EXPIRY_FORMAT</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.channel-module.html#EPOCH">EPOCH</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.channel-module.html">apiclient.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.errors-module.html">errors</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient-module.html">apiclient</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="F">F</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.file-module.html">file</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client-module.html">oauth2client</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2Decorator-class.html#flow">flow</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaFileUpload-class.html#from_json">from_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaFileUpload-class.html">MediaFileUpload</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file.LockedFile-class.html#file_handle">file_handle()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file.LockedFile-class.html">LockedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.Flow-class.html">Flow</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.AppAssertionCredentials-class.html#from_json">from_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.AppAssertionCredentials-class.html">AppAssertionCredentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file._Opener-class.html#file_handle">file_handle()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file._Opener-class.html" onclick="show_private();">_Opener</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html#flow_from_clientsecrets">flow_from_clientsecrets()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.AccessTokenCredentials-class.html#from_json">from_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.AccessTokenCredentials-class.html">AccessTokenCredentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file.LockedFile-class.html#filename">filename()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file.LockedFile-class.html">LockedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.FlowExchangeError-class.html">FlowExchangeError</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.Credentials-class.html#from_json">from_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.Credentials-class.html">Credentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file._Opener-class.html#filename">filename()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file._Opener-class.html" onclick="show_private();">_Opener</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.django_orm.FlowField-class.html">FlowField</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.django_orm-module.html">oauth2client.django_orm</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html#from_json">from_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.mimeparse-module.html#fitness_and_quality_parsed">fitness_and_quality_parsed()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.mimeparse-module.html">apiclient.mimeparse</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.FlowNDBProperty-class.html">FlowNDBProperty</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.SignedJwtAssertionCredentials-class.html#from_json">from_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.SignedJwtAssertionCredentials-class.html">SignedJwtAssertionCredentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#fix_method_name">fix_method_name()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.FlowProperty-class.html">FlowProperty</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.gce.AppAssertionCredentials-class.html#from_json">from_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.gce.AppAssertionCredentials-class.html">AppAssertionCredentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.old_run-module.html#FLAGS">FLAGS</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.old_run-module.html">oauth2client.old_run</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.HttpRequest-class.html#from_json">from_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.HttpRequest-class.html">HttpRequest</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="G">G</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.gce-module.html">gce</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client-module.html">oauth2client</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file-module.html#get_credential_storage_custom_string_key">get_credential_storage_custom_string_key()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file-module.html">oauth2client.multistore_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.FlowProperty-class.html#get_value_for_datastore">get_value_for_datastore()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.FlowProperty-class.html">FlowProperty</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.xsrfutil-module.html#generate_token">generate_token()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.xsrfutil-module.html">oauth2client.xsrfutil</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2Decorator-class.html#get_credentials">get_credentials()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaIoBaseUpload-class.html#getbytes">getbytes()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.schema.Schemas-class.html#get">get()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.schema.Schemas-class.html">Schemas</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.django_orm.CredentialsField-class.html#get_db_prep_value">get_db_prep_value()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.django_orm.CredentialsField-class.html">CredentialsField</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaUpload-class.html#getbytes">getbytes()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.MemoryCache-class.html#get">get()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.MemoryCache-class.html">MemoryCache</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.django_orm.FlowField-class.html#get_db_prep_value">get_db_prep_value()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.django_orm.FlowField-class.html">FlowField</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client-module.html#GOOGLE_AUTH_URI">GOOGLE_AUTH_URI</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client-module.html">oauth2client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.Storage-class.html#get">get()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2Decorator-class.html#get_flow">get_flow()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client-module.html#GOOGLE_REVOKE_URI">GOOGLE_REVOKE_URI</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client-module.html">oauth2client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file-module.html#get_all_credential_keys">get_all_credential_keys()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file-module.html">oauth2client.multistore_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.django_orm.CredentialsField-class.html#get_internal_type">get_internal_type()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.django_orm.CredentialsField-class.html">CredentialsField</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client-module.html#GOOGLE_TOKEN_URI">GOOGLE_TOKEN_URI</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client-module.html">oauth2client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file-module.html#get_credential_storage">get_credential_storage()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file-module.html">oauth2client.multistore_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.django_orm.FlowField-class.html#get_internal_type">get_internal_type()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.django_orm.FlowField-class.html">FlowField</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file-module.html#get_credential_storage_custom_key">get_credential_storage_custom_key()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file-module.html">oauth2client.multistore_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.CredentialsProperty-class.html#get_value_for_datastore">get_value_for_datastore()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.CredentialsProperty-class.html">CredentialsProperty</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="H">H</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2Decorator-class.html#has_credentials">has_credentials()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http-module.html">http</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient-module.html">apiclient</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.HttpMockSequence-class.html">HttpMockSequence</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http-module.html">apiclient.http</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html#HAS_CRYPTO">HAS_CRYPTO</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2Decorator-class.html#http">http()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.HttpRequest-class.html">HttpRequest</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http-module.html">apiclient.http</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html#HAS_OPENSSL">HAS_OPENSSL</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#HTTP_PAYLOAD_METHODS">HTTP_PAYLOAD_METHODS</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.HttpRequestMock-class.html">HttpRequestMock</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http-module.html">apiclient.http</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaIoBaseUpload-class.html#has_stream">has_stream()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.errors.HttpError-class.html">HttpError</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors-module.html">apiclient.errors</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaUpload-class.html#has_stream">has_stream()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.HttpMock-class.html">HttpMock</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http-module.html">apiclient.http</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="I">I</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html#ID_TOKEN_VERIFICATON_CERTS">ID_TOKEN_VERIFICATON_CERTS</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.InvalidClientSecretsError-class.html">InvalidClientSecretsError</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.InvalidXsrfTokenError-class.html">InvalidXsrfTokenError</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.schema._SchemaToStruct-class.html#indent">indent()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.schema._SchemaToStruct-class.html" onclick="show_private();">_SchemaToStruct</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.clientsecrets.InvalidClientSecretsError-class.html">InvalidClientSecretsError</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.clientsecrets-module.html">oauth2client.clientsecrets</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file.LockedFile-class.html#is_locked">is_locked()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file.LockedFile-class.html">LockedFile</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.sample_tools-module.html#init">init()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.sample_tools-module.html">apiclient.sample_tools</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.errors.InvalidJsonError-class.html">InvalidJsonError</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors-module.html">apiclient.errors</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file._Opener-class.html#is_locked">is_locked()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file._Opener-class.html" onclick="show_private();">_Opener</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.errors.InvalidChunkSizeError-class.html">InvalidChunkSizeError</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors-module.html">apiclient.errors</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.errors.InvalidNotificationError-class.html">InvalidNotificationError</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors-module.html">apiclient.errors</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="J">J</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.model.JsonModel-class.html">JsonModel</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model-module.html">apiclient.model</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="K">K</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#key2param">key2param()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.keyring_storage-module.html">keyring_storage</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client-module.html">oauth2client</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="L">L</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.clientsecrets-module.html#load">load()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.clientsecrets-module.html">oauth2client.clientsecrets</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.Storage-class.html#locked_get">locked_get()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file.LockedFile-class.html">LockedFile</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file-module.html">oauth2client.locked_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.clientsecrets-module.html#loadfile">loadfile()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.clientsecrets-module.html">oauth2client.clientsecrets</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.django_orm.Storage-class.html#locked_get">locked_get()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.django_orm.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.tools.ClientRedirectHandler-class.html#log_message">log_message()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.tools.ClientRedirectHandler-class.html" onclick="show_private();">ClientRedirectHandler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.clientsecrets-module.html#loads">loads()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.clientsecrets-module.html">oauth2client.clientsecrets</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.file.Storage-class.html#locked_get">locked_get()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.file.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#logger">logger</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.StorageByKeyName-class.html#locked_delete">locked_delete()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.StorageByKeyName-class.html">StorageByKeyName</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.keyring_storage.Storage-class.html#locked_get">locked_get()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.keyring_storage.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine-module.html#logger">logger</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.Storage-class.html#locked_delete">locked_delete()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore._Storage-class.html#locked_get">locked_get()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore._Storage-class.html" onclick="show_private();">_Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html#logger">logger</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.django_orm.Storage-class.html#locked_delete">locked_delete()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.django_orm.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.StorageByKeyName-class.html#locked_put">locked_put()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.StorageByKeyName-class.html">StorageByKeyName</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.crypt-module.html#logger">logger</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.crypt-module.html">oauth2client.crypt</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.file.Storage-class.html#locked_delete">locked_delete()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.file.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.Storage-class.html#locked_put">locked_put()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.gce-module.html#logger">logger</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.gce-module.html">oauth2client.gce</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.keyring_storage.Storage-class.html#locked_delete">locked_delete()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.keyring_storage.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.django_orm.Storage-class.html#locked_put">locked_put()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.django_orm.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file-module.html#logger">logger</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file-module.html">oauth2client.locked_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore._Storage-class.html#locked_delete">locked_delete()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore._Storage-class.html" onclick="show_private();">_Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.file.Storage-class.html#locked_put">locked_put()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.file.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file-module.html#logger">logger</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file-module.html">oauth2client.multistore_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file-module.html">locked_file</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client-module.html">oauth2client</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.keyring_storage.Storage-class.html#locked_put">locked_put()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.keyring_storage.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.util-module.html#logger">logger</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.util-module.html">oauth2client.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.StorageByKeyName-class.html#locked_get">locked_get()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.StorageByKeyName-class.html">StorageByKeyName</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore._Storage-class.html#locked_put">locked_put()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore._Storage-class.html" onclick="show_private();">_Storage</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="M">M</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.crypt-module.html#make_signed_jwt">make_signed_jwt()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.crypt-module.html">oauth2client.crypt</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaFileUpload-class.html">MediaFileUpload</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http-module.html">apiclient.http</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.tools-module.html#message_if_missing">message_if_missing()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.tools-module.html">oauth2client.tools</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.CredentialsProperty-class.html#make_value_from_datastore">make_value_from_datastore()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.CredentialsProperty-class.html">CredentialsProperty</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaInMemoryUpload-class.html">MediaInMemoryUpload</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http-module.html">apiclient.http</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.gce-module.html#META">META</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.gce-module.html">oauth2client.gce</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.FlowProperty-class.html#make_value_from_datastore">make_value_from_datastore()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.FlowProperty-class.html">FlowProperty</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaIoBaseDownload-class.html">MediaIoBaseDownload</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http-module.html">apiclient.http</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.mimeparse-module.html">mimeparse</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient-module.html">apiclient</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.model-module.html#makepatch">makepatch()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model-module.html">apiclient.model</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http-module.html">apiclient.http</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaIoBaseUpload-class.html#mimetype">mimetype()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.SignedJwtAssertionCredentials-class.html#MAX_TOKEN_LIFETIME_SECS">MAX_TOKEN_LIFETIME_SECS</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.SignedJwtAssertionCredentials-class.html">SignedJwtAssertionCredentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.MediaModel-class.html">MediaModel</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model-module.html">apiclient.model</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaUpload-class.html#mimetype">mimetype()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.crypt-module.html#MAX_TOKEN_LIFETIME_SECS">MAX_TOKEN_LIFETIME_SECS</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.crypt-module.html">oauth2client.crypt</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaUpload-class.html">MediaUpload</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http-module.html">apiclient.http</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model-module.html">model</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient-module.html">apiclient</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http-module.html#MAX_URI_LENGTH">MAX_URI_LENGTH</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http-module.html">apiclient.http</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaUploadProgress-class.html">MediaUploadProgress</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http-module.html">apiclient.http</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.Model-class.html">Model</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model-module.html">apiclient.model</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#MEDIA_BODY_PARAMETER_DEFAULT_VALUE">MEDIA_BODY_PARAMETER_DEFAULT_VALUE</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.errors.MediaUploadSizeError-class.html">MediaUploadSizeError</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors-module.html">apiclient.errors</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file-module.html">multistore_file</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client-module.html">oauth2client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaDownloadProgress-class.html">MediaDownloadProgress</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http-module.html">apiclient.http</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.MemoryCache-class.html">MemoryCache</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="N">N</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine-module.html#ndb">ndb</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaIoBaseDownload-class.html#next_chunk">next_chunk()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaIoBaseDownload-class.html">MediaIoBaseDownload</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS">NON_SERIALIZED_MEMBERS</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.Credentials-class.html">Credentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaUpload-class.html#new_from_json">new_from_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.BaseModel-class.html#no_content_response">no_content_response</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.NonAsciiHeaderError-class.html">NonAsciiHeaderError</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.Credentials-class.html#new_from_json">new_from_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.Credentials-class.html">Credentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.JsonModel-class.html#no_content_response">no_content_response()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.JsonModel-class.html">JsonModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.channel.Notification-class.html">Notification</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.channel-module.html">apiclient.channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.channel-module.html#new_webhook_channel">new_webhook_channel()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.channel-module.html">apiclient.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.MediaModel-class.html#no_content_response">no_content_response()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.MediaModel-class.html">MediaModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.channel-module.html#notification_from_headers">notification_from_headers()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.channel-module.html">apiclient.channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file.NewerCredentialStoreError-class.html">NewerCredentialStoreError</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file-module.html">oauth2client.multistore_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.ProtocolBufferModel-class.html#no_content_response">no_content_response()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.HttpRequest-class.html#next_chunk">next_chunk()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.HttpRequest-class.html">HttpRequest</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.RawModel-class.html#no_content_response">no_content_response()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.RawModel-class.html">RawModel</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="O">O</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client-module.html">oauth2client</a></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2WebServerFlow-class.html">OAuth2WebServerFlow</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file._Opener-class.html#open_and_lock">open_and_lock()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file._Opener-class.html" onclick="show_private();">_Opener</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine-module.html#OAUTH2CLIENT_NAMESPACE">OAUTH2CLIENT_NAMESPACE</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2Decorator-class.html#oauth_aware">oauth_aware()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file._PosixOpener-class.html#open_and_lock">open_and_lock()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file._PosixOpener-class.html" onclick="show_private();">_PosixOpener</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2Decorator-class.html#oauth_required">oauth_required()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.crypt-module.html#OpenSSLSigner">OpenSSLSigner</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.crypt-module.html">oauth2client.crypt</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.old_run-module.html">old_run</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client-module.html">oauth2client</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.crypt-module.html#OpenSSLVerifier">OpenSSLVerifier</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.crypt-module.html">oauth2client.crypt</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine-module.html#oauth2decorator_from_clientsecrets">oauth2decorator_from_clientsecrets()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html#OOB_CALLBACK_URN">OOB_CALLBACK_URN</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html">OAuth2DecoratorFromClientSecrets</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file.LockedFile-class.html#open_and_lock">open_and_lock()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file.LockedFile-class.html">LockedFile</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="P">P</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.mimeparse-module.html#parse_media_range">parse_media_range()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.mimeparse-module.html">apiclient.mimeparse</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.util-module.html#POSITIONAL_SET">POSITIONAL_SET</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.util-module.html">oauth2client.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="google.appengine.ext.db.PropertiedClass-class.html">PropertiedClass</a></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.mimeparse-module.html#parse_mime_type">parse_mime_type()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.mimeparse-module.html">apiclient.mimeparse</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.util-module.html#POSITIONAL_WARNING">POSITIONAL_WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.util-module.html">oauth2client.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model-module.html">apiclient.model</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.util-module.html#positional">positional()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.util-module.html">oauth2client.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.schema.Schemas-class.html#prettyPrintByName">prettyPrintByName()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.schema.Schemas-class.html">Schemas</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.Storage-class.html#put">put()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.Storage-class.html">Storage</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.util-module.html#POSITIONAL_EXCEPTION">POSITIONAL_EXCEPTION</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.util-module.html">oauth2client.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.schema.Schemas-class.html#prettyPrintSchema">prettyPrintSchema()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.schema.Schemas-class.html">Schemas</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.crypt-module.html#PyCryptoSigner">PyCryptoSigner</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.crypt-module.html">oauth2client.crypt</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.util-module.html#POSITIONAL_IGNORE">POSITIONAL_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.util-module.html">oauth2client.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaDownloadProgress-class.html#progress">progress()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaDownloadProgress-class.html">MediaDownloadProgress</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.crypt-module.html#PyCryptoVerifier">PyCryptoVerifier</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.crypt-module.html">oauth2client.crypt</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.util-module.html#positional_parameters_enforcement">positional_parameters_enforcement</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.util-module.html">oauth2client.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaUploadProgress-class.html#progress">progress()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaUploadProgress-class.html">MediaUploadProgress</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="Q">Q</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.mimeparse-module.html#quality">quality()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.mimeparse-module.html">apiclient.mimeparse</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.mimeparse-module.html#quality_parsed">quality_parsed()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.mimeparse-module.html">apiclient.mimeparse</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.tools.ClientRedirectServer-class.html#query_params">query_params</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.tools.ClientRedirectServer-class.html" onclick="show_private();">ClientRedirectServer</a>)</span></td>
-</tr>
-<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="R">R</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.model.RawModel-class.html">RawModel</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model-module.html">apiclient.model</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.HttpMock-class.html#request">request()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.HttpMock-class.html">HttpMock</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.Model-class.html#response">response()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.Model-class.html">Model</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http._StreamSlice-class.html#read">read()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http._StreamSlice-class.html" onclick="show_private();">_StreamSlice</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.HttpMockSequence-class.html#request">request()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.HttpMockSequence-class.html">HttpMockSequence</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaIoBaseUpload-class.html#resumable">resumable()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.Credentials-class.html#refresh">refresh()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.Credentials-class.html">Credentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.BaseModel-class.html#request">request()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaUpload-class.html#resumable">resumable()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html#refresh">refresh()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.Model-class.html#request">request()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.Model-class.html">Model</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.errors.ResumableUploadError-class.html">ResumableUploadError</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors-module.html">apiclient.errors</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html#REFRESH_STATUS_CODES">REFRESH_STATUS_CODES</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.RequestMockBuilder-class.html">RequestMockBuilder</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http-module.html">apiclient.http</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.Credentials-class.html#revoke">revoke()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.Credentials-class.html">Credentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.Storage-class.html#release_lock">release_lock()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#RESERVED_WORDS">RESERVED_WORDS</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html#revoke">revoke()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.file.Storage-class.html#release_lock">release_lock()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.file.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery.Resource-class.html">Resource</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.old_run-module.html#run">run()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.old_run-module.html">oauth2client.old_run</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.keyring_storage.Storage-class.html#release_lock">release_lock()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.keyring_storage.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery.ResourceMethodParameters-class.html">ResourceMethodParameters</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.tools-module.html#run">run()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.tools-module.html">oauth2client.tools</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore._Storage-class.html#release_lock">release_lock()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore._Storage-class.html" onclick="show_private();">_Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.BaseModel-class.html#response">response()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.tools-module.html#run_flow">run_flow()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.tools-module.html">oauth2client.tools</a>)</span></td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="S">S</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.sample_tools-module.html">sample_tools</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient-module.html">apiclient</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2Decorator-class.html#set_flow">set_flow()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#STACK_QUERY_PARAMETERS">STACK_QUERY_PARAMETERS</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.schema-module.html">schema</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient-module.html">apiclient</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery.ResourceMethodParameters-class.html#set_parameters">set_parameters()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery.ResourceMethodParameters-class.html" onclick="show_private();">ResourceMethodParameters</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2WebServerFlow-class.html#step1_get_authorize_url">step1_get_authorize_url()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2WebServerFlow-class.html">OAuth2WebServerFlow</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.schema.Schemas-class.html">Schemas</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.schema-module.html">apiclient.schema</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html#set_store">set_store()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2WebServerFlow-class.html#step2_exchange">step2_exchange()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2WebServerFlow-class.html">OAuth2WebServerFlow</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.util-module.html#scopes_to_string">scopes_to_string()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.util-module.html">oauth2client.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http-module.html#set_user_agent">set_user_agent()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http-module.html">apiclient.http</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.Storage-class.html">Storage</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.SiteXsrfSecretKey-class.html#secret">secret</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.SiteXsrfSecretKey-class.html">SiteXsrfSecretKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.SignedJwtAssertionCredentials-class.html">SignedJwtAssertionCredentials</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.django_orm.Storage-class.html">Storage</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.django_orm-module.html">oauth2client.django_orm</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html#secret">secret</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html">SiteXsrfSecretKeyNDB</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.crypt-module.html#Signer">Signer</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.crypt-module.html">oauth2client.crypt</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.file.Storage-class.html">Storage</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.file-module.html">oauth2client.file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.model.BaseModel-class.html#serialize">serialize()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.SiteXsrfSecretKey-class.html">SiteXsrfSecretKey</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.keyring_storage.Storage-class.html">Storage</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.keyring_storage-module.html">oauth2client.keyring_storage</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.model.JsonModel-class.html#serialize">serialize()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.JsonModel-class.html">JsonModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html">SiteXsrfSecretKeyNDB</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.StorageByKeyName-class.html">StorageByKeyName</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.model.ProtocolBufferModel-class.html#serialize">serialize()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaIoBaseUpload-class.html#size">size()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaIoBaseUpload-class.html#stream">stream()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.MemoryCache-class.html#set">set()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.MemoryCache-class.html">MemoryCache</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaUpload-class.html#size">size()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaUpload-class.html#stream">stream()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2Decorator-class.html#set_credentials">set_credentials()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#STACK_QUERY_PARAMETER_DEFAULT_VALUE">STACK_QUERY_PARAMETER_DEFAULT_VALUE</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="T">T</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.HttpRequest-class.html#to_json">to_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.HttpRequest-class.html">HttpRequest</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html#to_json">to_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.tools-module.html">tools</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client-module.html">oauth2client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaFileUpload-class.html#to_json">to_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaFileUpload-class.html">MediaFileUpload</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.django_orm.CredentialsField-class.html#to_python">to_python()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.django_orm.CredentialsField-class.html">CredentialsField</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http-module.html#tunnel_patch">tunnel_patch()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http-module.html">apiclient.http</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaIoBaseUpload-class.html#to_json">to_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.django_orm.FlowField-class.html#to_python">to_python()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.django_orm.FlowField-class.html">FlowField</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.clientsecrets-module.html#TYPE_INSTALLED">TYPE_INSTALLED</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.clientsecrets-module.html">oauth2client.clientsecrets</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaUpload-class.html#to_json">to_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.schema._SchemaToStruct-class.html#to_str">to_str()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.schema._SchemaToStruct-class.html" onclick="show_private();">_SchemaToStruct</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.clientsecrets-module.html#TYPE_WEB">TYPE_WEB</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.clientsecrets-module.html">oauth2client.clientsecrets</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.Credentials-class.html#to_json">to_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.Credentials-class.html">Credentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.TokenRevokeError-class.html">TokenRevokeError</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="U">U</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.errors.UnacceptableMimeTypeError-class.html">UnacceptableMimeTypeError</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors-module.html">apiclient.errors</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.UnknownClientSecretsFlowError-class.html">UnknownClientSecretsFlowError</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file._PosixOpener-class.html#unlock_and_close">unlock_and_close()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file._PosixOpener-class.html" onclick="show_private();">_PosixOpener</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.schema._SchemaToStruct-class.html#undent">undent()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.schema._SchemaToStruct-class.html" onclick="show_private();">_SchemaToStruct</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.errors.UnknownFileType-class.html">UnknownFileType</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors-module.html">apiclient.errors</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.channel.Channel-class.html#update">update()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.channel.Channel-class.html">Channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.errors.UnexpectedBodyError-class.html">UnexpectedBodyError</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors-module.html">apiclient.errors</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.errors.UnknownLinkType-class.html">UnknownLinkType</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors-module.html">apiclient.errors</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#URITEMPLATE">URITEMPLATE</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.errors.UnexpectedMethodError-class.html">UnexpectedMethodError</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors-module.html">apiclient.errors</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file.LockedFile-class.html#unlock_and_close">unlock_and_close()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file.LockedFile-class.html">LockedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.util-module.html">util</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client-module.html">oauth2client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.errors.UnknownApiNameOrVersion-class.html">UnknownApiNameOrVersion</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors-module.html">apiclient.errors</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file._Opener-class.html#unlock_and_close">unlock_and_close()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file._Opener-class.html" onclick="show_private();">_Opener</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="V">V</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.clientsecrets-module.html#VALID_CLIENT">VALID_CLIENT</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.clientsecrets-module.html">oauth2client.clientsecrets</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.xsrfutil-module.html#validate_token">validate_token()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.xsrfutil-module.html">oauth2client.xsrfutil</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.crypt-module.html#verify_signed_jwt_with_certs">verify_signed_jwt_with_certs()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.crypt-module.html">oauth2client.crypt</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.CredentialsProperty-class.html#validate">validate()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.CredentialsProperty-class.html">CredentialsProperty</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#VARNAME">VARNAME</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.VerifyJwtTokenError-class.html">VerifyJwtTokenError</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.FlowProperty-class.html#validate">validate()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.FlowProperty-class.html">FlowProperty</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.crypt-module.html#Verifier">Verifier</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.crypt-module.html">oauth2client.crypt</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file-module.html#validate_file">validate_file()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file-module.html">oauth2client.locked_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html#verify_id_token">verify_id_token()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="X">X</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.channel-module.html#X_GOOG_CHANNEL_ID">X_GOOG_CHANNEL_ID</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.channel-module.html">apiclient.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.channel-module.html#X_GOOG_RESOURCE_STATE">X_GOOG_RESOURCE_STATE</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.channel-module.html">apiclient.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine-module.html#xsrf_secret_key">xsrf_secret_key()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.channel-module.html#X_GOOG_MESSAGE_NUMBER">X_GOOG_MESSAGE_NUMBER</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.channel-module.html">apiclient.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.channel-module.html#X_GOOG_RESOURCE_URI">X_GOOG_RESOURCE_URI</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.channel-module.html">apiclient.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.xsrfutil-module.html">xsrfutil</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client-module.html">oauth2client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.channel-module.html#X_GOOG_RESOURCE_ID">X_GOOG_RESOURCE_ID</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.channel-module.html">apiclient.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine-module.html#XSRF_MEMCACHE_ID">XSRF_MEMCACHE_ID</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="_">_</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.RequestMockBuilder-class.html#__call__">__call__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.RequestMockBuilder-class.html">RequestMockBuilder</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.errors.HttpError-class.html#__repr__">__repr__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors.HttpError-class.html">HttpError</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore-class.html#_locked_json_write">_locked_json_write()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore-class.html" onclick="show_private();">_MultiStore</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.mimeparse-module.html#__credits__">__credits__</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.mimeparse-module.html">apiclient.mimeparse</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery.Resource-class.html#__setstate__">__setstate__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery.Resource-class.html" onclick="show_private();">Resource</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.BaseModel-class.html#_log_request">_log_request()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.mimeparse-module.html#__email__">__email__</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.mimeparse-module.html">apiclient.mimeparse</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html#__setstate__">__setstate__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.BaseModel-class.html#_log_response">_log_response()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.discovery.Resource-class.html#__getstate__">__getstate__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery.Resource-class.html" onclick="show_private();">Resource</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model-module.html#_abstract">_abstract()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model-module.html">apiclient.model</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#_media_path_url_from_info">_media_path_url_from_info()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html#__getstate__">__getstate__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html#_abstract">_abstract()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#_MEDIA_SIZE_BIT_SHIFTS">_MEDIA_SIZE_BIT_SHIFTS</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.channel.Channel-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.channel.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery.Resource-class.html#_add_basic_methods">_add_basic_methods()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery.Resource-class.html" onclick="show_private();">Resource</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#_media_size_to_long">_media_size_to_long()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.channel.Notification-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.channel.Notification-class.html">Notification</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery.Resource-class.html#_add_nested_resources">_add_nested_resources()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery.Resource-class.html" onclick="show_private();">Resource</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore-class.html">_MultiStore</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file-module.html">oauth2client.multistore_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.discovery.Resource-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery.Resource-class.html" onclick="show_private();">Resource</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery.Resource-class.html#_add_next_methods">_add_next_methods()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery.Resource-class.html" onclick="show_private();">Resource</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file-module.html#_multistores">_multistores</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file-module.html">oauth2client.multistore_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.discovery.ResourceMethodParameters-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery.ResourceMethodParameters-class.html" onclick="show_private();">ResourceMethodParameters</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.util-module.html#_add_query_parameter">_add_query_parameter()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.util-module.html">oauth2client.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file-module.html#_multistores_lock">_multistores_lock</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file-module.html">oauth2client.multistore_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.errors.BatchError-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors.BatchError-class.html">BatchError</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.model.BaseModel-class.html#_build_query">_build_query()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.BatchHttpRequest-class.html#_new_id">_new_id()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.errors.HttpError-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors.HttpError-class.html">HttpError</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine-module.html#_build_state_value">_build_state_value()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file._Opener-class.html">_Opener</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file-module.html">oauth2client.locked_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.errors.UnexpectedBodyError-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors.UnexpectedBodyError-class.html">UnexpectedBodyError</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html#_cached_http">_cached_http</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html#_parse_exchange_token_response">_parse_exchange_token_response()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.errors.UnexpectedMethodError-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors.UnexpectedMethodError-class.html">UnexpectedMethodError</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#_cast">_cast()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine-module.html#_parse_state_value">_parse_state_value()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.BatchHttpRequest-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.tools-module.html#_CLIENT_SECRETS_MESSAGE">_CLIENT_SECRETS_MESSAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.tools-module.html">oauth2client.tools</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file._PosixOpener-class.html#_posix_lockfile">_posix_lockfile()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file._PosixOpener-class.html" onclick="show_private();">_PosixOpener</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.HttpMock-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.HttpMock-class.html">HttpMock</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.file.Storage-class.html#_create_file_if_needed">_create_file_if_needed()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.file.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file._PosixOpener-class.html">_PosixOpener</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file-module.html">oauth2client.locked_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.HttpMockSequence-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.HttpMockSequence-class.html">HttpMockSequence</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore-class.html#_create_file_if_needed">_create_file_if_needed()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore-class.html" onclick="show_private();">_MultiStore</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.schema.Schemas-class.html#_prettyPrintByName">_prettyPrintByName()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.schema.Schemas-class.html">Schemas</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.HttpRequest-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.HttpRequest-class.html">HttpRequest</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2Decorator-class.html#_create_flow">_create_flow()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.schema.Schemas-class.html#_prettyPrintSchema">_prettyPrintSchema()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.schema.Schemas-class.html">Schemas</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.HttpRequestMock-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.HttpRequestMock-class.html">HttpRequestMock</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore-class.html#_decode_credential_from_json">_decode_credential_from_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore-class.html" onclick="show_private();">_MultiStore</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.HttpRequest-class.html#_process_response">_process_response()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.HttpRequest-class.html">HttpRequest</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaDownloadProgress-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaDownloadProgress-class.html">MediaDownloadProgress</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore-class.html#_delete_credential">_delete_credential()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore-class.html" onclick="show_private();">_MultiStore</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.AppAssertionCredentials-class.html#_refresh">_refresh()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.AppAssertionCredentials-class.html">AppAssertionCredentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaFileUpload-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaFileUpload-class.html">MediaFileUpload</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.StorageByKeyName-class.html#_delete_entity">_delete_entity()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.StorageByKeyName-class.html">StorageByKeyName</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.AccessTokenCredentials-class.html#_refresh">_refresh()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.AccessTokenCredentials-class.html">AccessTokenCredentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaInMemoryUpload-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaInMemoryUpload-class.html">MediaInMemoryUpload</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.BatchHttpRequest-class.html#_deserialize_response">_deserialize_response()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html#_refresh">_refresh()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaIoBaseDownload-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaIoBaseDownload-class.html">MediaIoBaseDownload</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2Decorator-class.html#_display_error_message">_display_error_message()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.gce.AppAssertionCredentials-class.html#_refresh">_refresh()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.gce.AppAssertionCredentials-class.html">AppAssertionCredentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaIoBaseUpload-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html#_do_refresh_request">_do_refresh_request()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.BatchHttpRequest-class.html#_refresh_and_apply_credentials">_refresh_and_apply_credentials()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaUploadProgress-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaUploadProgress-class.html">MediaUploadProgress</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html#_do_revoke">_do_revoke()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore-class.html#_refresh_data_cache">_refresh_data_cache()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore-class.html" onclick="show_private();">_MultiStore</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http.RequestMockBuilder-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.RequestMockBuilder-class.html">RequestMockBuilder</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.BatchHttpRequest-class.html#_execute">_execute()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.AccessTokenCredentials-class.html#_revoke">_revoke()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.AccessTokenCredentials-class.html">AccessTokenCredentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.http._StreamSlice-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http._StreamSlice-class.html" onclick="show_private();">_StreamSlice</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html#_extract_id_token">_extract_id_token()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.AssertionCredentials-class.html#_revoke">_revoke()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.AssertionCredentials-class.html">AssertionCredentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.model.JsonModel-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.JsonModel-class.html">JsonModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file-module.html#_FcntlOpener">_FcntlOpener</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file-module.html">oauth2client.locked_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html#_revoke">_revoke()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.model.ProtocolBufferModel-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.mimeparse-module.html#_filter_blank">_filter_blank()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.mimeparse-module.html">apiclient.mimeparse</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine-module.html#_safe_html">_safe_html()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.schema.Schemas-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.schema.Schemas-class.html">Schemas</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#_fix_up_media_upload">_fix_up_media_upload()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.schema._SchemaToStruct-class.html">_SchemaToStruct</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.schema-module.html">apiclient.schema</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.schema._SchemaToStruct-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.schema._SchemaToStruct-class.html" onclick="show_private();">_SchemaToStruct</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#_fix_up_method_description">_fix_up_method_description()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.BatchHttpRequest-class.html#_serialize_request">_serialize_request()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.AppAssertionCredentials-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.AppAssertionCredentials-class.html">AppAssertionCredentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery-module.html#_fix_up_parameters">_fix_up_parameters()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery-module.html">apiclient.discovery</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery.Resource-class.html#_set_dynamic_attr">_set_dynamic_attr()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery.Resource-class.html" onclick="show_private();">Resource</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2Decorator-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.CredentialsNDBProperty-class.html#_from_base_type">_from_base_type()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.CredentialsNDBProperty-class.html">CredentialsNDBProperty</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.discovery.Resource-class.html#_set_service_methods">_set_service_methods()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.discovery.Resource-class.html" onclick="show_private();">Resource</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html">OAuth2DecoratorFromClientSecrets</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.AssertionCredentials-class.html#_generate_assertion">_generate_assertion()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.AssertionCredentials-class.html">AssertionCredentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore._Storage-class.html">_Storage</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore-class.html" onclick="show_private();">_MultiStore</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.StorageByKeyName-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.StorageByKeyName-class.html">StorageByKeyName</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.SignedJwtAssertionCredentials-class.html#_generate_assertion">_generate_assertion()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.SignedJwtAssertionCredentials-class.html">SignedJwtAssertionCredentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http._StreamSlice-class.html">_StreamSlice</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http-module.html">apiclient.http</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.AccessTokenCredentials-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.AccessTokenCredentials-class.html">AccessTokenCredentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine-module.html#_generate_new_xsrf_secret_key">_generate_new_xsrf_secret_key()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine-module.html">oauth2client.appengine</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.CredentialsNDBProperty-class.html#_to_base_type">_to_base_type()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.CredentialsNDBProperty-class.html">CredentialsNDBProperty</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.AssertionCredentials-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.AssertionCredentials-class.html">AssertionCredentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.AssertionCredentials-class.html#_generate_refresh_request_body">_generate_refresh_request_body()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.AssertionCredentials-class.html">AssertionCredentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.MediaUpload-class.html#_to_json">_to_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.MemoryCache-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.MemoryCache-class.html">MemoryCache</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_body">_generate_refresh_request_body()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.Credentials-class.html#_to_json">_to_json()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.Credentials-class.html">Credentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_headers">_generate_refresh_request_headers()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.schema._SchemaToStruct-class.html#_to_str_impl">_to_str_impl()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.schema._SchemaToStruct-class.html" onclick="show_private();">_SchemaToStruct</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2WebServerFlow-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2WebServerFlow-class.html">OAuth2WebServerFlow</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore-class.html#_get_all_credential_keys">_get_all_credential_keys()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore-class.html" onclick="show_private();">_MultiStore</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore-class.html#_unlock">_unlock()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore-class.html" onclick="show_private();">_MultiStore</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.client.SignedJwtAssertionCredentials-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.SignedJwtAssertionCredentials-class.html">SignedJwtAssertionCredentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore-class.html#_get_credential">_get_credential()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore-class.html" onclick="show_private();">_MultiStore</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore-class.html#_update_credential">_update_credential()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore-class.html" onclick="show_private();">_MultiStore</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.django_orm.CredentialsField-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.django_orm.CredentialsField-class.html">CredentialsField</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.StorageByKeyName-class.html#_get_entity">_get_entity()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.StorageByKeyName-class.html">StorageByKeyName</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html#_update_query_params">_update_query_params()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.django_orm.FlowField-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.django_orm.FlowField-class.html">FlowField</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.CredentialsNDBModel-class.html#_get_kind">_get_kind()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.CredentialsNDBModel-class.html">CredentialsNDBModel</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client.OAuth2Credentials-class.html#_updateFromCredential">_updateFromCredential()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.django_orm.Storage-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.django_orm.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html#_get_kind">_get_kind()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html">SiteXsrfSecretKeyNDB</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.channel-module.html#_upper_header_keys">_upper_header_keys()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.channel-module.html">apiclient.channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.file.Storage-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.file.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file-module.html#_get_multistore">_get_multistore()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file-module.html">oauth2client.multistore_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.client-module.html#_urlsafe_b64decode">_urlsafe_b64decode()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.client-module.html">oauth2client.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.gce.AppAssertionCredentials-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.gce.AppAssertionCredentials-class.html">AppAssertionCredentials</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.errors.HttpError-class.html#_get_reason">_get_reason()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors.HttpError-class.html">HttpError</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.crypt-module.html#_urlsafe_b64decode">_urlsafe_b64decode()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.crypt-module.html">oauth2client.crypt</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.keyring_storage.Storage-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.keyring_storage.Storage-class.html">Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore-class.html#_get_storage">_get_storage()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore-class.html" onclick="show_private();">_MultiStore</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.crypt-module.html#_urlsafe_b64encode">_urlsafe_b64encode()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.crypt-module.html">oauth2client.crypt</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file.LockedFile-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file.LockedFile-class.html">LockedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.BatchHttpRequest-class.html#_header_to_id">_header_to_id()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.CredentialsNDBProperty-class.html#_validate">_validate()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.CredentialsNDBProperty-class.html">CredentialsNDBProperty</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file._Opener-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file._Opener-class.html" onclick="show_private();">_Opener</a>)</span></td>
-<td width="33%" class="link-index"><a href="apiclient.http.BatchHttpRequest-class.html#_id_to_header">_id_to_header()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.FlowNDBProperty-class.html#_validate">_validate()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.FlowNDBProperty-class.html">FlowNDBProperty</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore._Storage-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore._Storage-class.html" onclick="show_private();">_Storage</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.appengine.StorageByKeyName-class.html#_is_ndb">_is_ndb()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.appengine.StorageByKeyName-class.html">StorageByKeyName</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.clientsecrets-module.html#_validate_clientsecrets">_validate_clientsecrets()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.clientsecrets-module.html">oauth2client.clientsecrets</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore-class.html" onclick="show_private();">_MultiStore</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.crypt-module.html#_json_encode">_json_encode()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.crypt-module.html">oauth2client.crypt</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.file.Storage-class.html#_validate_file">_validate_file()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.file.Storage-class.html">Storage</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.django_orm.CredentialsField-class.html#__metaclass__">__metaclass__</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.django_orm.CredentialsField-class.html">CredentialsField</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.clientsecrets-module.html#_loadfile">_loadfile()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.clientsecrets-module.html">oauth2client.clientsecrets</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.locked_file-module.html#_Win32Opener">_Win32Opener</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.locked_file-module.html">oauth2client.locked_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="oauth2client.django_orm.FlowField-class.html#__metaclass__">__metaclass__</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.django_orm.FlowField-class.html">FlowField</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore-class.html#_lock">_lock()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore-class.html" onclick="show_private();">_MultiStore</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore-class.html#_write">_write()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore-class.html" onclick="show_private();">_MultiStore</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="apiclient.errors.BatchError-class.html#__repr__">__repr__()</a><br />
-<span class="index-where">(in&nbsp;<a href="apiclient.errors.BatchError-class.html">BatchError</a>)</span></td>
-<td width="33%" class="link-index"><a href="oauth2client.multistore_file._MultiStore-class.html#_locked_json_read">_locked_json_read()</a><br />
-<span class="index-where">(in&nbsp;<a href="oauth2client.multistore_file._MultiStore-class.html" onclick="show_private();">_MultiStore</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-</table>
-<br /><br /><!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >&nbsp;&nbsp;&nbsp;Indices&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/index.html b/docs/epy/index.html
deleted file mode 100644
index e1d43f9..0000000
--- a/docs/epy/index.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
-          "DTD/xhtml1-frameset.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title> API Documentation </title>
-</head>
-<frameset cols="20%,80%">
-  <frameset rows="30%,70%">
-    <frame src="toc.html" name="moduleListFrame"
-           id="moduleListFrame" />
-    <frame src="toc-everything.html" name="moduleFrame"
-           id="moduleFrame" />
-  </frameset>
-  <frame src="module-tree.html" name="mainFrame" id="mainFrame" />
-</frameset>
-</html>
diff --git a/docs/epy/module-tree.html b/docs/epy/module-tree.html
deleted file mode 100644
index 0803ec8..0000000
--- a/docs/epy/module-tree.html
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>Module Hierarchy</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">&nbsp;</td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="module-tree.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<center><b>
- [ <a href="module-tree.html">Module Hierarchy</a>
- | <a href="class-tree.html">Class Hierarchy</a> ]
-</b></center><br />
-<h1 class="epydoc">Module Hierarchy</h1>
-<ul class="nomargin-top">
-    <li> <strong class="uidlink"><a href="apiclient-module.html">apiclient</a></strong>
-    <ul>
-    <li> <strong class="uidlink"><a href="apiclient.channel-module.html">apiclient.channel</a></strong>: <em class="summary">Channel notifications support.</em>    </li>
-    <li> <strong class="uidlink"><a href="apiclient.discovery-module.html">apiclient.discovery</a></strong>: <em class="summary">Client for discovery based APIs.</em>    </li>
-    <li> <strong class="uidlink"><a href="apiclient.errors-module.html">apiclient.errors</a></strong>: <em class="summary">Errors for the library.</em>    </li>
-    <li> <strong class="uidlink"><a href="apiclient.http-module.html">apiclient.http</a></strong>: <em class="summary">Classes to encapsulate a single HTTP request.</em>    </li>
-    <li> <strong class="uidlink"><a href="apiclient.mimeparse-module.html">apiclient.mimeparse</a></strong>: <em class="summary">MIME-Type Parser</em>    </li>
-    <li> <strong class="uidlink"><a href="apiclient.model-module.html">apiclient.model</a></strong>: <em class="summary">Model objects for requests and responses.</em>    </li>
-    <li> <strong class="uidlink"><a href="apiclient.sample_tools-module.html">apiclient.sample_tools</a></strong>: <em class="summary">Utilities for making samples.</em>    </li>
-    <li> <strong class="uidlink"><a href="apiclient.schema-module.html">apiclient.schema</a></strong>: <em class="summary">Schema processing for discovery based APIs</em>    </li>
-    </ul>
-    </li>
-    <li> <strong class="uidlink"><a href="oauth2client-module.html">oauth2client</a></strong>
-    <ul>
-    <li> <strong class="uidlink"><a href="oauth2client.anyjson-module.html">oauth2client.anyjson</a></strong>: <em class="summary">Utility module to import a JSON module</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.appengine-module.html">oauth2client.appengine</a></strong>: <em class="summary">Utilities for Google App Engine</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.client-module.html">oauth2client.client</a></strong>: <em class="summary">An OAuth 2.0 client.</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.clientsecrets-module.html">oauth2client.clientsecrets</a></strong>: <em class="summary">Utilities for reading OAuth 2.0 client secret files.</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.crypt-module.html">oauth2client.crypt</a></strong>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.django_orm-module.html">oauth2client.django_orm</a></strong>: <em class="summary">OAuth 2.0 utilities for Django.</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.file-module.html">oauth2client.file</a></strong>: <em class="summary">Utilities for OAuth.</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.gce-module.html">oauth2client.gce</a></strong>: <em class="summary">Utilities for Google Compute Engine</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.keyring_storage-module.html">oauth2client.keyring_storage</a></strong>: <em class="summary">A keyring based Storage.</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.locked_file-module.html">oauth2client.locked_file</a></strong>: <em class="summary">Locked file interface that should work on Unix and Windows pythons.</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.multistore_file-module.html">oauth2client.multistore_file</a></strong>: <em class="summary">Multi-credential file store with lock support.</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.old_run-module.html">oauth2client.old_run</a></strong>: <em class="summary">This module holds the old run() function which is deprecated, the
-tools.run_flow() function should be used in its place.</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.tools-module.html">oauth2client.tools</a></strong>: <em class="summary">Command-line tools for authenticating via OAuth 2.0</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.util-module.html">oauth2client.util</a></strong>: <em class="summary">Common utility library.</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.xsrfutil-module.html">oauth2client.xsrfutil</a></strong>: <em class="summary">Helper methods for creating &amp; verifying XSRF tokens.</em>    </li>
-    </ul>
-    </li>
-</ul>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client-module.html b/docs/epy/oauth2client-module.html
deleted file mode 100644
index 7134419..0000000
--- a/docs/epy/oauth2client-module.html
+++ /dev/null
@@ -1,179 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        Package&nbsp;oauth2client
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package oauth2client</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client-pysrc.html">source&nbsp;code</a></span></p>
-<hr />
-<div class="fields">      <p><strong>Version:</strong>
-        1.2
-      </p>
-</div><!-- ==================== SUBMODULES ==================== -->
-<a name="section-Submodules"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Submodules</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Submodules"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr><td class="summary">
-  <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="oauth2client.anyjson-module.html">oauth2client.anyjson</a></strong>: <em class="summary">Utility module to import a JSON module</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.appengine-module.html">oauth2client.appengine</a></strong>: <em class="summary">Utilities for Google App Engine</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.client-module.html">oauth2client.client</a></strong>: <em class="summary">An OAuth 2.0 client.</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.clientsecrets-module.html">oauth2client.clientsecrets</a></strong>: <em class="summary">Utilities for reading OAuth 2.0 client secret files.</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.crypt-module.html">oauth2client.crypt</a></strong>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.django_orm-module.html">oauth2client.django_orm</a></strong>: <em class="summary">OAuth 2.0 utilities for Django.</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.file-module.html">oauth2client.file</a></strong>: <em class="summary">Utilities for OAuth.</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.gce-module.html">oauth2client.gce</a></strong>: <em class="summary">Utilities for Google Compute Engine</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.keyring_storage-module.html">oauth2client.keyring_storage</a></strong>: <em class="summary">A keyring based Storage.</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.locked_file-module.html">oauth2client.locked_file</a></strong>: <em class="summary">Locked file interface that should work on Unix and Windows pythons.</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.multistore_file-module.html">oauth2client.multistore_file</a></strong>: <em class="summary">Multi-credential file store with lock support.</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.old_run-module.html">oauth2client.old_run</a></strong>: <em class="summary">This module holds the old run() function which is deprecated, the
-tools.run_flow() function should be used in its place.</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.tools-module.html">oauth2client.tools</a></strong>: <em class="summary">Command-line tools for authenticating via OAuth 2.0</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.util-module.html">oauth2client.util</a></strong>: <em class="summary">Common utility library.</em>    </li>
-    <li> <strong class="uidlink"><a href="oauth2client.xsrfutil-module.html">oauth2client.xsrfutil</a></strong>: <em class="summary">Helper methods for creating &amp; verifying XSRF tokens.</em>    </li>
-  </ul></td></tr>
-</table>
-
-<br />
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="GOOGLE_AUTH_URI"></a><span class="summary-name">GOOGLE_AUTH_URI</span> = <code title="'https://accounts.google.com/o/oauth2/auth'">'https://accounts.google.com/o/oauth2/auth'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="GOOGLE_REVOKE_URI"></a><span class="summary-name">GOOGLE_REVOKE_URI</span> = <code title="'https://accounts.google.com/o/oauth2/revoke'">'https://accounts.google.com/o/oauth2/revoke'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="GOOGLE_TOKEN_URI"></a><span class="summary-name">GOOGLE_TOKEN_URI</span> = <code title="'https://accounts.google.com/o/oauth2/token'">'https://accounts.google.com/o/oauth2/token'</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client-pysrc.html b/docs/epy/oauth2client-pysrc.html
deleted file mode 100644
index 3eac81e..0000000
--- a/docs/epy/oauth2client-pysrc.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        Package&nbsp;oauth2client
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="oauth2client-module.html">Package oauth2client</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"><tt class="py-name">__version__</tt> <tt class="py-op">=</tt> <tt class="py-docstring">"1.2"</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt>
-<a name="L3"></a><tt class="py-lineno">3</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable oauth2client.GOOGLE_AUTH_URI=oauth2client-module.html#GOOGLE_AUTH_URI"><a title="oauth2client.GOOGLE_AUTH_URI" class="py-name" href="#" onclick="return doclink('link-0', 'GOOGLE_AUTH_URI', 'link-0');">GOOGLE_AUTH_URI</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'https://accounts.google.com/o/oauth2/auth'</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">4</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable oauth2client.GOOGLE_REVOKE_URI=oauth2client-module.html#GOOGLE_REVOKE_URI"><a title="oauth2client.GOOGLE_REVOKE_URI" class="py-name" href="#" onclick="return doclink('link-1', 'GOOGLE_REVOKE_URI', 'link-1');">GOOGLE_REVOKE_URI</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'https://accounts.google.com/o/oauth2/revoke'</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">5</tt>  <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable oauth2client.GOOGLE_TOKEN_URI=oauth2client-module.html#GOOGLE_TOKEN_URI"><a title="oauth2client.GOOGLE_TOKEN_URI" class="py-name" href="#" onclick="return doclink('link-2', 'GOOGLE_TOKEN_URI', 'link-2');">GOOGLE_TOKEN_URI</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'https://accounts.google.com/o/oauth2/token'</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">6</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.anyjson-module.html b/docs/epy/oauth2client.anyjson-module.html
deleted file mode 100644
index 8c3c142..0000000
--- a/docs/epy/oauth2client.anyjson-module.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.anyjson</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;anyjson
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.anyjson-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module anyjson</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.anyjson-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-Utility module to import a JSON module
-
-Hides all the messy details of exactly where
-we get a simplejson module from.
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        jcgregorio@google.com (Joe Gregorio)
-      </p>
-</div><!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.anyjson-pysrc.html b/docs/epy/oauth2client.anyjson-pysrc.html
deleted file mode 100644
index 28d0740..0000000
--- a/docs/epy/oauth2client.anyjson-pysrc.html
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.anyjson</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;anyjson
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.anyjson-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="oauth2client.anyjson-module.html">Module oauth2client.anyjson</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010 Google Inc.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">"""Utility module to import a JSON module</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">Hides all the messy details of exactly where</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">we get a simplejson module from.</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> <tt class="py-comment"># pragma: no cover</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">  <tt class="py-comment"># Should work for Python2.6 and higher.</tt> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">  <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> <tt class="py-keyword">as</tt> <tt class="py-name">simplejson</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> <tt class="py-comment"># pragma: no cover</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">  <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">  <tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">    <tt class="py-comment"># Try to import from django, should work on App Engine</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">    <tt class="py-keyword">from</tt> <tt class="py-name">django</tt><tt class="py-op">.</tt><tt class="py-name">utils</tt> <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
-<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.appengine-module.html b/docs/epy/oauth2client.appengine-module.html
deleted file mode 100644
index aa99fff..0000000
--- a/docs/epy/oauth2client.appengine-module.html
+++ /dev/null
@@ -1,595 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.appengine</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;appengine
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.appengine-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module appengine</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.appengine-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-Utilities for Google App Engine
-
-Utilities for making it easier to use OAuth 2.0 on Google App Engine.
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        jcgregorio@google.com (Joe Gregorio)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.appengine.InvalidClientSecretsError-class.html" class="summary-name">InvalidClientSecretsError</a><br />
-      The client_secrets.json file is malformed or missing required fields.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.appengine.InvalidXsrfTokenError-class.html" class="summary-name">InvalidXsrfTokenError</a><br />
-      The XSRF token is invalid or expired.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.appengine.SiteXsrfSecretKey-class.html" class="summary-name">SiteXsrfSecretKey</a><br />
-      Storage for the sites XSRF secret key.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html" class="summary-name">SiteXsrfSecretKeyNDB</a><br />
-      NDB Model for storage for the sites XSRF secret key.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.appengine.AppAssertionCredentials-class.html" class="summary-name">AppAssertionCredentials</a><br />
-      Credentials object for App Engine Assertion Grants
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.appengine.FlowProperty-class.html" class="summary-name">FlowProperty</a><br />
-      App Engine datastore Property for Flow.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.appengine.FlowNDBProperty-class.html" class="summary-name">FlowNDBProperty</a><br />
-      App Engine NDB datastore Property for Flow.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.appengine.CredentialsProperty-class.html" class="summary-name">CredentialsProperty</a><br />
-      App Engine datastore Property for Credentials.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.appengine.CredentialsNDBProperty-class.html" class="summary-name">CredentialsNDBProperty</a><br />
-      App Engine NDB datastore Property for Credentials.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.appengine.StorageByKeyName-class.html" class="summary-name">StorageByKeyName</a><br />
-      Store and retrieve a credential to and from the App Engine datastore.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.appengine.CredentialsModel-class.html" class="summary-name">CredentialsModel</a><br />
-      Storage for OAuth 2.0 Credentials
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.appengine.CredentialsNDBModel-class.html" class="summary-name">CredentialsNDBModel</a><br />
-      NDB Model for storage of OAuth 2.0 Credentials
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.appengine.OAuth2Decorator-class.html" class="summary-name">OAuth2Decorator</a><br />
-      Utility for making OAuth 2.0 easier.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html" class="summary-name">OAuth2DecoratorFromClientSecrets</a><br />
-      An OAuth2Decorator that builds from a clientsecrets file.
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine-module.html#_safe_html" class="summary-sig-name" onclick="show_private();">_safe_html</a>(<span class="summary-sig-arg">s</span>)</span><br />
-      Escape text to make it safe to display.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#_safe_html">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_generate_new_xsrf_secret_key"></a><span class="summary-sig-name">_generate_new_xsrf_secret_key</span>()</span><br />
-      Returns a random XSRF secret key.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#_generate_new_xsrf_secret_key">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine-module.html#xsrf_secret_key" class="summary-sig-name">xsrf_secret_key</a>()</span><br />
-      Return the secret key for use for XSRF protection.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#xsrf_secret_key">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine-module.html#_build_state_value" class="summary-sig-name" onclick="show_private();">_build_state_value</a>(<span class="summary-sig-arg">request_handler</span>,
-        <span class="summary-sig-arg">user</span>)</span><br />
-      Composes the value for the 'state' parameter.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#_build_state_value">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine-module.html#_parse_state_value" class="summary-sig-name" onclick="show_private();">_parse_state_value</a>(<span class="summary-sig-arg">state</span>,
-        <span class="summary-sig-arg">user</span>)</span><br />
-      Parse the value of the 'state' parameter.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#_parse_state_value">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine-module.html#oauth2decorator_from_clientsecrets" class="summary-sig-name">oauth2decorator_from_clientsecrets</a>(<span class="summary-sig-arg">filename</span>,
-        <span class="summary-sig-arg">scope</span>,
-        <span class="summary-sig-arg">message</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">cache</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Creates an OAuth2Decorator populated from a clientsecrets file.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#oauth2decorator_from_clientsecrets">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="ndb"></a><span class="summary-name">ndb</span> = <code title="None">None</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="OAUTH2CLIENT_NAMESPACE"></a><span class="summary-name">OAUTH2CLIENT_NAMESPACE</span> = <code title="'oauth2client#ns'">'oauth2client#ns'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="XSRF_MEMCACHE_ID"></a><span class="summary-name">XSRF_MEMCACHE_ID</span> = <code title="'xsrf_secret_key'">'xsrf_secret_key'</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="_safe_html"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_safe_html</span>(<span class="sig-arg">s</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#_safe_html">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Escape text to make it safe to display.
-
-Args:
-  s: string, The text to escape.
-
-Returns:
-  The escaped text as a string.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="xsrf_secret_key"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">xsrf_secret_key</span>()</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#xsrf_secret_key">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Return the secret key for use for XSRF protection.
-
-If the Site entity does not have a secret key, this method will also create
-one and persist it.
-
-Returns:
-  The secret key.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_build_state_value"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_build_state_value</span>(<span class="sig-arg">request_handler</span>,
-        <span class="sig-arg">user</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#_build_state_value">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Composes the value for the 'state' parameter.
-
-Packs the current request URI and an XSRF token into an opaque string that
-can be passed to the authentication server via the 'state' parameter.
-
-Args:
-  request_handler: webapp.RequestHandler, The request.
-  user: google.appengine.api.users.User, The current user.
-
-Returns:
-  The state value as a string.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_parse_state_value"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_parse_state_value</span>(<span class="sig-arg">state</span>,
-        <span class="sig-arg">user</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#_parse_state_value">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Parse the value of the 'state' parameter.
-
-Parses the value and validates the XSRF token in the state parameter.
-
-Args:
-  state: string, The value of the state parameter.
-  user: google.appengine.api.users.User, The current user.
-
-Raises:
-  InvalidXsrfTokenError: if the XSRF token is invalid.
-
-Returns:
-  The redirect URI.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="oauth2decorator_from_clientsecrets"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">oauth2decorator_from_clientsecrets</span>(<span class="sig-arg">filename</span>,
-        <span class="sig-arg">scope</span>,
-        <span class="sig-arg">message</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">cache</span>=<span class="sig-default">None</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#oauth2decorator_from_clientsecrets">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Creates an OAuth2Decorator populated from a clientsecrets file.
-
-Args:
-  filename: string, File name of client secrets.
-  scope: string or list of strings, scope(s) of the credentials being
-    requested.
-  message: string, A friendly string to display to the user if the
-    clientsecrets file is missing or invalid. The message may contain HTML and
-    will be presented on the web interface for any method that uses the
-    decorator.
-  cache: An optional cache service client that implements get() and set()
-    methods. See clientsecrets.loadfile() for details.
-
-Returns: An OAuth2Decorator
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.appengine-pysrc.html b/docs/epy/oauth2client.appengine-pysrc.html
deleted file mode 100644
index 20b6f29..0000000
--- a/docs/epy/oauth2client.appengine-pysrc.html
+++ /dev/null
@@ -1,1364 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.appengine</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;appengine
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.appengine-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="oauth2client.appengine-module.html">Module oauth2client.appengine</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010 Google Inc.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">"""Utilities for Google App Engine</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">Utilities for making it easier to use OAuth 2.0 on Google App Engine.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">base64</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">cgi</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">httplib2</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pickle</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">threading</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">google</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Module oauth2client.appengine=oauth2client.appengine-module.html"><a title="oauth2client.appengine" class="py-name" href="#" onclick="return doclink('link-0', 'appengine', 'link-0');">appengine</a></tt><tt class="py-op">.</tt><tt class="py-name">api</tt> <tt class="py-keyword">import</tt> <tt class="py-name">app_identity</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">google</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name"><a title="oauth2client.appengine" class="py-name" href="#" onclick="return doclink('link-1', 'appengine', 'link-0');">appengine</a></tt><tt class="py-op">.</tt><tt class="py-name">api</tt> <tt class="py-keyword">import</tt> <tt class="py-name">memcache</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">google</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name"><a title="oauth2client.appengine" class="py-name" href="#" onclick="return doclink('link-2', 'appengine', 'link-0');">appengine</a></tt><tt class="py-op">.</tt><tt class="py-name">api</tt> <tt class="py-keyword">import</tt> <tt class="py-name">users</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">google</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name"><a title="oauth2client.appengine" class="py-name" href="#" onclick="return doclink('link-3', 'appengine', 'link-0');">appengine</a></tt><tt class="py-op">.</tt><tt class="py-name">ext</tt> <tt class="py-keyword">import</tt> <tt class="py-name">db</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">google</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="oauth2client.appengine" class="py-name" href="#" onclick="return doclink('link-4', 'appengine', 'link-0');">appengine</a></tt><tt class="py-op">.</tt><tt class="py-name">ext</tt> <tt class="py-keyword">import</tt> <tt class="py-name">webapp</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">google</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="oauth2client.appengine" class="py-name" href="#" onclick="return doclink('link-5', 'appengine', 'link-0');">appengine</a></tt><tt class="py-op">.</tt><tt class="py-name">ext</tt><tt class="py-op">.</tt><tt class="py-name">webapp</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Module oauth2client.util=oauth2client.util-module.html"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-6', 'util', 'link-6');">util</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">login_required</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">google</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="oauth2client.appengine" class="py-name" href="#" onclick="return doclink('link-7', 'appengine', 'link-0');">appengine</a></tt><tt class="py-op">.</tt><tt class="py-name">ext</tt><tt class="py-op">.</tt><tt class="py-name">webapp</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-8', 'util', 'link-6');">util</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">run_wsgi_app</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-9" class="py-name" targets="Package oauth2client=oauth2client-module.html"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-9', 'oauth2client', 'link-9');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-10" class="py-name" targets="Variable oauth2client.GOOGLE_AUTH_URI=oauth2client-module.html#GOOGLE_AUTH_URI"><a title="oauth2client.GOOGLE_AUTH_URI" class="py-name" href="#" onclick="return doclink('link-10', 'GOOGLE_AUTH_URI', 'link-10');">GOOGLE_AUTH_URI</a></tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-11" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-11', 'oauth2client', 'link-9');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-12" class="py-name" targets="Variable oauth2client.GOOGLE_REVOKE_URI=oauth2client-module.html#GOOGLE_REVOKE_URI"><a title="oauth2client.GOOGLE_REVOKE_URI" class="py-name" href="#" onclick="return doclink('link-12', 'GOOGLE_REVOKE_URI', 'link-12');">GOOGLE_REVOKE_URI</a></tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-13" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-13', 'oauth2client', 'link-9');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-14" class="py-name" targets="Variable oauth2client.GOOGLE_TOKEN_URI=oauth2client-module.html#GOOGLE_TOKEN_URI"><a title="oauth2client.GOOGLE_TOKEN_URI" class="py-name" href="#" onclick="return doclink('link-14', 'GOOGLE_TOKEN_URI', 'link-14');">GOOGLE_TOKEN_URI</a></tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-15" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-15', 'oauth2client', 'link-9');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-16" class="py-name" targets="Module oauth2client.clientsecrets=oauth2client.clientsecrets-module.html"><a title="oauth2client.clientsecrets" class="py-name" href="#" onclick="return doclink('link-16', 'clientsecrets', 'link-16');">clientsecrets</a></tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-17" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-17', 'oauth2client', 'link-9');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-18" class="py-name"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-18', 'util', 'link-6');">util</a></tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-19" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-19', 'oauth2client', 'link-9');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-20" class="py-name" targets="Module oauth2client.xsrfutil=oauth2client.xsrfutil-module.html"><a title="oauth2client.xsrfutil" class="py-name" href="#" onclick="return doclink('link-20', 'xsrfutil', 'link-20');">xsrfutil</a></tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-21" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-21', 'oauth2client', 'link-9');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Module oauth2client.anyjson=oauth2client.anyjson-module.html"><a title="oauth2client.anyjson" class="py-name" href="#" onclick="return doclink('link-22', 'anyjson', 'link-22');">anyjson</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-23" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-23', 'oauth2client', 'link-9');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Module oauth2client.client=oauth2client.client-module.html"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-24', 'client', 'link-24');">client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-25" class="py-name" targets="Class oauth2client.client.AccessTokenRefreshError=oauth2client.client.AccessTokenRefreshError-class.html"><a title="oauth2client.client.AccessTokenRefreshError" class="py-name" href="#" onclick="return doclink('link-25', 'AccessTokenRefreshError', 'link-25');">AccessTokenRefreshError</a></tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-26" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-26', 'oauth2client', 'link-9');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-27', 'client', 'link-24');">client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-28" class="py-name" targets="Class oauth2client.client.AssertionCredentials=oauth2client.client.AssertionCredentials-class.html"><a title="oauth2client.client.AssertionCredentials" class="py-name" href="#" onclick="return doclink('link-28', 'AssertionCredentials', 'link-28');">AssertionCredentials</a></tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-29" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-29', 'oauth2client', 'link-9');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-30', 'client', 'link-24');">client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-31" class="py-name" targets="Class oauth2client.client.Credentials=oauth2client.client.Credentials-class.html"><a title="oauth2client.client.Credentials" class="py-name" href="#" onclick="return doclink('link-31', 'Credentials', 'link-31');">Credentials</a></tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-32" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-32', 'oauth2client', 'link-9');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-33', 'client', 'link-24');">client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-34" class="py-name" targets="Class oauth2client.client.Flow=oauth2client.client.Flow-class.html"><a title="oauth2client.client.Flow" class="py-name" href="#" onclick="return doclink('link-34', 'Flow', 'link-34');">Flow</a></tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-35" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-35', 'oauth2client', 'link-9');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-36', 'client', 'link-24');">client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-37" class="py-name" targets="Class oauth2client.client.OAuth2WebServerFlow=oauth2client.client.OAuth2WebServerFlow-class.html"><a title="oauth2client.client.OAuth2WebServerFlow" class="py-name" href="#" onclick="return doclink('link-37', 'OAuth2WebServerFlow', 'link-37');">OAuth2WebServerFlow</a></tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-38" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-38', 'oauth2client', 'link-9');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-39', 'client', 'link-24');">client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-40" class="py-name" targets="Class oauth2client.client.Storage=oauth2client.client.Storage-class.html,Class oauth2client.django_orm.Storage=oauth2client.django_orm.Storage-class.html,Class oauth2client.file.Storage=oauth2client.file.Storage-class.html,Class oauth2client.keyring_storage.Storage=oauth2client.keyring_storage.Storage-class.html"><a title="oauth2client.client.Storage
-oauth2client.django_orm.Storage
-oauth2client.file.Storage
-oauth2client.keyring_storage.Storage" class="py-name" href="#" onclick="return doclink('link-40', 'Storage', 'link-40');">Storage</a></tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-comment"># TODO(dhermes): Resolve import issue.</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-comment"># This is a temporary fix for a Google internal issue.</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">google</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="oauth2client.appengine" class="py-name" href="#" onclick="return doclink('link-41', 'appengine', 'link-0');">appengine</a></tt><tt class="py-op">.</tt><tt class="py-name">ext</tt> <tt class="py-keyword">import</tt> <tt id="link-42" class="py-name" targets="Variable oauth2client.appengine.ndb=oauth2client.appengine-module.html#ndb"><a title="oauth2client.appengine.ndb" class="py-name" href="#" onclick="return doclink('link-42', 'ndb', 'link-42');">ndb</a></tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">  <tt id="link-43" class="py-name"><a title="oauth2client.appengine.ndb" class="py-name" href="#" onclick="return doclink('link-43', 'ndb', 'link-42');">ndb</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt id="link-44" class="py-name" targets="Variable apiclient.discovery.logger=apiclient.discovery-module.html#logger,Variable oauth2client.appengine.logger=oauth2client.appengine-module.html#logger,Variable oauth2client.client.logger=oauth2client.client-module.html#logger,Variable oauth2client.crypt.logger=oauth2client.crypt-module.html#logger,Variable oauth2client.gce.logger=oauth2client.gce-module.html#logger,Variable oauth2client.locked_file.logger=oauth2client.locked_file-module.html#logger,Variable oauth2client.multistore_file.logger=oauth2client.multistore_file-module.html#logger,Variable oauth2client.util.logger=oauth2client.util-module.html#logger"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-44', 'logger', 'link-44');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-name">__name__</tt><tt class="py-op">)</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt id="link-45" class="py-name" targets="Variable oauth2client.appengine.OAUTH2CLIENT_NAMESPACE=oauth2client.appengine-module.html#OAUTH2CLIENT_NAMESPACE"><a title="oauth2client.appengine.OAUTH2CLIENT_NAMESPACE" class="py-name" href="#" onclick="return doclink('link-45', 'OAUTH2CLIENT_NAMESPACE', 'link-45');">OAUTH2CLIENT_NAMESPACE</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'oauth2client#ns'</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt id="link-46" class="py-name" targets="Variable oauth2client.appengine.XSRF_MEMCACHE_ID=oauth2client.appengine-module.html#XSRF_MEMCACHE_ID"><a title="oauth2client.appengine.XSRF_MEMCACHE_ID" class="py-name" href="#" onclick="return doclink('link-46', 'XSRF_MEMCACHE_ID', 'link-46');">XSRF_MEMCACHE_ID</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'xsrf_secret_key'</tt> </tt>
-<a name="_safe_html"></a><div id="_safe_html-def"><a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <a class="py-toggle" href="#" id="_safe_html-toggle" onclick="return toggle('_safe_html');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine-module.html#_safe_html">_safe_html</a><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_safe_html-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_safe_html-expanded"><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">  <tt class="py-docstring">"""Escape text to make it safe to display.</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-docstring">    s: string, The text to escape.</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">    The escaped text as a string.</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">cgi</tt><tt class="py-op">.</tt><tt class="py-name">escape</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">,</tt> <tt class="py-name">quote</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"'"</tt><tt class="py-op">,</tt> <tt class="py-string">'&amp;#39;'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"> </tt>
-<a name="InvalidClientSecretsError"></a><div id="InvalidClientSecretsError-def"><a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <a class="py-toggle" href="#" id="InvalidClientSecretsError-toggle" onclick="return toggle('InvalidClientSecretsError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.appengine.InvalidClientSecretsError-class.html">InvalidClientSecretsError</a><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="InvalidClientSecretsError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="InvalidClientSecretsError-expanded"><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">  <tt class="py-docstring">"""The client_secrets.json file is malformed or missing required fields."""</tt> </tt>
-</div><a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"> </tt>
-<a name="InvalidXsrfTokenError"></a><div id="InvalidXsrfTokenError-def"><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <a class="py-toggle" href="#" id="InvalidXsrfTokenError-toggle" onclick="return toggle('InvalidXsrfTokenError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.appengine.InvalidXsrfTokenError-class.html">InvalidXsrfTokenError</a><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="InvalidXsrfTokenError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="InvalidXsrfTokenError-expanded"><a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">  <tt class="py-docstring">"""The XSRF token is invalid or expired."""</tt> </tt>
-</div><a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"> </tt>
-<a name="SiteXsrfSecretKey"></a><div id="SiteXsrfSecretKey-def"><a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <a class="py-toggle" href="#" id="SiteXsrfSecretKey-toggle" onclick="return toggle('SiteXsrfSecretKey');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.appengine.SiteXsrfSecretKey-class.html">SiteXsrfSecretKey</a><tt class="py-op">(</tt><tt class="py-base-class">db</tt><tt class="py-op">.</tt><tt class="py-base-class">Model</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SiteXsrfSecretKey-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SiteXsrfSecretKey-expanded"><a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">  <tt class="py-docstring">"""Storage for the sites XSRF secret key.</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring">  There will only be one instance stored of this model, the one used for the</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring">  site.</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">  <tt id="link-47" class="py-name" targets="Variable oauth2client.appengine.SiteXsrfSecretKey.secret=oauth2client.appengine.SiteXsrfSecretKey-class.html#secret,Variable oauth2client.appengine.SiteXsrfSecretKeyNDB.secret=oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html#secret"><a title="oauth2client.appengine.SiteXsrfSecretKey.secret
-oauth2client.appengine.SiteXsrfSecretKeyNDB.secret" class="py-name" href="#" onclick="return doclink('link-47', 'secret', 'link-47');">secret</a></tt> <tt class="py-op">=</tt> <tt class="py-name">db</tt><tt class="py-op">.</tt><tt class="py-name">StringProperty</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt id="link-48" class="py-name"><a title="oauth2client.appengine.ndb" class="py-name" href="#" onclick="return doclink('link-48', 'ndb', 'link-42');">ndb</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="SiteXsrfSecretKeyNDB"></a><div id="SiteXsrfSecretKeyNDB-def"><a name="L96"></a><tt class="py-lineno"> 96</tt> <a class="py-toggle" href="#" id="SiteXsrfSecretKeyNDB-toggle" onclick="return toggle('SiteXsrfSecretKeyNDB');">-</a><tt class="py-line">  <tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html">SiteXsrfSecretKeyNDB</a><tt class="py-op">(</tt><tt class="py-base-class">ndb</tt><tt class="py-op">.</tt><tt class="py-base-class">Model</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SiteXsrfSecretKeyNDB-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="SiteXsrfSecretKeyNDB-expanded"><a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">    <tt class="py-docstring">"""NDB Model for storage for the sites XSRF secret key.</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt class="py-docstring">    Since this model uses the same kind as SiteXsrfSecretKey, it can be used</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"><tt class="py-docstring">    interchangeably. This simply provides an NDB model for interacting with the</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"><tt class="py-docstring">    same data the DB model interacts with.</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring">    There should only be one instance stored of this model, the one used for the</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-docstring">    site.</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">    <tt id="link-49" class="py-name"><a title="oauth2client.appengine.SiteXsrfSecretKey.secret
-oauth2client.appengine.SiteXsrfSecretKeyNDB.secret" class="py-name" href="#" onclick="return doclink('link-49', 'secret', 'link-47');">secret</a></tt> <tt class="py-op">=</tt> <tt id="link-50" class="py-name"><a title="oauth2client.appengine.ndb" class="py-name" href="#" onclick="return doclink('link-50', 'ndb', 'link-42');">ndb</a></tt><tt class="py-op">.</tt><tt class="py-name">StringProperty</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">classmethod</tt> </tt>
-<a name="SiteXsrfSecretKeyNDB._get_kind"></a><div id="SiteXsrfSecretKeyNDB._get_kind-def"><a name="L109"></a><tt class="py-lineno">109</tt> <a class="py-toggle" href="#" id="SiteXsrfSecretKeyNDB._get_kind-toggle" onclick="return toggle('SiteXsrfSecretKeyNDB._get_kind');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html#_get_kind">_get_kind</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SiteXsrfSecretKeyNDB._get_kind-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="SiteXsrfSecretKeyNDB._get_kind-expanded"><a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">      <tt class="py-docstring">"""Return the kind name for this class."""</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-string">'SiteXsrfSecretKey'</tt> </tt>
-</div></div><a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"> </tt>
-<a name="_generate_new_xsrf_secret_key"></a><div id="_generate_new_xsrf_secret_key-def"><a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <a class="py-toggle" href="#" id="_generate_new_xsrf_secret_key-toggle" onclick="return toggle('_generate_new_xsrf_secret_key');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine-module.html#_generate_new_xsrf_secret_key">_generate_new_xsrf_secret_key</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_generate_new_xsrf_secret_key-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_generate_new_xsrf_secret_key-expanded"><a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">  <tt class="py-docstring">"""Returns a random XSRF secret key.</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">urandom</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">"hex"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"> </tt>
-<a name="xsrf_secret_key"></a><div id="xsrf_secret_key-def"><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <a class="py-toggle" href="#" id="xsrf_secret_key-toggle" onclick="return toggle('xsrf_secret_key');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine-module.html#xsrf_secret_key">xsrf_secret_key</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="xsrf_secret_key-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="xsrf_secret_key-expanded"><a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">  <tt class="py-docstring">"""Return the secret key for use for XSRF protection.</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring">  If the Site entity does not have a secret key, this method will also create</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">  one and persist it.</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">    The secret key.</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">  <tt id="link-51" class="py-name"><a title="oauth2client.appengine.SiteXsrfSecretKey.secret
-oauth2client.appengine.SiteXsrfSecretKeyNDB.secret" class="py-name" href="#" onclick="return doclink('link-51', 'secret', 'link-47');">secret</a></tt> <tt class="py-op">=</tt> <tt class="py-name">memcache</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name" targets="Method apiclient.schema.Schemas.get()=apiclient.schema.Schemas-class.html#get,Method oauth2client.client.MemoryCache.get()=oauth2client.client.MemoryCache-class.html#get,Method oauth2client.client.Storage.get()=oauth2client.client.Storage-class.html#get"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-52', 'get', 'link-52');">get</a></tt><tt class="py-op">(</tt><tt id="link-53" class="py-name"><a title="oauth2client.appengine.XSRF_MEMCACHE_ID" class="py-name" href="#" onclick="return doclink('link-53', 'XSRF_MEMCACHE_ID', 'link-46');">XSRF_MEMCACHE_ID</a></tt><tt class="py-op">,</tt> <tt class="py-name">namespace</tt><tt class="py-op">=</tt><tt id="link-54" class="py-name"><a title="oauth2client.appengine.OAUTH2CLIENT_NAMESPACE" class="py-name" href="#" onclick="return doclink('link-54', 'OAUTH2CLIENT_NAMESPACE', 'link-45');">OAUTH2CLIENT_NAMESPACE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-55" class="py-name"><a title="oauth2client.appengine.SiteXsrfSecretKey.secret
-oauth2client.appengine.SiteXsrfSecretKeyNDB.secret" class="py-name" href="#" onclick="return doclink('link-55', 'secret', 'link-47');">secret</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">    <tt class="py-comment"># Load the one and only instance of SiteXsrfSecretKey.</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">    <tt id="link-56" class="py-name" targets="Module apiclient.model=apiclient.model-module.html"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-56', 'model', 'link-56');">model</a></tt> <tt class="py-op">=</tt> <tt id="link-57" class="py-name" targets="Class oauth2client.appengine.SiteXsrfSecretKey=oauth2client.appengine.SiteXsrfSecretKey-class.html"><a title="oauth2client.appengine.SiteXsrfSecretKey" class="py-name" href="#" onclick="return doclink('link-57', 'SiteXsrfSecretKey', 'link-57');">SiteXsrfSecretKey</a></tt><tt class="py-op">.</tt><tt class="py-name">get_or_insert</tt><tt class="py-op">(</tt><tt class="py-name">key_name</tt><tt class="py-op">=</tt><tt class="py-string">'site'</tt><tt class="py-op">)</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-58" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-58', 'model', 'link-56');">model</a></tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="oauth2client.appengine.SiteXsrfSecretKey.secret
-oauth2client.appengine.SiteXsrfSecretKeyNDB.secret" class="py-name" href="#" onclick="return doclink('link-59', 'secret', 'link-47');">secret</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">      <tt id="link-60" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-60', 'model', 'link-56');">model</a></tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="oauth2client.appengine.SiteXsrfSecretKey.secret
-oauth2client.appengine.SiteXsrfSecretKeyNDB.secret" class="py-name" href="#" onclick="return doclink('link-61', 'secret', 'link-47');">secret</a></tt> <tt class="py-op">=</tt> <tt id="link-62" class="py-name" targets="Function oauth2client.appengine._generate_new_xsrf_secret_key()=oauth2client.appengine-module.html#_generate_new_xsrf_secret_key"><a title="oauth2client.appengine._generate_new_xsrf_secret_key" class="py-name" href="#" onclick="return doclink('link-62', '_generate_new_xsrf_secret_key', 'link-62');">_generate_new_xsrf_secret_key</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">      <tt id="link-63" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-63', 'model', 'link-56');">model</a></tt><tt class="py-op">.</tt><tt id="link-64" class="py-name" targets="Method oauth2client.client.Storage.put()=oauth2client.client.Storage-class.html#put"><a title="oauth2client.client.Storage.put" class="py-name" href="#" onclick="return doclink('link-64', 'put', 'link-64');">put</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">    <tt id="link-65" class="py-name"><a title="oauth2client.appengine.SiteXsrfSecretKey.secret
-oauth2client.appengine.SiteXsrfSecretKeyNDB.secret" class="py-name" href="#" onclick="return doclink('link-65', 'secret', 'link-47');">secret</a></tt> <tt class="py-op">=</tt> <tt id="link-66" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-66', 'model', 'link-56');">model</a></tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="oauth2client.appengine.SiteXsrfSecretKey.secret
-oauth2client.appengine.SiteXsrfSecretKeyNDB.secret" class="py-name" href="#" onclick="return doclink('link-67', 'secret', 'link-47');">secret</a></tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">    <tt class="py-name">memcache</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name" targets="Method apiclient.http.BatchHttpRequest.add()=apiclient.http.BatchHttpRequest-class.html#add"><a title="apiclient.http.BatchHttpRequest.add" class="py-name" href="#" onclick="return doclink('link-68', 'add', 'link-68');">add</a></tt><tt class="py-op">(</tt><tt id="link-69" class="py-name"><a title="oauth2client.appengine.XSRF_MEMCACHE_ID" class="py-name" href="#" onclick="return doclink('link-69', 'XSRF_MEMCACHE_ID', 'link-46');">XSRF_MEMCACHE_ID</a></tt><tt class="py-op">,</tt> <tt id="link-70" class="py-name"><a title="oauth2client.appengine.SiteXsrfSecretKey.secret
-oauth2client.appengine.SiteXsrfSecretKeyNDB.secret" class="py-name" href="#" onclick="return doclink('link-70', 'secret', 'link-47');">secret</a></tt><tt class="py-op">,</tt> <tt class="py-name">namespace</tt><tt class="py-op">=</tt><tt id="link-71" class="py-name"><a title="oauth2client.appengine.OAUTH2CLIENT_NAMESPACE" class="py-name" href="#" onclick="return doclink('link-71', 'OAUTH2CLIENT_NAMESPACE', 'link-45');">OAUTH2CLIENT_NAMESPACE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-72" class="py-name"><a title="oauth2client.appengine.SiteXsrfSecretKey.secret
-oauth2client.appengine.SiteXsrfSecretKeyNDB.secret" class="py-name" href="#" onclick="return doclink('link-72', 'secret', 'link-47');">secret</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"> </tt>
-<a name="AppAssertionCredentials"></a><div id="AppAssertionCredentials-def"><a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <a class="py-toggle" href="#" id="AppAssertionCredentials-toggle" onclick="return toggle('AppAssertionCredentials');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.appengine.AppAssertionCredentials-class.html">AppAssertionCredentials</a><tt class="py-op">(</tt><tt class="py-base-class">AssertionCredentials</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AppAssertionCredentials-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="AppAssertionCredentials-expanded"><a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">  <tt class="py-docstring">"""Credentials object for App Engine Assertion Grants</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-docstring">  This object will allow an App Engine application to identify itself to Google</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-docstring">  and other OAuth 2.0 servers that can verify assertions. It can be used for the</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-docstring">  purpose of accessing data stored under an account assigned to the App Engine</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-docstring">  application itself.</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-docstring">  This credential does not require a flow to instantiate because it represents</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-docstring">  a two legged flow, and therefore has all of the required information to</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">  generate and refresh its own access tokens.</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name" targets="Function oauth2client.util.positional()=oauth2client.util-module.html#positional"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-73', 'positional', 'link-73');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="AppAssertionCredentials.__init__"></a><div id="AppAssertionCredentials.__init__-def"><a name="L156"></a><tt class="py-lineno">156</tt> <a class="py-toggle" href="#" id="AppAssertionCredentials.__init__-toggle" onclick="return toggle('AppAssertionCredentials.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.AppAssertionCredentials-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">scope</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AppAssertionCredentials.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="AppAssertionCredentials.__init__-expanded"><a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for AppAssertionCredentials</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-docstring">      scope: string or iterable of strings, scope(s) of the credentials being</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-docstring">        requested.</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">scope</tt> <tt class="py-op">=</tt> <tt id="link-74" class="py-name"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-74', 'util', 'link-6');">util</a></tt><tt class="py-op">.</tt><tt id="link-75" class="py-name" targets="Function oauth2client.util.scopes_to_string()=oauth2client.util-module.html#scopes_to_string"><a title="oauth2client.util.scopes_to_string" class="py-name" href="#" onclick="return doclink('link-75', 'scopes_to_string', 'link-75');">scopes_to_string</a></tt><tt class="py-op">(</tt><tt class="py-name">scope</tt><tt class="py-op">)</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">    <tt class="py-comment"># Assertion type is no longer used, but still in the parent class signature.</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-76" class="py-name" targets="Class oauth2client.appengine.AppAssertionCredentials=oauth2client.appengine.AppAssertionCredentials-class.html,Class oauth2client.gce.AppAssertionCredentials=oauth2client.gce.AppAssertionCredentials-class.html"><a title="oauth2client.appengine.AppAssertionCredentials
-oauth2client.gce.AppAssertionCredentials" class="py-name" href="#" onclick="return doclink('link-76', 'AppAssertionCredentials', 'link-76');">AppAssertionCredentials</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name" targets="Method apiclient.channel.Channel.__init__()=apiclient.channel.Channel-class.html#__init__,Method apiclient.channel.Notification.__init__()=apiclient.channel.Notification-class.html#__init__,Method apiclient.discovery.Resource.__init__()=apiclient.discovery.Resource-class.html#__init__,Method apiclient.discovery.ResourceMethodParameters.__init__()=apiclient.discovery.ResourceMethodParameters-class.html#__init__,Method apiclient.errors.BatchError.__init__()=apiclient.errors.BatchError-class.html#__init__,Method apiclient.errors.HttpError.__init__()=apiclient.errors.HttpError-class.html#__init__,Method apiclient.errors.UnexpectedBodyError.__init__()=apiclient.errors.UnexpectedBodyError-class.html#__init__,Method apiclient.errors.UnexpectedMethodError.__init__()=apiclient.errors.UnexpectedMethodError-class.html#__init__,Method apiclient.http.BatchHttpRequest.__init__()=apiclient.http.BatchHttpRequest-class.html#__init__,Method apiclient.http.HttpMock.__init__()=apiclient.http.HttpMock-class.html#__init__,Method apiclient.http.HttpMockSequence.__init__()=apiclient.http.HttpMockSequence-class.html#__init__,Method apiclient.http.HttpRequest.__init__()=apiclient.http.HttpRequest-class.html#__init__,Method apiclient.http.HttpRequestMock.__init__()=apiclient.http.HttpRequestMock-class.html#__init__,Method apiclient.http.MediaDownloadProgress.__init__()=apiclient.http.MediaDownloadProgress-class.html#__init__,Method apiclient.http.MediaFileUpload.__init__()=apiclient.http.MediaFileUpload-class.html#__init__,Method apiclient.http.MediaInMemoryUpload.__init__()=apiclient.http.MediaInMemoryUpload-class.html#__init__,Method apiclient.http.MediaIoBaseDownload.__init__()=apiclient.http.MediaIoBaseDownload-class.html#__init__,Method apiclient.http.MediaIoBaseUpload.__init__()=apiclient.http.MediaIoBaseUpload-class.html#__init__,Method apiclient.http.MediaUploadProgress.__init__()=apiclient.http.MediaUploadProgress-class.html#__init__,Method apiclient.http.RequestMockBuilder.__init__()=apiclient.http.RequestMockBuilder-class.html#__init__,Method apiclient.http._StreamSlice.__init__()=apiclient.http._StreamSlice-class.html#__init__,Method apiclient.model.JsonModel.__init__()=apiclient.model.JsonModel-class.html#__init__,Method apiclient.model.ProtocolBufferModel.__init__()=apiclient.model.ProtocolBufferModel-class.html#__init__,Method apiclient.schema.Schemas.__init__()=apiclient.schema.Schemas-class.html#__init__,Method apiclient.schema._SchemaToStruct.__init__()=apiclient.schema._SchemaToStruct-class.html#__init__,Method oauth2client.appengine.AppAssertionCredentials.__init__()=oauth2client.appengine.AppAssertionCredentials-class.html#__init__,Method oauth2client.appengine.OAuth2Decorator.__init__()=oauth2client.appengine.OAuth2Decorator-class.html#__init__,Method oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__()=oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html#__init__,Method oauth2client.appengine.StorageByKeyName.__init__()=oauth2client.appengine.StorageByKeyName-class.html#__init__,Method oauth2client.client.AccessTokenCredentials.__init__()=oauth2client.client.AccessTokenCredentials-class.html#__init__,Method oauth2client.client.AssertionCredentials.__init__()=oauth2client.client.AssertionCredentials-class.html#__init__,Method oauth2client.client.MemoryCache.__init__()=oauth2client.client.MemoryCache-class.html#__init__,Method oauth2client.client.OAuth2Credentials.__init__()=oauth2client.client.OAuth2Credentials-class.html#__init__,Method oauth2client.client.OAuth2WebServerFlow.__init__()=oauth2client.client.OAuth2WebServerFlow-class.html#__init__,Method oauth2client.client.SignedJwtAssertionCredentials.__init__()=oauth2client.client.SignedJwtAssertionCredentials-class.html#__init__,Method oauth2client.django_orm.CredentialsField.__init__()=oauth2client.django_orm.CredentialsField-class.html#__init__,Method oauth2client.django_orm.FlowField.__init__()=oauth2client.django_orm.FlowField-class.html#__init__,Method oauth2client.django_orm.Storage.__init__()=oauth2client.django_orm.Storage-class.html#__init__,Method oauth2client.file.Storage.__init__()=oauth2client.file.Storage-class.html#__init__,Method oauth2client.gce.AppAssertionCredentials.__init__()=oauth2client.gce.AppAssertionCredentials-class.html#__init__,Method oauth2client.keyring_storage.Storage.__init__()=oauth2client.keyring_storage.Storage-class.html#__init__,Method oauth2client.locked_file.LockedFile.__init__()=oauth2client.locked_file.LockedFile-class.html#__init__,Method oauth2client.locked_file._Opener.__init__()=oauth2client.locked_file._Opener-class.html#__init__,Method oauth2client.multistore_file._MultiStore._Storage.__init__()=oauth2client.multistore_file._MultiStore._Storage-class.html#__init__,Method oauth2client.multistore_file._MultiStore.__init__()=oauth2client.multistore_file._MultiStore-class.html#__init__"><a title="apiclient.channel.Channel.__init__
-apiclient.channel.Notification.__init__
-apiclient.discovery.Resource.__init__
-apiclient.discovery.ResourceMethodParameters.__init__
-apiclient.errors.BatchError.__init__
-apiclient.errors.HttpError.__init__
-apiclient.errors.UnexpectedBodyError.__init__
-apiclient.errors.UnexpectedMethodError.__init__
-apiclient.http.BatchHttpRequest.__init__
-apiclient.http.HttpMock.__init__
-apiclient.http.HttpMockSequence.__init__
-apiclient.http.HttpRequest.__init__
-apiclient.http.HttpRequestMock.__init__
-apiclient.http.MediaDownloadProgress.__init__
-apiclient.http.MediaFileUpload.__init__
-apiclient.http.MediaInMemoryUpload.__init__
-apiclient.http.MediaIoBaseDownload.__init__
-apiclient.http.MediaIoBaseUpload.__init__
-apiclient.http.MediaUploadProgress.__init__
-apiclient.http.RequestMockBuilder.__init__
-apiclient.http._StreamSlice.__init__
-apiclient.model.JsonModel.__init__
-apiclient.model.ProtocolBufferModel.__init__
-apiclient.schema.Schemas.__init__
-apiclient.schema._SchemaToStruct.__init__
-oauth2client.appengine.AppAssertionCredentials.__init__
-oauth2client.appengine.OAuth2Decorator.__init__
-oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__
-oauth2client.appengine.StorageByKeyName.__init__
-oauth2client.client.AccessTokenCredentials.__init__
-oauth2client.client.AssertionCredentials.__init__
-oauth2client.client.MemoryCache.__init__
-oauth2client.client.OAuth2Credentials.__init__
-oauth2client.client.OAuth2WebServerFlow.__init__
-oauth2client.client.SignedJwtAssertionCredentials.__init__
-oauth2client.django_orm.CredentialsField.__init__
-oauth2client.django_orm.FlowField.__init__
-oauth2client.django_orm.Storage.__init__
-oauth2client.file.Storage.__init__
-oauth2client.gce.AppAssertionCredentials.__init__
-oauth2client.keyring_storage.Storage.__init__
-oauth2client.locked_file.LockedFile.__init__
-oauth2client.locked_file._Opener.__init__
-oauth2client.multistore_file._MultiStore._Storage.__init__
-oauth2client.multistore_file._MultiStore.__init__" class="py-name" href="#" onclick="return doclink('link-77', '__init__', 'link-77');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">classmethod</tt> </tt>
-<a name="AppAssertionCredentials.from_json"></a><div id="AppAssertionCredentials.from_json-def"><a name="L169"></a><tt class="py-lineno">169</tt> <a class="py-toggle" href="#" id="AppAssertionCredentials.from_json-toggle" onclick="return toggle('AppAssertionCredentials.from_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.AppAssertionCredentials-class.html#from_json">from_json</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">json</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AppAssertionCredentials.from_json-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="AppAssertionCredentials.from_json-expanded"><a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">    <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name" targets="Function oauth2client.clientsecrets.loads()=oauth2client.clientsecrets-module.html#loads"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-78', 'loads', 'link-78');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">json</tt><tt class="py-op">)</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-79" class="py-name"><a title="oauth2client.appengine.AppAssertionCredentials
-oauth2client.gce.AppAssertionCredentials" class="py-name" href="#" onclick="return doclink('link-79', 'AppAssertionCredentials', 'link-76');">AppAssertionCredentials</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'scope'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"> </tt>
-<a name="AppAssertionCredentials._refresh"></a><div id="AppAssertionCredentials._refresh-def"><a name="L173"></a><tt class="py-lineno">173</tt> <a class="py-toggle" href="#" id="AppAssertionCredentials._refresh-toggle" onclick="return toggle('AppAssertionCredentials._refresh');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.AppAssertionCredentials-class.html#_refresh">_refresh</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http_request</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AppAssertionCredentials._refresh-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="AppAssertionCredentials._refresh-expanded"><a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">    <tt class="py-docstring">"""Refreshes the access_token.</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-docstring">    Since the underlying App Engine app_identity implementation does its own</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-docstring">    caching we can skip all the storage hoops and just to a refresh using the</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-docstring">    API.</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"><tt class="py-docstring">      http_request: callable, a callable that matches the method signature of</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"><tt class="py-docstring">        httplib2.Http.request, used to make the refresh request.</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-docstring">      AccessTokenRefreshError: When the refresh fails.</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">      <tt class="py-name">scopes</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">scope</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">      <tt class="py-op">(</tt><tt class="py-name">token</tt><tt class="py-op">,</tt> <tt class="py-name">_</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">app_identity</tt><tt class="py-op">.</tt><tt class="py-name">get_access_token</tt><tt class="py-op">(</tt><tt class="py-name">scopes</tt><tt class="py-op">)</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">app_identity</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name" targets="Class apiclient.errors.Error=apiclient.errors.Error-class.html,Class oauth2client.client.Error=oauth2client.client.Error-class.html,Class oauth2client.clientsecrets.Error=oauth2client.clientsecrets.Error-class.html,Class oauth2client.multistore_file.Error=oauth2client.multistore_file.Error-class.html"><a title="apiclient.errors.Error
-oauth2client.client.Error
-oauth2client.clientsecrets.Error
-oauth2client.multistore_file.Error" class="py-name" href="#" onclick="return doclink('link-80', 'Error', 'link-80');">Error</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-81" class="py-name"><a title="oauth2client.client.AccessTokenRefreshError" class="py-name" href="#" onclick="return doclink('link-81', 'AccessTokenRefreshError', 'link-25');">AccessTokenRefreshError</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">access_token</tt> <tt class="py-op">=</tt> <tt class="py-name">token</tt> </tt>
-</div></div><a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"> </tt>
-<a name="FlowProperty"></a><div id="FlowProperty-def"><a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt> <a class="py-toggle" href="#" id="FlowProperty-toggle" onclick="return toggle('FlowProperty');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.appengine.FlowProperty-class.html">FlowProperty</a><tt class="py-op">(</tt><tt class="py-base-class">db</tt><tt class="py-op">.</tt><tt class="py-base-class">Property</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FlowProperty-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="FlowProperty-expanded"><a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">  <tt class="py-docstring">"""App Engine datastore Property for Flow.</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"><tt class="py-docstring">  Utility property that allows easy storage and retrieval of an</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line"><tt class="py-docstring">  oauth2client.Flow"""</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line"> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">  <tt class="py-comment"># Tell what the user type is.</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">  <tt id="link-82" class="py-name" targets="Variable oauth2client.appengine.CredentialsProperty.data_type=oauth2client.appengine.CredentialsProperty-class.html#data_type,Variable oauth2client.appengine.FlowProperty.data_type=oauth2client.appengine.FlowProperty-class.html#data_type"><a title="oauth2client.appengine.CredentialsProperty.data_type
-oauth2client.appengine.FlowProperty.data_type" class="py-name" href="#" onclick="return doclink('link-82', 'data_type', 'link-82');">data_type</a></tt> <tt class="py-op">=</tt> <tt id="link-83" class="py-name"><a title="oauth2client.client.Flow" class="py-name" href="#" onclick="return doclink('link-83', 'Flow', 'link-34');">Flow</a></tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line"> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">  <tt class="py-comment"># For writing to datastore.</tt> </tt>
-<a name="FlowProperty.get_value_for_datastore"></a><div id="FlowProperty.get_value_for_datastore-def"><a name="L205"></a><tt class="py-lineno">205</tt> <a class="py-toggle" href="#" id="FlowProperty.get_value_for_datastore-toggle" onclick="return toggle('FlowProperty.get_value_for_datastore');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.FlowProperty-class.html#get_value_for_datastore">get_value_for_datastore</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">model_instance</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FlowProperty.get_value_for_datastore-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="FlowProperty.get_value_for_datastore-expanded"><a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">    <tt id="link-84" class="py-name" targets="Variable oauth2client.appengine.OAuth2Decorator.flow=oauth2client.appengine.OAuth2Decorator-class.html#flow"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-84', 'flow', 'link-84');">flow</a></tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-85" class="py-name" targets="Class oauth2client.appengine.FlowProperty=oauth2client.appengine.FlowProperty-class.html"><a title="oauth2client.appengine.FlowProperty" class="py-name" href="#" onclick="return doclink('link-85', 'FlowProperty', 'link-85');">FlowProperty</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">                 <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name" targets="Method oauth2client.appengine.CredentialsProperty.get_value_for_datastore()=oauth2client.appengine.CredentialsProperty-class.html#get_value_for_datastore,Method oauth2client.appengine.FlowProperty.get_value_for_datastore()=oauth2client.appengine.FlowProperty-class.html#get_value_for_datastore"><a title="oauth2client.appengine.CredentialsProperty.get_value_for_datastore
-oauth2client.appengine.FlowProperty.get_value_for_datastore" class="py-name" href="#" onclick="return doclink('link-86', 'get_value_for_datastore', 'link-86');">get_value_for_datastore</a></tt><tt class="py-op">(</tt><tt class="py-name">model_instance</tt><tt class="py-op">)</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">db</tt><tt class="py-op">.</tt><tt class="py-name">Blob</tt><tt class="py-op">(</tt><tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt id="link-87" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-87', 'flow', 'link-84');">flow</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">  <tt class="py-comment"># For reading from datastore.</tt> </tt>
-<a name="FlowProperty.make_value_from_datastore"></a><div id="FlowProperty.make_value_from_datastore-def"><a name="L211"></a><tt class="py-lineno">211</tt> <a class="py-toggle" href="#" id="FlowProperty.make_value_from_datastore-toggle" onclick="return toggle('FlowProperty.make_value_from_datastore');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.FlowProperty-class.html#make_value_from_datastore">make_value_from_datastore</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FlowProperty.make_value_from_datastore-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="FlowProperty.make_value_from_datastore-expanded"><a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-88', 'loads', 'link-78');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"> </tt>
-<a name="FlowProperty.validate"></a><div id="FlowProperty.validate-def"><a name="L216"></a><tt class="py-lineno">216</tt> <a class="py-toggle" href="#" id="FlowProperty.validate-toggle" onclick="return toggle('FlowProperty.validate');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.FlowProperty-class.html#validate">validate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FlowProperty.validate-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="FlowProperty.validate-expanded"><a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt id="link-89" class="py-name"><a title="oauth2client.client.Flow" class="py-name" href="#" onclick="return doclink('link-89', 'Flow', 'link-34');">Flow</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt class="py-name">db</tt><tt class="py-op">.</tt><tt class="py-name">BadValueError</tt><tt class="py-op">(</tt><tt class="py-string">'Property %s must be convertible '</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">                          <tt class="py-string">'to a FlowThreeLegged instance (%s)'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">                          <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-90" class="py-name"><a title="oauth2client.appengine.FlowProperty" class="py-name" href="#" onclick="return doclink('link-90', 'FlowProperty', 'link-85');">FlowProperty</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name" targets="Method oauth2client.appengine.CredentialsProperty.validate()=oauth2client.appengine.CredentialsProperty-class.html#validate,Method oauth2client.appengine.FlowProperty.validate()=oauth2client.appengine.FlowProperty-class.html#validate"><a title="oauth2client.appengine.CredentialsProperty.validate
-oauth2client.appengine.FlowProperty.validate" class="py-name" href="#" onclick="return doclink('link-91', 'validate', 'link-91');">validate</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"> </tt>
-<a name="FlowProperty.empty"></a><div id="FlowProperty.empty-def"><a name="L223"></a><tt class="py-lineno">223</tt> <a class="py-toggle" href="#" id="FlowProperty.empty-toggle" onclick="return toggle('FlowProperty.empty');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.FlowProperty-class.html#empty">empty</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FlowProperty.empty-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="FlowProperty.empty-expanded"><a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-keyword">not</tt> <tt class="py-name">value</tt> </tt>
-</div></div><a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt id="link-92" class="py-name"><a title="oauth2client.appengine.ndb" class="py-name" href="#" onclick="return doclink('link-92', 'ndb', 'link-42');">ndb</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="FlowNDBProperty"></a><div id="FlowNDBProperty-def"><a name="L228"></a><tt class="py-lineno">228</tt> <a class="py-toggle" href="#" id="FlowNDBProperty-toggle" onclick="return toggle('FlowNDBProperty');">-</a><tt class="py-line">  <tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.appengine.FlowNDBProperty-class.html">FlowNDBProperty</a><tt class="py-op">(</tt><tt class="py-base-class">ndb</tt><tt class="py-op">.</tt><tt class="py-base-class">PickleProperty</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FlowNDBProperty-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="FlowNDBProperty-expanded"><a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">    <tt class="py-docstring">"""App Engine NDB datastore Property for Flow.</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring">    Serves the same purpose as the DB FlowProperty, but for NDB models. Since</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"><tt class="py-docstring">    PickleProperty inherits from BlobProperty, the underlying representation of</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"><tt class="py-docstring">    the data in the datastore will be the same as in the DB case.</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-docstring">    Utility property that allows easy storage and retrieval of an</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-docstring">    oauth2client.Flow</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"> </tt>
-<a name="FlowNDBProperty._validate"></a><div id="FlowNDBProperty._validate-def"><a name="L239"></a><tt class="py-lineno">239</tt> <a class="py-toggle" href="#" id="FlowNDBProperty._validate-toggle" onclick="return toggle('FlowNDBProperty._validate');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.FlowNDBProperty-class.html#_validate">_validate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FlowNDBProperty._validate-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="FlowNDBProperty._validate-expanded"><a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">      <tt class="py-docstring">"""Validates a value as a proper Flow object.</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"><tt class="py-docstring">        value: A value to be set on the property.</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"><tt class="py-docstring">      Raises:</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"><tt class="py-docstring">        TypeError if the value is not an instance of Flow.</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">      <tt id="link-93" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-93', 'logger', 'link-44');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'validate: Got type %s'</tt><tt class="py-op">,</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt id="link-94" class="py-name"><a title="oauth2client.client.Flow" class="py-name" href="#" onclick="return doclink('link-94', 'Flow', 'link-34');">Flow</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">'Property %s must be convertible to a flow '</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">                        <tt class="py-string">'instance; received: %s.'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_name</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"> </tt>
-<a name="CredentialsProperty"></a><div id="CredentialsProperty-def"><a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line"> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt> <a class="py-toggle" href="#" id="CredentialsProperty-toggle" onclick="return toggle('CredentialsProperty');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.appengine.CredentialsProperty-class.html">CredentialsProperty</a><tt class="py-op">(</tt><tt class="py-base-class">db</tt><tt class="py-op">.</tt><tt class="py-base-class">Property</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CredentialsProperty-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="CredentialsProperty-expanded"><a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">  <tt class="py-docstring">"""App Engine datastore Property for Credentials.</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"><tt class="py-docstring">  Utility property that allows easy storage and retrieval of</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line"><tt class="py-docstring">  oath2client.Credentials</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">  <tt class="py-comment"># Tell what the user type is.</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">  <tt id="link-95" class="py-name"><a title="oauth2client.appengine.CredentialsProperty.data_type
-oauth2client.appengine.FlowProperty.data_type" class="py-name" href="#" onclick="return doclink('link-95', 'data_type', 'link-82');">data_type</a></tt> <tt class="py-op">=</tt> <tt id="link-96" class="py-name"><a title="oauth2client.client.Credentials" class="py-name" href="#" onclick="return doclink('link-96', 'Credentials', 'link-31');">Credentials</a></tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line"> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">  <tt class="py-comment"># For writing to datastore.</tt> </tt>
-<a name="CredentialsProperty.get_value_for_datastore"></a><div id="CredentialsProperty.get_value_for_datastore-def"><a name="L265"></a><tt class="py-lineno">265</tt> <a class="py-toggle" href="#" id="CredentialsProperty.get_value_for_datastore-toggle" onclick="return toggle('CredentialsProperty.get_value_for_datastore');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.CredentialsProperty-class.html#get_value_for_datastore">get_value_for_datastore</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">model_instance</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CredentialsProperty.get_value_for_datastore-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="CredentialsProperty.get_value_for_datastore-expanded"><a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">    <tt id="link-97" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-97', 'logger', 'link-44');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"get: Got type "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">model_instance</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">    <tt class="py-name">cred</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-98" class="py-name" targets="Class oauth2client.appengine.CredentialsProperty=oauth2client.appengine.CredentialsProperty-class.html"><a title="oauth2client.appengine.CredentialsProperty" class="py-name" href="#" onclick="return doclink('link-98', 'CredentialsProperty', 'link-98');">CredentialsProperty</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">                 <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="oauth2client.appengine.CredentialsProperty.get_value_for_datastore
-oauth2client.appengine.FlowProperty.get_value_for_datastore" class="py-name" href="#" onclick="return doclink('link-99', 'get_value_for_datastore', 'link-86');">get_value_for_datastore</a></tt><tt class="py-op">(</tt><tt class="py-name">model_instance</tt><tt class="py-op">)</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">cred</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">      <tt class="py-name">cred</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">      <tt class="py-name">cred</tt> <tt class="py-op">=</tt> <tt class="py-name">cred</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name" targets="Method apiclient.http.HttpRequest.to_json()=apiclient.http.HttpRequest-class.html#to_json,Method apiclient.http.MediaFileUpload.to_json()=apiclient.http.MediaFileUpload-class.html#to_json,Method apiclient.http.MediaIoBaseUpload.to_json()=apiclient.http.MediaIoBaseUpload-class.html#to_json,Method apiclient.http.MediaUpload.to_json()=apiclient.http.MediaUpload-class.html#to_json,Method oauth2client.client.Credentials.to_json()=oauth2client.client.Credentials-class.html#to_json,Method oauth2client.client.OAuth2Credentials.to_json()=oauth2client.client.OAuth2Credentials-class.html#to_json"><a title="apiclient.http.HttpRequest.to_json
-apiclient.http.MediaFileUpload.to_json
-apiclient.http.MediaIoBaseUpload.to_json
-apiclient.http.MediaUpload.to_json
-oauth2client.client.Credentials.to_json
-oauth2client.client.OAuth2Credentials.to_json" class="py-name" href="#" onclick="return doclink('link-100', 'to_json', 'link-100');">to_json</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">db</tt><tt class="py-op">.</tt><tt class="py-name">Blob</tt><tt class="py-op">(</tt><tt class="py-name">cred</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">  <tt class="py-comment"># For reading from datastore.</tt> </tt>
-<a name="CredentialsProperty.make_value_from_datastore"></a><div id="CredentialsProperty.make_value_from_datastore-def"><a name="L276"></a><tt class="py-lineno">276</tt> <a class="py-toggle" href="#" id="CredentialsProperty.make_value_from_datastore-toggle" onclick="return toggle('CredentialsProperty.make_value_from_datastore');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.CredentialsProperty-class.html#make_value_from_datastore">make_value_from_datastore</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CredentialsProperty.make_value_from_datastore-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="CredentialsProperty.make_value_from_datastore-expanded"><a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">    <tt id="link-101" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-101', 'logger', 'link-44');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"make: Got type "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">      <tt id="link-102" class="py-name" targets="Variable oauth2client.appengine.CredentialsModel.credentials=oauth2client.appengine.CredentialsModel-class.html#credentials,Variable oauth2client.appengine.CredentialsNDBModel.credentials=oauth2client.appengine.CredentialsNDBModel-class.html#credentials,Variable oauth2client.appengine.OAuth2Decorator.credentials=oauth2client.appengine.OAuth2Decorator-class.html#credentials"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-102', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-op">=</tt> <tt id="link-103" class="py-name"><a title="oauth2client.client.Credentials" class="py-name" href="#" onclick="return doclink('link-103', 'Credentials', 'link-31');">Credentials</a></tt><tt class="py-op">.</tt><tt id="link-104" class="py-name" targets="Class Method apiclient.http.MediaUpload.new_from_json()=apiclient.http.MediaUpload-class.html#new_from_json,Class Method oauth2client.client.Credentials.new_from_json()=oauth2client.client.Credentials-class.html#new_from_json"><a title="apiclient.http.MediaUpload.new_from_json
-oauth2client.client.Credentials.new_from_json" class="py-name" href="#" onclick="return doclink('link-104', 'new_from_json', 'link-104');">new_from_json</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">      <tt id="link-105" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-105', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-106" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-106', 'credentials', 'link-102');">credentials</a></tt> </tt>
-</div><a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line"> </tt>
-<a name="CredentialsProperty.validate"></a><div id="CredentialsProperty.validate-def"><a name="L288"></a><tt class="py-lineno">288</tt> <a class="py-toggle" href="#" id="CredentialsProperty.validate-toggle" onclick="return toggle('CredentialsProperty.validate');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.CredentialsProperty-class.html#validate">validate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CredentialsProperty.validate-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="CredentialsProperty.validate-expanded"><a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">    <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-107" class="py-name"><a title="oauth2client.appengine.CredentialsProperty" class="py-name" href="#" onclick="return doclink('link-107', 'CredentialsProperty', 'link-98');">CredentialsProperty</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="oauth2client.appengine.CredentialsProperty.validate
-oauth2client.appengine.FlowProperty.validate" class="py-name" href="#" onclick="return doclink('link-108', 'validate', 'link-91');">validate</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">    <tt id="link-109" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-109', 'logger', 'link-44');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"validate: Got type "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt id="link-110" class="py-name"><a title="oauth2client.client.Credentials" class="py-name" href="#" onclick="return doclink('link-110', 'Credentials', 'link-31');">Credentials</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt class="py-name">db</tt><tt class="py-op">.</tt><tt class="py-name">BadValueError</tt><tt class="py-op">(</tt><tt class="py-string">'Property %s must be convertible '</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">                          <tt class="py-string">'to a Credentials instance (%s)'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">                            <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">    <tt class="py-comment">#if value is not None and not isinstance(value, Credentials):</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">    <tt class="py-comment">#  return None</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">value</tt> </tt>
-</div></div><a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line"> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line"> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt id="link-111" class="py-name"><a title="oauth2client.appengine.ndb" class="py-name" href="#" onclick="return doclink('link-111', 'ndb', 'link-42');">ndb</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="CredentialsNDBProperty"></a><div id="CredentialsNDBProperty-def"><a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">  <tt class="py-comment"># TODO(dhermes): Turn this into a JsonProperty and overhaul the Credentials</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">  <tt class="py-comment">#                and subclass mechanics to use new_from_dict, to_dict,</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">  <tt class="py-comment">#                from_dict, etc.</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt> <a class="py-toggle" href="#" id="CredentialsNDBProperty-toggle" onclick="return toggle('CredentialsNDBProperty');">-</a><tt class="py-line">  <tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.appengine.CredentialsNDBProperty-class.html">CredentialsNDBProperty</a><tt class="py-op">(</tt><tt class="py-base-class">ndb</tt><tt class="py-op">.</tt><tt class="py-base-class">BlobProperty</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CredentialsNDBProperty-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="CredentialsNDBProperty-expanded"><a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">    <tt class="py-docstring">"""App Engine NDB datastore Property for Credentials.</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line"><tt class="py-docstring">    Serves the same purpose as the DB CredentialsProperty, but for NDB models.</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"><tt class="py-docstring">    Since CredentialsProperty stores data as a blob and this inherits from</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"><tt class="py-docstring">    BlobProperty, the data in the datastore will be the same as in the DB case.</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line"><tt class="py-docstring">    Utility property that allows easy storage and retrieval of Credentials and</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line"><tt class="py-docstring">    subclasses.</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="CredentialsNDBProperty._validate"></a><div id="CredentialsNDBProperty._validate-def"><a name="L314"></a><tt class="py-lineno">314</tt> <a class="py-toggle" href="#" id="CredentialsNDBProperty._validate-toggle" onclick="return toggle('CredentialsNDBProperty._validate');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.CredentialsNDBProperty-class.html#_validate">_validate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CredentialsNDBProperty._validate-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="CredentialsNDBProperty._validate-expanded"><a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">      <tt class="py-docstring">"""Validates a value as a proper credentials object.</tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line"><tt class="py-docstring">        value: A value to be set on the property.</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line"><tt class="py-docstring">      Raises:</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line"><tt class="py-docstring">        TypeError if the value is not an instance of Credentials.</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">      <tt id="link-112" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-112', 'logger', 'link-44');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'validate: Got type %s'</tt><tt class="py-op">,</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt id="link-113" class="py-name"><a title="oauth2client.client.Credentials" class="py-name" href="#" onclick="return doclink('link-113', 'Credentials', 'link-31');">Credentials</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">'Property %s must be convertible to a credentials '</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">                        <tt class="py-string">'instance; received: %s.'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_name</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line"> </tt>
-<a name="CredentialsNDBProperty._to_base_type"></a><div id="CredentialsNDBProperty._to_base_type-def"><a name="L328"></a><tt class="py-lineno">328</tt> <a class="py-toggle" href="#" id="CredentialsNDBProperty._to_base_type-toggle" onclick="return toggle('CredentialsNDBProperty._to_base_type');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.CredentialsNDBProperty-class.html#_to_base_type">_to_base_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CredentialsNDBProperty._to_base_type-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="CredentialsNDBProperty._to_base_type-expanded"><a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">      <tt class="py-docstring">"""Converts our validated value to a JSON serialized string.</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line"><tt class="py-docstring">        value: A value to be set in the datastore.</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line"><tt class="py-docstring">      Returns:</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line"><tt class="py-docstring">        A JSON serialized version of the credential, else '' if value is None.</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-string">''</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">value</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="apiclient.http.HttpRequest.to_json
-apiclient.http.MediaFileUpload.to_json
-apiclient.http.MediaIoBaseUpload.to_json
-apiclient.http.MediaUpload.to_json
-oauth2client.client.Credentials.to_json
-oauth2client.client.OAuth2Credentials.to_json" class="py-name" href="#" onclick="return doclink('link-114', 'to_json', 'link-100');">to_json</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line"> </tt>
-<a name="CredentialsNDBProperty._from_base_type"></a><div id="CredentialsNDBProperty._from_base_type-def"><a name="L342"></a><tt class="py-lineno">342</tt> <a class="py-toggle" href="#" id="CredentialsNDBProperty._from_base_type-toggle" onclick="return toggle('CredentialsNDBProperty._from_base_type');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.CredentialsNDBProperty-class.html#_from_base_type">_from_base_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CredentialsNDBProperty._from_base_type-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="CredentialsNDBProperty._from_base_type-expanded"><a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">      <tt class="py-docstring">"""Converts our stored JSON string back to the desired type.</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"><tt class="py-docstring">        value: A value from the datastore to be converted to the desired type.</tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line"><tt class="py-docstring">      Returns:</tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"><tt class="py-docstring">        A deserialized Credentials (or subclass) object, else None if the</tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line"><tt class="py-docstring">            value can't be parsed.</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">value</tt><tt class="py-op">:</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">        <tt class="py-comment"># Uses the from_json method of the implied class of value</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">        <tt id="link-115" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-115', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-op">=</tt> <tt id="link-116" class="py-name"><a title="oauth2client.client.Credentials" class="py-name" href="#" onclick="return doclink('link-116', 'Credentials', 'link-31');">Credentials</a></tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="apiclient.http.MediaUpload.new_from_json
-oauth2client.client.Credentials.new_from_json" class="py-name" href="#" onclick="return doclink('link-117', 'new_from_json', 'link-104');">new_from_json</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">        <tt id="link-118" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-118', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-119" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-119', 'credentials', 'link-102');">credentials</a></tt> </tt>
-</div></div><a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line"> </tt>
-<a name="StorageByKeyName"></a><div id="StorageByKeyName-def"><a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt> <a class="py-toggle" href="#" id="StorageByKeyName-toggle" onclick="return toggle('StorageByKeyName');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.appengine.StorageByKeyName-class.html">StorageByKeyName</a><tt class="py-op">(</tt><tt class="py-base-class">Storage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="StorageByKeyName-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="StorageByKeyName-expanded"><a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">  <tt class="py-docstring">"""Store and retrieve a credential to and from the App Engine datastore.</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line"><tt class="py-docstring">  This Storage helper presumes the Credentials have been stored as a</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line"><tt class="py-docstring">  CredentialsProperty or CredentialsNDBProperty on a datastore model class, and</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line"><tt class="py-docstring">  that entities are stored by key_name.</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line"> </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-120', 'positional', 'link-73');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="StorageByKeyName.__init__"></a><div id="StorageByKeyName.__init__-def"><a name="L371"></a><tt class="py-lineno">371</tt> <a class="py-toggle" href="#" id="StorageByKeyName.__init__-toggle" onclick="return toggle('StorageByKeyName.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.StorageByKeyName-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">model</tt><tt class="py-op">,</tt> <tt class="py-param">key_name</tt><tt class="py-op">,</tt> <tt class="py-param">property_name</tt><tt class="py-op">,</tt> <tt class="py-param">cache</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">user</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="StorageByKeyName.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="StorageByKeyName.__init__-expanded"><a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for Storage.</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line"><tt class="py-docstring">      model: db.Model or ndb.Model, model class</tt> </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line"><tt class="py-docstring">      key_name: string, key name for the entity that has the credentials</tt> </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line"><tt class="py-docstring">      property_name: string, name of the property that is a CredentialsProperty</tt> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line"><tt class="py-docstring">        or CredentialsNDBProperty.</tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line"><tt class="py-docstring">      cache: memcache, a write-through cache to put in front of the datastore.</tt> </tt>
-<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line"><tt class="py-docstring">        If the model you are using is an NDB model, using a cache will be</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line"><tt class="py-docstring">        redundant since the model uses an instance cache and memcache for you.</tt> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line"><tt class="py-docstring">      user: users.User object, optional. Can be used to grab user ID as a</tt> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line"><tt class="py-docstring">        key_name if no key name is specified.</tt> </tt>
-<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">key_name</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">user</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">'StorageByKeyName called with no key name or user.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">      <tt class="py-name">key_name</tt> <tt class="py-op">=</tt> <tt class="py-name">user</tt><tt class="py-op">.</tt><tt class="py-name">user_id</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line"> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt> <tt class="py-op">=</tt> <tt id="link-121" class="py-name"><a title="apiclient.model" class="py-name" href="#" onclick="return doclink('link-121', 'model', 'link-56');">model</a></tt> </tt>
-<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_key_name</tt> <tt class="py-op">=</tt> <tt class="py-name">key_name</tt> </tt>
-<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_property_name</tt> <tt class="py-op">=</tt> <tt class="py-name">property_name</tt> </tt>
-<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cache</tt> <tt class="py-op">=</tt> <tt class="py-name">cache</tt> </tt>
-</div><a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line"> </tt>
-<a name="StorageByKeyName._is_ndb"></a><div id="StorageByKeyName._is_ndb-def"><a name="L395"></a><tt class="py-lineno">395</tt> <a class="py-toggle" href="#" id="StorageByKeyName._is_ndb-toggle" onclick="return toggle('StorageByKeyName._is_ndb');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.StorageByKeyName-class.html#_is_ndb">_is_ndb</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="StorageByKeyName._is_ndb-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="StorageByKeyName._is_ndb-expanded"><a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">    <tt class="py-docstring">"""Determine whether the model of the instance is an NDB model.</tt> </tt>
-<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line"><tt class="py-docstring">      Boolean indicating whether or not the model is an NDB or DB model.</tt> </tt>
-<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">    <tt class="py-comment"># issubclass will fail if one of the arguments is not a class, only need</tt> </tt>
-<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line">    <tt class="py-comment"># worry about new-style classes since ndb and db models are new-style</tt> </tt>
-<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt><tt class="py-op">,</tt> <tt class="py-name">type</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt id="link-122" class="py-name"><a title="oauth2client.appengine.ndb" class="py-name" href="#" onclick="return doclink('link-122', 'ndb', 'link-42');">ndb</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">issubclass</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt><tt class="py-op">,</tt> <tt id="link-123" class="py-name"><a title="oauth2client.appengine.ndb" class="py-name" href="#" onclick="return doclink('link-123', 'ndb', 'link-42');">ndb</a></tt><tt class="py-op">.</tt><tt id="link-124" class="py-name" targets="Class apiclient.model.Model=apiclient.model.Model-class.html"><a title="apiclient.model.Model" class="py-name" href="#" onclick="return doclink('link-124', 'Model', 'link-124');">Model</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">      <tt class="py-keyword">elif</tt> <tt class="py-name">issubclass</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt><tt class="py-op">,</tt> <tt class="py-name">db</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="apiclient.model.Model" class="py-name" href="#" onclick="return doclink('link-125', 'Model', 'link-124');">Model</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line"> </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">'Model class not an NDB or DB model: %s.'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt><tt class="py-op">,</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line"> </tt>
-<a name="StorageByKeyName._get_entity"></a><div id="StorageByKeyName._get_entity-def"><a name="L411"></a><tt class="py-lineno">411</tt> <a class="py-toggle" href="#" id="StorageByKeyName._get_entity-toggle" onclick="return toggle('StorageByKeyName._get_entity');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.StorageByKeyName-class.html#_get_entity">_get_entity</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="StorageByKeyName._get_entity-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="StorageByKeyName._get_entity-expanded"><a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">    <tt class="py-docstring">"""Retrieve entity from datastore.</tt> </tt>
-<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line"><tt class="py-docstring">    Uses a different model method for db or ndb models.</tt> </tt>
-<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line"><tt class="py-docstring">      Instance of the model corresponding to the current storage object</tt> </tt>
-<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line"><tt class="py-docstring">          and stored using the key name of the storage object.</tt> </tt>
-<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name" targets="Method oauth2client.appengine.StorageByKeyName._is_ndb()=oauth2client.appengine.StorageByKeyName-class.html#_is_ndb"><a title="oauth2client.appengine.StorageByKeyName._is_ndb" class="py-name" href="#" onclick="return doclink('link-126', '_is_ndb', 'link-126');">_is_ndb</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt><tt class="py-op">.</tt><tt class="py-name">get_by_id</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_key_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt><tt class="py-op">.</tt><tt class="py-name">get_by_key_name</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_key_name</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line"> </tt>
-<a name="StorageByKeyName._delete_entity"></a><div id="StorageByKeyName._delete_entity-def"><a name="L425"></a><tt class="py-lineno">425</tt> <a class="py-toggle" href="#" id="StorageByKeyName._delete_entity-toggle" onclick="return toggle('StorageByKeyName._delete_entity');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.StorageByKeyName-class.html#_delete_entity">_delete_entity</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="StorageByKeyName._delete_entity-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="StorageByKeyName._delete_entity-expanded"><a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line">    <tt class="py-docstring">"""Delete entity from datastore.</tt> </tt>
-<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line"><tt class="py-docstring">    Attempts to delete using the key_name stored on the object, whether or not</tt> </tt>
-<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line"><tt class="py-docstring">    the given key is in the datastore.</tt> </tt>
-<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="oauth2client.appengine.StorageByKeyName._is_ndb" class="py-name" href="#" onclick="return doclink('link-127', '_is_ndb', 'link-126');">_is_ndb</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">      <tt id="link-128" class="py-name"><a title="oauth2client.appengine.ndb" class="py-name" href="#" onclick="return doclink('link-128', 'ndb', 'link-42');">ndb</a></tt><tt class="py-op">.</tt><tt class="py-name">Key</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_key_name</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name" targets="Method oauth2client.client.MemoryCache.delete()=oauth2client.client.MemoryCache-class.html#delete,Method oauth2client.client.Storage.delete()=oauth2client.client.Storage-class.html#delete"><a title="oauth2client.client.MemoryCache.delete
-oauth2client.client.Storage.delete" class="py-name" href="#" onclick="return doclink('link-129', 'delete', 'link-129');">delete</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line">      <tt class="py-name">entity_key</tt> <tt class="py-op">=</tt> <tt class="py-name">db</tt><tt class="py-op">.</tt><tt class="py-name">Key</tt><tt class="py-op">.</tt><tt class="py-name">from_path</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt><tt class="py-op">.</tt><tt class="py-name">kind</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_key_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">      <tt class="py-name">db</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="oauth2client.client.MemoryCache.delete
-oauth2client.client.Storage.delete" class="py-name" href="#" onclick="return doclink('link-130', 'delete', 'link-129');">delete</a></tt><tt class="py-op">(</tt><tt class="py-name">entity_key</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line"> </tt>
-<a name="StorageByKeyName.locked_get"></a><div id="StorageByKeyName.locked_get-def"><a name="L437"></a><tt class="py-lineno">437</tt> <a class="py-toggle" href="#" id="StorageByKeyName.locked_get-toggle" onclick="return toggle('StorageByKeyName.locked_get');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.StorageByKeyName-class.html#locked_get">locked_get</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="StorageByKeyName.locked_get-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="StorageByKeyName.locked_get-expanded"><a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">    <tt class="py-docstring">"""Retrieve Credential from datastore.</tt> </tt>
-<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line"><tt class="py-docstring">      oauth2client.Credentials</tt> </tt>
-<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line">    <tt id="link-131" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-131', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cache</tt><tt class="py-op">:</tt> </tt>
-<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line">      <tt class="py-name">json</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cache</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-132', 'get', 'link-52');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_key_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">json</tt><tt class="py-op">:</tt> </tt>
-<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">        <tt id="link-133" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-133', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-op">=</tt> <tt id="link-134" class="py-name"><a title="oauth2client.client.Credentials" class="py-name" href="#" onclick="return doclink('link-134', 'Credentials', 'link-31');">Credentials</a></tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="apiclient.http.MediaUpload.new_from_json
-oauth2client.client.Credentials.new_from_json" class="py-name" href="#" onclick="return doclink('link-135', 'new_from_json', 'link-104');">new_from_json</a></tt><tt class="py-op">(</tt><tt class="py-name">json</tt><tt class="py-op">)</tt> </tt>
-<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-136" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-136', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">      <tt class="py-name">entity</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name" targets="Method oauth2client.appengine.StorageByKeyName._get_entity()=oauth2client.appengine.StorageByKeyName-class.html#_get_entity"><a title="oauth2client.appengine.StorageByKeyName._get_entity" class="py-name" href="#" onclick="return doclink('link-137', '_get_entity', 'link-137');">_get_entity</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">entity</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">        <tt id="link-138" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-138', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">entity</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_property_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cache</tt><tt class="py-op">:</tt> </tt>
-<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cache</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name" targets="Method oauth2client.client.MemoryCache.set()=oauth2client.client.MemoryCache-class.html#set"><a title="oauth2client.client.MemoryCache.set" class="py-name" href="#" onclick="return doclink('link-139', 'set', 'link-139');">set</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_key_name</tt><tt class="py-op">,</tt> <tt id="link-140" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-140', 'credentials', 'link-102');">credentials</a></tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="apiclient.http.HttpRequest.to_json
-apiclient.http.MediaFileUpload.to_json
-apiclient.http.MediaIoBaseUpload.to_json
-apiclient.http.MediaUpload.to_json
-oauth2client.client.Credentials.to_json
-oauth2client.client.OAuth2Credentials.to_json" class="py-name" href="#" onclick="return doclink('link-141', 'to_json', 'link-100');">to_json</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line"> </tt>
-<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-142" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-142', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-143" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-143', 'credentials', 'link-102');">credentials</a></tt><tt class="py-op">,</tt> <tt class="py-string">'set_store'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line">      <tt id="link-144" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-144', 'credentials', 'link-102');">credentials</a></tt><tt class="py-op">.</tt><tt id="link-145" class="py-name" targets="Method oauth2client.client.OAuth2Credentials.set_store()=oauth2client.client.OAuth2Credentials-class.html#set_store"><a title="oauth2client.client.OAuth2Credentials.set_store" class="py-name" href="#" onclick="return doclink('link-145', 'set_store', 'link-145');">set_store</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-146" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-146', 'credentials', 'link-102');">credentials</a></tt> </tt>
-</div><a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line"> </tt>
-<a name="StorageByKeyName.locked_put"></a><div id="StorageByKeyName.locked_put-def"><a name="L459"></a><tt class="py-lineno">459</tt> <a class="py-toggle" href="#" id="StorageByKeyName.locked_put-toggle" onclick="return toggle('StorageByKeyName.locked_put');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.StorageByKeyName-class.html#locked_put">locked_put</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">credentials</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="StorageByKeyName.locked_put-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="StorageByKeyName.locked_put-expanded"><a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">    <tt class="py-docstring">"""Write a Credentials to the datastore.</tt> </tt>
-<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line"><tt class="py-docstring">      credentials: Credentials, the credentials to store.</tt> </tt>
-<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">    <tt class="py-name">entity</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt><tt class="py-op">.</tt><tt class="py-name">get_or_insert</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_key_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">    <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">entity</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_property_name</tt><tt class="py-op">,</tt> <tt id="link-147" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-147', 'credentials', 'link-102');">credentials</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">    <tt class="py-name">entity</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="oauth2client.client.Storage.put" class="py-name" href="#" onclick="return doclink('link-148', 'put', 'link-64');">put</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cache</tt><tt class="py-op">:</tt> </tt>
-<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cache</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="oauth2client.client.MemoryCache.set" class="py-name" href="#" onclick="return doclink('link-149', 'set', 'link-139');">set</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_key_name</tt><tt class="py-op">,</tt> <tt id="link-150" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-150', 'credentials', 'link-102');">credentials</a></tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="apiclient.http.HttpRequest.to_json
-apiclient.http.MediaFileUpload.to_json
-apiclient.http.MediaIoBaseUpload.to_json
-apiclient.http.MediaUpload.to_json
-oauth2client.client.Credentials.to_json
-oauth2client.client.OAuth2Credentials.to_json" class="py-name" href="#" onclick="return doclink('link-151', 'to_json', 'link-100');">to_json</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line"> </tt>
-<a name="StorageByKeyName.locked_delete"></a><div id="StorageByKeyName.locked_delete-def"><a name="L471"></a><tt class="py-lineno">471</tt> <a class="py-toggle" href="#" id="StorageByKeyName.locked_delete-toggle" onclick="return toggle('StorageByKeyName.locked_delete');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.StorageByKeyName-class.html#locked_delete">locked_delete</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="StorageByKeyName.locked_delete-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="StorageByKeyName.locked_delete-expanded"><a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line">    <tt class="py-docstring">"""Delete Credential from datastore."""</tt> </tt>
-<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line"> </tt>
-<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cache</tt><tt class="py-op">:</tt> </tt>
-<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cache</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="oauth2client.client.MemoryCache.delete
-oauth2client.client.Storage.delete" class="py-name" href="#" onclick="return doclink('link-152', 'delete', 'link-129');">delete</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_key_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line"> </tt>
-<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name" targets="Method oauth2client.appengine.StorageByKeyName._delete_entity()=oauth2client.appengine.StorageByKeyName-class.html#_delete_entity"><a title="oauth2client.appengine.StorageByKeyName._delete_entity" class="py-name" href="#" onclick="return doclink('link-153', '_delete_entity', 'link-153');">_delete_entity</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line"> </tt>
-<a name="CredentialsModel"></a><div id="CredentialsModel-def"><a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line"> </tt>
-<a name="L480"></a><tt class="py-lineno">480</tt> <a class="py-toggle" href="#" id="CredentialsModel-toggle" onclick="return toggle('CredentialsModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.appengine.CredentialsModel-class.html">CredentialsModel</a><tt class="py-op">(</tt><tt class="py-base-class">db</tt><tt class="py-op">.</tt><tt class="py-base-class">Model</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CredentialsModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="CredentialsModel-expanded"><a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">  <tt class="py-docstring">"""Storage for OAuth 2.0 Credentials</tt> </tt>
-<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line"><tt class="py-docstring">  Storage of the model is keyed by the user.user_id().</tt> </tt>
-<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line">  <tt id="link-154" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-154', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-op">=</tt> <tt id="link-155" class="py-name"><a title="oauth2client.appengine.CredentialsProperty" class="py-name" href="#" onclick="return doclink('link-155', 'CredentialsProperty', 'link-98');">CredentialsProperty</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line"> </tt>
-<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line"> </tt>
-<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt id="link-156" class="py-name"><a title="oauth2client.appengine.ndb" class="py-name" href="#" onclick="return doclink('link-156', 'ndb', 'link-42');">ndb</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="CredentialsNDBModel"></a><div id="CredentialsNDBModel-def"><a name="L489"></a><tt class="py-lineno">489</tt> <a class="py-toggle" href="#" id="CredentialsNDBModel-toggle" onclick="return toggle('CredentialsNDBModel');">-</a><tt class="py-line">  <tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.appengine.CredentialsNDBModel-class.html">CredentialsNDBModel</a><tt class="py-op">(</tt><tt class="py-base-class">ndb</tt><tt class="py-op">.</tt><tt class="py-base-class">Model</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CredentialsNDBModel-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="CredentialsNDBModel-expanded"><a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line">    <tt class="py-docstring">"""NDB Model for storage of OAuth 2.0 Credentials</tt> </tt>
-<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line"><tt class="py-docstring">    Since this model uses the same kind as CredentialsModel and has a property</tt> </tt>
-<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line"><tt class="py-docstring">    which can serialize and deserialize Credentials correctly, it can be used</tt> </tt>
-<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line"><tt class="py-docstring">    interchangeably with a CredentialsModel to access, insert and delete the</tt> </tt>
-<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line"><tt class="py-docstring">    same entities. This simply provides an NDB model for interacting with the</tt> </tt>
-<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line"><tt class="py-docstring">    same data the DB model interacts with.</tt> </tt>
-<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line"><tt class="py-docstring">    Storage of the model is keyed by the user.user_id().</tt> </tt>
-<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">    <tt id="link-157" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-157', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-op">=</tt> <tt id="link-158" class="py-name" targets="Class oauth2client.appengine.CredentialsNDBProperty=oauth2client.appengine.CredentialsNDBProperty-class.html"><a title="oauth2client.appengine.CredentialsNDBProperty" class="py-name" href="#" onclick="return doclink('link-158', 'CredentialsNDBProperty', 'link-158');">CredentialsNDBProperty</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line"> </tt>
-<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">classmethod</tt> </tt>
-<a name="CredentialsNDBModel._get_kind"></a><div id="CredentialsNDBModel._get_kind-def"><a name="L503"></a><tt class="py-lineno">503</tt> <a class="py-toggle" href="#" id="CredentialsNDBModel._get_kind-toggle" onclick="return toggle('CredentialsNDBModel._get_kind');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.CredentialsNDBModel-class.html#_get_kind">_get_kind</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CredentialsNDBModel._get_kind-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="CredentialsNDBModel._get_kind-expanded"><a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line">      <tt class="py-docstring">"""Return the kind name for this class."""</tt> </tt>
-<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-string">'CredentialsModel'</tt> </tt>
-</div></div><a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line"> </tt>
-<a name="_build_state_value"></a><div id="_build_state_value-def"><a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line"> </tt>
-<a name="L508"></a><tt class="py-lineno">508</tt> <a class="py-toggle" href="#" id="_build_state_value-toggle" onclick="return toggle('_build_state_value');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine-module.html#_build_state_value">_build_state_value</a><tt class="py-op">(</tt><tt class="py-param">request_handler</tt><tt class="py-op">,</tt> <tt class="py-param">user</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_build_state_value-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_build_state_value-expanded"><a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line">  <tt class="py-docstring">"""Composes the value for the 'state' parameter.</tt> </tt>
-<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line"><tt class="py-docstring">  Packs the current request URI and an XSRF token into an opaque string that</tt> </tt>
-<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line"><tt class="py-docstring">  can be passed to the authentication server via the 'state' parameter.</tt> </tt>
-<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line"><tt class="py-docstring">    request_handler: webapp.RequestHandler, The request.</tt> </tt>
-<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line"><tt class="py-docstring">    user: google.appengine.api.users.User, The current user.</tt> </tt>
-<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line"><tt class="py-docstring">    The state value as a string.</tt> </tt>
-<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line">  <tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">request_handler</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name" targets="Method apiclient.http.HttpMock.request()=apiclient.http.HttpMock-class.html#request,Method apiclient.http.HttpMockSequence.request()=apiclient.http.HttpMockSequence-class.html#request,Method apiclient.model.BaseModel.request()=apiclient.model.BaseModel-class.html#request,Method apiclient.model.Model.request()=apiclient.model.Model-class.html#request"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-159', 'request', 'link-159');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">url</tt> </tt>
-<a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line">  <tt class="py-name">token</tt> <tt class="py-op">=</tt> <tt id="link-160" class="py-name"><a title="oauth2client.xsrfutil" class="py-name" href="#" onclick="return doclink('link-160', 'xsrfutil', 'link-20');">xsrfutil</a></tt><tt class="py-op">.</tt><tt id="link-161" class="py-name" targets="Function oauth2client.xsrfutil.generate_token()=oauth2client.xsrfutil-module.html#generate_token"><a title="oauth2client.xsrfutil.generate_token" class="py-name" href="#" onclick="return doclink('link-161', 'generate_token', 'link-161');">generate_token</a></tt><tt class="py-op">(</tt><tt id="link-162" class="py-name" targets="Function oauth2client.appengine.xsrf_secret_key()=oauth2client.appengine-module.html#xsrf_secret_key"><a title="oauth2client.appengine.xsrf_secret_key" class="py-name" href="#" onclick="return doclink('link-162', 'xsrf_secret_key', 'link-162');">xsrf_secret_key</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">user</tt><tt class="py-op">.</tt><tt class="py-name">user_id</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line">                                  <tt class="py-name">action_id</tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt>  <tt class="py-name">uri</tt> <tt class="py-op">+</tt> <tt class="py-string">':'</tt> <tt class="py-op">+</tt> <tt class="py-name">token</tt> </tt>
-</div><a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line"> </tt>
-<a name="_parse_state_value"></a><div id="_parse_state_value-def"><a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line"> </tt>
-<a name="L527"></a><tt class="py-lineno">527</tt> <a class="py-toggle" href="#" id="_parse_state_value-toggle" onclick="return toggle('_parse_state_value');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine-module.html#_parse_state_value">_parse_state_value</a><tt class="py-op">(</tt><tt class="py-param">state</tt><tt class="py-op">,</tt> <tt class="py-param">user</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_parse_state_value-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_parse_state_value-expanded"><a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">  <tt class="py-docstring">"""Parse the value of the 'state' parameter.</tt> </tt>
-<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line"><tt class="py-docstring">  Parses the value and validates the XSRF token in the state parameter.</tt> </tt>
-<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line"><tt class="py-docstring">    state: string, The value of the state parameter.</tt> </tt>
-<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line"><tt class="py-docstring">    user: google.appengine.api.users.User, The current user.</tt> </tt>
-<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line"><tt class="py-docstring">  Raises:</tt> </tt>
-<a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line"><tt class="py-docstring">    InvalidXsrfTokenError: if the XSRF token is invalid.</tt> </tt>
-<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line"><tt class="py-docstring">    The redirect URI.</tt> </tt>
-<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line">  <tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">token</tt> <tt class="py-op">=</tt> <tt class="py-name">state</tt><tt class="py-op">.</tt><tt class="py-name">rsplit</tt><tt class="py-op">(</tt><tt class="py-string">':'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-163" class="py-name"><a title="oauth2client.xsrfutil" class="py-name" href="#" onclick="return doclink('link-163', 'xsrfutil', 'link-20');">xsrfutil</a></tt><tt class="py-op">.</tt><tt id="link-164" class="py-name" targets="Function oauth2client.xsrfutil.validate_token()=oauth2client.xsrfutil-module.html#validate_token"><a title="oauth2client.xsrfutil.validate_token" class="py-name" href="#" onclick="return doclink('link-164', 'validate_token', 'link-164');">validate_token</a></tt><tt class="py-op">(</tt><tt id="link-165" class="py-name"><a title="oauth2client.appengine.xsrf_secret_key" class="py-name" href="#" onclick="return doclink('link-165', 'xsrf_secret_key', 'link-162');">xsrf_secret_key</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">token</tt><tt class="py-op">,</tt> <tt class="py-name">user</tt><tt class="py-op">.</tt><tt class="py-name">user_id</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">                                 <tt class="py-name">action_id</tt><tt class="py-op">=</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-166" class="py-name" targets="Class oauth2client.appengine.InvalidXsrfTokenError=oauth2client.appengine.InvalidXsrfTokenError-class.html"><a title="oauth2client.appengine.InvalidXsrfTokenError" class="py-name" href="#" onclick="return doclink('link-166', 'InvalidXsrfTokenError', 'link-166');">InvalidXsrfTokenError</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line"> </tt>
-<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">uri</tt> </tt>
-</div><a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Decorator"></a><div id="OAuth2Decorator-def"><a name="L549"></a><tt class="py-lineno">549</tt>  <tt class="py-line"> </tt>
-<a name="L550"></a><tt class="py-lineno">550</tt> <a class="py-toggle" href="#" id="OAuth2Decorator-toggle" onclick="return toggle('OAuth2Decorator');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Decorator-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="OAuth2Decorator-expanded"><a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line">  <tt class="py-docstring">"""Utility for making OAuth 2.0 easier.</tt> </tt>
-<a name="L552"></a><tt class="py-lineno">552</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line"><tt class="py-docstring">  Instantiate and then use with oauth_required or oauth_aware</tt> </tt>
-<a name="L554"></a><tt class="py-lineno">554</tt>  <tt class="py-line"><tt class="py-docstring">  as decorators on webapp.RequestHandler methods.</tt> </tt>
-<a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line"><tt class="py-docstring">  Example:</tt> </tt>
-<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line"><tt class="py-docstring">    decorator = OAuth2Decorator(</tt> </tt>
-<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line"><tt class="py-docstring">        client_id='837...ent.com',</tt> </tt>
-<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line"><tt class="py-docstring">        client_secret='Qh...wwI',</tt> </tt>
-<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line"><tt class="py-docstring">        scope='https://www.googleapis.com/auth/plus')</tt> </tt>
-<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line"><tt class="py-docstring">    class MainHandler(webapp.RequestHandler):</tt> </tt>
-<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L566"></a><tt class="py-lineno">566</tt>  <tt class="py-line"><tt class="py-docstring">      @decorator.oauth_required</tt> </tt>
-<a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line"><tt class="py-docstring">      def get(self):</tt> </tt>
-<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line"><tt class="py-docstring">        http = decorator.http()</tt> </tt>
-<a name="L569"></a><tt class="py-lineno">569</tt>  <tt class="py-line"><tt class="py-docstring">        # http is authorized with the user's Credentials and can be used</tt> </tt>
-<a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line"><tt class="py-docstring">        # in API calls</tt> </tt>
-<a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L572"></a><tt class="py-lineno">572</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L573"></a><tt class="py-lineno">573</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Decorator.set_credentials"></a><div id="OAuth2Decorator.set_credentials-def"><a name="L574"></a><tt class="py-lineno">574</tt> <a class="py-toggle" href="#" id="OAuth2Decorator.set_credentials-toggle" onclick="return toggle('OAuth2Decorator.set_credentials');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.OAuth2Decorator-class.html#set_credentials">set_credentials</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">credentials</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Decorator.set_credentials-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="OAuth2Decorator.set_credentials-expanded"><a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_tls</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-167', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-op">=</tt> <tt id="link-168" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-168', 'credentials', 'link-102');">credentials</a></tt> </tt>
-</div><a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Decorator.get_credentials"></a><div id="OAuth2Decorator.get_credentials-def"><a name="L577"></a><tt class="py-lineno">577</tt> <a class="py-toggle" href="#" id="OAuth2Decorator.get_credentials-toggle" onclick="return toggle('OAuth2Decorator.get_credentials');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.OAuth2Decorator-class.html#get_credentials">get_credentials</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Decorator.get_credentials-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="OAuth2Decorator.get_credentials-expanded"><a name="L578"></a><tt class="py-lineno">578</tt>  <tt class="py-line">    <tt class="py-docstring">"""A thread local Credentials object.</tt> </tt>
-<a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line"><tt class="py-docstring">      A client.Credentials object, or None if credentials hasn't been set in</tt> </tt>
-<a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line"><tt class="py-docstring">      this thread yet, which may happen when calling has_credentials inside</tt> </tt>
-<a name="L583"></a><tt class="py-lineno">583</tt>  <tt class="py-line"><tt class="py-docstring">      oauth_aware.</tt> </tt>
-<a name="L584"></a><tt class="py-lineno">584</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_tls</tt><tt class="py-op">,</tt> <tt class="py-string">'credentials'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L586"></a><tt class="py-lineno">586</tt>  <tt class="py-line"> </tt>
-<a name="L587"></a><tt class="py-lineno">587</tt>  <tt class="py-line">  <tt id="link-169" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-169', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-170" class="py-name" targets="Method oauth2client.appengine.OAuth2Decorator.get_credentials()=oauth2client.appengine.OAuth2Decorator-class.html#get_credentials"><a title="oauth2client.appengine.OAuth2Decorator.get_credentials" class="py-name" href="#" onclick="return doclink('link-170', 'get_credentials', 'link-170');">get_credentials</a></tt><tt class="py-op">,</tt> <tt id="link-171" class="py-name" targets="Method oauth2client.appengine.OAuth2Decorator.set_credentials()=oauth2client.appengine.OAuth2Decorator-class.html#set_credentials"><a title="oauth2client.appengine.OAuth2Decorator.set_credentials" class="py-name" href="#" onclick="return doclink('link-171', 'set_credentials', 'link-171');">set_credentials</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Decorator.set_flow"></a><div id="OAuth2Decorator.set_flow-def"><a name="L589"></a><tt class="py-lineno">589</tt> <a class="py-toggle" href="#" id="OAuth2Decorator.set_flow-toggle" onclick="return toggle('OAuth2Decorator.set_flow');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.OAuth2Decorator-class.html#set_flow">set_flow</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">flow</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Decorator.set_flow-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="OAuth2Decorator.set_flow-expanded"><a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_tls</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-172', 'flow', 'link-84');">flow</a></tt> <tt class="py-op">=</tt> <tt id="link-173" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-173', 'flow', 'link-84');">flow</a></tt> </tt>
-</div><a name="L591"></a><tt class="py-lineno">591</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Decorator.get_flow"></a><div id="OAuth2Decorator.get_flow-def"><a name="L592"></a><tt class="py-lineno">592</tt> <a class="py-toggle" href="#" id="OAuth2Decorator.get_flow-toggle" onclick="return toggle('OAuth2Decorator.get_flow');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.OAuth2Decorator-class.html#get_flow">get_flow</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Decorator.get_flow-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="OAuth2Decorator.get_flow-expanded"><a name="L593"></a><tt class="py-lineno">593</tt>  <tt class="py-line">    <tt class="py-docstring">"""A thread local Flow object.</tt> </tt>
-<a name="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L596"></a><tt class="py-lineno">596</tt>  <tt class="py-line"><tt class="py-docstring">      A credentials.Flow object, or None if the flow hasn't been set in this</tt> </tt>
-<a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line"><tt class="py-docstring">      thread yet, which happens in _create_flow() since Flows are created</tt> </tt>
-<a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line"><tt class="py-docstring">      lazily.</tt> </tt>
-<a name="L599"></a><tt class="py-lineno">599</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L600"></a><tt class="py-lineno">600</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_tls</tt><tt class="py-op">,</tt> <tt class="py-string">'flow'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line"> </tt>
-<a name="L602"></a><tt class="py-lineno">602</tt>  <tt class="py-line">  <tt id="link-174" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-174', 'flow', 'link-84');">flow</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-175" class="py-name" targets="Method oauth2client.appengine.OAuth2Decorator.get_flow()=oauth2client.appengine.OAuth2Decorator-class.html#get_flow"><a title="oauth2client.appengine.OAuth2Decorator.get_flow" class="py-name" href="#" onclick="return doclink('link-175', 'get_flow', 'link-175');">get_flow</a></tt><tt class="py-op">,</tt> <tt id="link-176" class="py-name" targets="Method oauth2client.appengine.OAuth2Decorator.set_flow()=oauth2client.appengine.OAuth2Decorator-class.html#set_flow"><a title="oauth2client.appengine.OAuth2Decorator.set_flow" class="py-name" href="#" onclick="return doclink('link-176', 'set_flow', 'link-176');">set_flow</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L603"></a><tt class="py-lineno">603</tt>  <tt class="py-line"> </tt>
-<a name="L604"></a><tt class="py-lineno">604</tt>  <tt class="py-line"> </tt>
-<a name="L605"></a><tt class="py-lineno">605</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-177', 'positional', 'link-73');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="OAuth2Decorator.__init__"></a><div id="OAuth2Decorator.__init__-def"><a name="L606"></a><tt class="py-lineno">606</tt> <a class="py-toggle" href="#" id="OAuth2Decorator.__init__-toggle" onclick="return toggle('OAuth2Decorator.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.OAuth2Decorator-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">client_id</tt><tt class="py-op">,</tt> <tt class="py-param">client_secret</tt><tt class="py-op">,</tt> <tt class="py-param">scope</tt><tt class="py-op">,</tt> </tt>
-<a name="L607"></a><tt class="py-lineno">607</tt>  <tt class="py-line">               <tt class="py-param">auth_uri</tt><tt class="py-op">=</tt><tt id="link-178" class="py-name"><a title="oauth2client.GOOGLE_AUTH_URI" class="py-name" href="#" onclick="return doclink('link-178', 'GOOGLE_AUTH_URI', 'link-10');">GOOGLE_AUTH_URI</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L608"></a><tt class="py-lineno">608</tt>  <tt class="py-line">               <tt class="py-param">token_uri</tt><tt class="py-op">=</tt><tt id="link-179" class="py-name"><a title="oauth2client.GOOGLE_TOKEN_URI" class="py-name" href="#" onclick="return doclink('link-179', 'GOOGLE_TOKEN_URI', 'link-14');">GOOGLE_TOKEN_URI</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L609"></a><tt class="py-lineno">609</tt>  <tt class="py-line">               <tt class="py-param">revoke_uri</tt><tt class="py-op">=</tt><tt id="link-180" class="py-name"><a title="oauth2client.GOOGLE_REVOKE_URI" class="py-name" href="#" onclick="return doclink('link-180', 'GOOGLE_REVOKE_URI', 'link-12');">GOOGLE_REVOKE_URI</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L610"></a><tt class="py-lineno">610</tt>  <tt class="py-line">               <tt class="py-param">user_agent</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L611"></a><tt class="py-lineno">611</tt>  <tt class="py-line">               <tt class="py-param">message</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L612"></a><tt class="py-lineno">612</tt>  <tt class="py-line">               <tt class="py-param">callback_path</tt><tt class="py-op">=</tt><tt class="py-string">'/oauth2callback'</tt><tt class="py-op">,</tt> </tt>
-<a name="L613"></a><tt class="py-lineno">613</tt>  <tt class="py-line">               <tt class="py-param">token_response_param</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L614"></a><tt class="py-lineno">614</tt>  <tt class="py-line">               <tt class="py-param">_storage_class</tt><tt class="py-op">=</tt><tt id="link-181" class="py-name" targets="Class oauth2client.appengine.StorageByKeyName=oauth2client.appengine.StorageByKeyName-class.html"><a title="oauth2client.appengine.StorageByKeyName" class="py-name" href="#" onclick="return doclink('link-181', 'StorageByKeyName', 'link-181');">StorageByKeyName</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L615"></a><tt class="py-lineno">615</tt>  <tt class="py-line">               <tt class="py-param">_credentials_class</tt><tt class="py-op">=</tt><tt id="link-182" class="py-name" targets="Class oauth2client.appengine.CredentialsModel=oauth2client.appengine.CredentialsModel-class.html"><a title="oauth2client.appengine.CredentialsModel" class="py-name" href="#" onclick="return doclink('link-182', 'CredentialsModel', 'link-182');">CredentialsModel</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L616"></a><tt class="py-lineno">616</tt>  <tt class="py-line">               <tt class="py-param">_credentials_property_name</tt><tt class="py-op">=</tt><tt class="py-string">'credentials'</tt><tt class="py-op">,</tt> </tt>
-<a name="L617"></a><tt class="py-lineno">617</tt>  <tt class="py-line">               <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Decorator.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="OAuth2Decorator.__init__-expanded"><a name="L618"></a><tt class="py-lineno">618</tt>  <tt class="py-line"> </tt>
-<a name="L619"></a><tt class="py-lineno">619</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for OAuth2Decorator</tt> </tt>
-<a name="L620"></a><tt class="py-lineno">620</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L621"></a><tt class="py-lineno">621</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L622"></a><tt class="py-lineno">622</tt>  <tt class="py-line"><tt class="py-docstring">      client_id: string, client identifier.</tt> </tt>
-<a name="L623"></a><tt class="py-lineno">623</tt>  <tt class="py-line"><tt class="py-docstring">      client_secret: string client secret.</tt> </tt>
-<a name="L624"></a><tt class="py-lineno">624</tt>  <tt class="py-line"><tt class="py-docstring">      scope: string or iterable of strings, scope(s) of the credentials being</tt> </tt>
-<a name="L625"></a><tt class="py-lineno">625</tt>  <tt class="py-line"><tt class="py-docstring">        requested.</tt> </tt>
-<a name="L626"></a><tt class="py-lineno">626</tt>  <tt class="py-line"><tt class="py-docstring">      auth_uri: string, URI for authorization endpoint. For convenience</tt> </tt>
-<a name="L627"></a><tt class="py-lineno">627</tt>  <tt class="py-line"><tt class="py-docstring">        defaults to Google's endpoints but any OAuth 2.0 provider can be used.</tt> </tt>
-<a name="L628"></a><tt class="py-lineno">628</tt>  <tt class="py-line"><tt class="py-docstring">      token_uri: string, URI for token endpoint. For convenience</tt> </tt>
-<a name="L629"></a><tt class="py-lineno">629</tt>  <tt class="py-line"><tt class="py-docstring">        defaults to Google's endpoints but any OAuth 2.0 provider can be used.</tt> </tt>
-<a name="L630"></a><tt class="py-lineno">630</tt>  <tt class="py-line"><tt class="py-docstring">      revoke_uri: string, URI for revoke endpoint. For convenience</tt> </tt>
-<a name="L631"></a><tt class="py-lineno">631</tt>  <tt class="py-line"><tt class="py-docstring">        defaults to Google's endpoints but any OAuth 2.0 provider can be used.</tt> </tt>
-<a name="L632"></a><tt class="py-lineno">632</tt>  <tt class="py-line"><tt class="py-docstring">      user_agent: string, User agent of your application, default to None.</tt> </tt>
-<a name="L633"></a><tt class="py-lineno">633</tt>  <tt class="py-line"><tt class="py-docstring">      message: Message to display if there are problems with the OAuth 2.0</tt> </tt>
-<a name="L634"></a><tt class="py-lineno">634</tt>  <tt class="py-line"><tt class="py-docstring">        configuration. The message may contain HTML and will be presented on the</tt> </tt>
-<a name="L635"></a><tt class="py-lineno">635</tt>  <tt class="py-line"><tt class="py-docstring">        web interface for any method that uses the decorator.</tt> </tt>
-<a name="L636"></a><tt class="py-lineno">636</tt>  <tt class="py-line"><tt class="py-docstring">      callback_path: string, The absolute path to use as the callback URI. Note</tt> </tt>
-<a name="L637"></a><tt class="py-lineno">637</tt>  <tt class="py-line"><tt class="py-docstring">        that this must match up with the URI given when registering the</tt> </tt>
-<a name="L638"></a><tt class="py-lineno">638</tt>  <tt class="py-line"><tt class="py-docstring">        application in the APIs Console.</tt> </tt>
-<a name="L639"></a><tt class="py-lineno">639</tt>  <tt class="py-line"><tt class="py-docstring">      token_response_param: string. If provided, the full JSON response</tt> </tt>
-<a name="L640"></a><tt class="py-lineno">640</tt>  <tt class="py-line"><tt class="py-docstring">        to the access token request will be encoded and included in this query</tt> </tt>
-<a name="L641"></a><tt class="py-lineno">641</tt>  <tt class="py-line"><tt class="py-docstring">        parameter in the callback URI. This is useful with providers (e.g.</tt> </tt>
-<a name="L642"></a><tt class="py-lineno">642</tt>  <tt class="py-line"><tt class="py-docstring">        wordpress.com) that include extra fields that the client may want.</tt> </tt>
-<a name="L643"></a><tt class="py-lineno">643</tt>  <tt class="py-line"><tt class="py-docstring">      _storage_class: "Protected" keyword argument not typically provided to</tt> </tt>
-<a name="L644"></a><tt class="py-lineno">644</tt>  <tt class="py-line"><tt class="py-docstring">        this constructor. A storage class to aid in storing a Credentials object</tt> </tt>
-<a name="L645"></a><tt class="py-lineno">645</tt>  <tt class="py-line"><tt class="py-docstring">        for a user in the datastore. Defaults to StorageByKeyName.</tt> </tt>
-<a name="L646"></a><tt class="py-lineno">646</tt>  <tt class="py-line"><tt class="py-docstring">      _credentials_class: "Protected" keyword argument not typically provided to</tt> </tt>
-<a name="L647"></a><tt class="py-lineno">647</tt>  <tt class="py-line"><tt class="py-docstring">        this constructor. A db or ndb Model class to hold credentials. Defaults</tt> </tt>
-<a name="L648"></a><tt class="py-lineno">648</tt>  <tt class="py-line"><tt class="py-docstring">        to CredentialsModel.</tt> </tt>
-<a name="L649"></a><tt class="py-lineno">649</tt>  <tt class="py-line"><tt class="py-docstring">      _credentials_property_name: "Protected" keyword argument not typically</tt> </tt>
-<a name="L650"></a><tt class="py-lineno">650</tt>  <tt class="py-line"><tt class="py-docstring">        provided to this constructor. A string indicating the name of the field</tt> </tt>
-<a name="L651"></a><tt class="py-lineno">651</tt>  <tt class="py-line"><tt class="py-docstring">        on the _credentials_class where a Credentials object will be stored.</tt> </tt>
-<a name="L652"></a><tt class="py-lineno">652</tt>  <tt class="py-line"><tt class="py-docstring">        Defaults to 'credentials'.</tt> </tt>
-<a name="L653"></a><tt class="py-lineno">653</tt>  <tt class="py-line"><tt class="py-docstring">      **kwargs: dict, Keyword arguments are be passed along as kwargs to the</tt> </tt>
-<a name="L654"></a><tt class="py-lineno">654</tt>  <tt class="py-line"><tt class="py-docstring">        OAuth2WebServerFlow constructor.</tt> </tt>
-<a name="L655"></a><tt class="py-lineno">655</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L656"></a><tt class="py-lineno">656</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_tls</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">local</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L657"></a><tt class="py-lineno">657</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-183', 'flow', 'link-84');">flow</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L658"></a><tt class="py-lineno">658</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-184', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L659"></a><tt class="py-lineno">659</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_client_id</tt> <tt class="py-op">=</tt> <tt class="py-name">client_id</tt> </tt>
-<a name="L660"></a><tt class="py-lineno">660</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_client_secret</tt> <tt class="py-op">=</tt> <tt class="py-name">client_secret</tt> </tt>
-<a name="L661"></a><tt class="py-lineno">661</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_scope</tt> <tt class="py-op">=</tt> <tt id="link-185" class="py-name"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-185', 'util', 'link-6');">util</a></tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="oauth2client.util.scopes_to_string" class="py-name" href="#" onclick="return doclink('link-186', 'scopes_to_string', 'link-75');">scopes_to_string</a></tt><tt class="py-op">(</tt><tt class="py-name">scope</tt><tt class="py-op">)</tt> </tt>
-<a name="L662"></a><tt class="py-lineno">662</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_auth_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">auth_uri</tt> </tt>
-<a name="L663"></a><tt class="py-lineno">663</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_token_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">token_uri</tt> </tt>
-<a name="L664"></a><tt class="py-lineno">664</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_revoke_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">revoke_uri</tt> </tt>
-<a name="L665"></a><tt class="py-lineno">665</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_user_agent</tt> <tt class="py-op">=</tt> <tt class="py-name">user_agent</tt> </tt>
-<a name="L666"></a><tt class="py-lineno">666</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_kwargs</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt> </tt>
-<a name="L667"></a><tt class="py-lineno">667</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_message</tt> <tt class="py-op">=</tt> <tt class="py-name">message</tt> </tt>
-<a name="L668"></a><tt class="py-lineno">668</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L669"></a><tt class="py-lineno">669</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callback_path</tt> <tt class="py-op">=</tt> <tt id="link-187" class="py-name" targets="Method oauth2client.appengine.OAuth2Decorator.callback_path()=oauth2client.appengine.OAuth2Decorator-class.html#callback_path"><a title="oauth2client.appengine.OAuth2Decorator.callback_path" class="py-name" href="#" onclick="return doclink('link-187', 'callback_path', 'link-187');">callback_path</a></tt> </tt>
-<a name="L670"></a><tt class="py-lineno">670</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_token_response_param</tt> <tt class="py-op">=</tt> <tt class="py-name">token_response_param</tt> </tt>
-<a name="L671"></a><tt class="py-lineno">671</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_storage_class</tt> <tt class="py-op">=</tt> <tt class="py-name">_storage_class</tt> </tt>
-<a name="L672"></a><tt class="py-lineno">672</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_credentials_class</tt> <tt class="py-op">=</tt> <tt class="py-name">_credentials_class</tt> </tt>
-<a name="L673"></a><tt class="py-lineno">673</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_credentials_property_name</tt> <tt class="py-op">=</tt> <tt class="py-name">_credentials_property_name</tt> </tt>
-</div><a name="L674"></a><tt class="py-lineno">674</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Decorator._display_error_message"></a><div id="OAuth2Decorator._display_error_message-def"><a name="L675"></a><tt class="py-lineno">675</tt> <a class="py-toggle" href="#" id="OAuth2Decorator._display_error_message-toggle" onclick="return toggle('OAuth2Decorator._display_error_message');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.OAuth2Decorator-class.html#_display_error_message">_display_error_message</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request_handler</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Decorator._display_error_message-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="OAuth2Decorator._display_error_message-expanded"><a name="L676"></a><tt class="py-lineno">676</tt>  <tt class="py-line">    <tt class="py-name">request_handler</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name" targets="Method apiclient.model.BaseModel.response()=apiclient.model.BaseModel-class.html#response,Method apiclient.model.Model.response()=apiclient.model.Model-class.html#response"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-188', 'response', 'link-188');">response</a></tt><tt class="py-op">.</tt><tt class="py-name">out</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">'&lt;html&gt;&lt;body&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L677"></a><tt class="py-lineno">677</tt>  <tt class="py-line">    <tt class="py-name">request_handler</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-189', 'response', 'link-188');">response</a></tt><tt class="py-op">.</tt><tt class="py-name">out</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt id="link-190" class="py-name" targets="Function oauth2client.appengine._safe_html()=oauth2client.appengine-module.html#_safe_html"><a title="oauth2client.appengine._safe_html" class="py-name" href="#" onclick="return doclink('link-190', '_safe_html', 'link-190');">_safe_html</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_message</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L678"></a><tt class="py-lineno">678</tt>  <tt class="py-line">    <tt class="py-name">request_handler</tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-191', 'response', 'link-188');">response</a></tt><tt class="py-op">.</tt><tt class="py-name">out</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/body&gt;&lt;/html&gt;'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L679"></a><tt class="py-lineno">679</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Decorator.oauth_required"></a><div id="OAuth2Decorator.oauth_required-def"><a name="L680"></a><tt class="py-lineno">680</tt> <a class="py-toggle" href="#" id="OAuth2Decorator.oauth_required-toggle" onclick="return toggle('OAuth2Decorator.oauth_required');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.OAuth2Decorator-class.html#oauth_required">oauth_required</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">method</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Decorator.oauth_required-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="OAuth2Decorator.oauth_required-expanded"><a name="L681"></a><tt class="py-lineno">681</tt>  <tt class="py-line">    <tt class="py-docstring">"""Decorator that starts the OAuth 2.0 dance.</tt> </tt>
-<a name="L682"></a><tt class="py-lineno">682</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L683"></a><tt class="py-lineno">683</tt>  <tt class="py-line"><tt class="py-docstring">    Starts the OAuth dance for the logged in user if they haven't already</tt> </tt>
-<a name="L684"></a><tt class="py-lineno">684</tt>  <tt class="py-line"><tt class="py-docstring">    granted access for this application.</tt> </tt>
-<a name="L685"></a><tt class="py-lineno">685</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L686"></a><tt class="py-lineno">686</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L687"></a><tt class="py-lineno">687</tt>  <tt class="py-line"><tt class="py-docstring">      method: callable, to be decorated method of a webapp.RequestHandler</tt> </tt>
-<a name="L688"></a><tt class="py-lineno">688</tt>  <tt class="py-line"><tt class="py-docstring">        instance.</tt> </tt>
-<a name="L689"></a><tt class="py-lineno">689</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L690"></a><tt class="py-lineno">690</tt>  <tt class="py-line"> </tt>
-<a name="L691"></a><tt class="py-lineno">691</tt>  <tt class="py-line">    <tt class="py-keyword">def</tt> <tt class="py-def-name">check_oauth</tt><tt class="py-op">(</tt><tt class="py-param">request_handler</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L692"></a><tt class="py-lineno">692</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error</tt><tt class="py-op">:</tt> </tt>
-<a name="L693"></a><tt class="py-lineno">693</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-192" class="py-name" targets="Method oauth2client.appengine.OAuth2Decorator._display_error_message()=oauth2client.appengine.OAuth2Decorator-class.html#_display_error_message"><a title="oauth2client.appengine.OAuth2Decorator._display_error_message" class="py-name" href="#" onclick="return doclink('link-192', '_display_error_message', 'link-192');">_display_error_message</a></tt><tt class="py-op">(</tt><tt class="py-name">request_handler</tt><tt class="py-op">)</tt> </tt>
-<a name="L694"></a><tt class="py-lineno">694</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
-<a name="L695"></a><tt class="py-lineno">695</tt>  <tt class="py-line"> </tt>
-<a name="L696"></a><tt class="py-lineno">696</tt>  <tt class="py-line">      <tt class="py-name">user</tt> <tt class="py-op">=</tt> <tt class="py-name">users</tt><tt class="py-op">.</tt><tt class="py-name">get_current_user</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L697"></a><tt class="py-lineno">697</tt>  <tt class="py-line">      <tt class="py-comment"># Don't use @login_decorator as this could be used in a POST request.</tt> </tt>
-<a name="L698"></a><tt class="py-lineno">698</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">user</tt><tt class="py-op">:</tt> </tt>
-<a name="L699"></a><tt class="py-lineno">699</tt>  <tt class="py-line">        <tt class="py-name">request_handler</tt><tt class="py-op">.</tt><tt class="py-name">redirect</tt><tt class="py-op">(</tt><tt class="py-name">users</tt><tt class="py-op">.</tt><tt class="py-name">create_login_url</tt><tt class="py-op">(</tt> </tt>
-<a name="L700"></a><tt class="py-lineno">700</tt>  <tt class="py-line">            <tt class="py-name">request_handler</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-193', 'request', 'link-159');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L701"></a><tt class="py-lineno">701</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
-<a name="L702"></a><tt class="py-lineno">702</tt>  <tt class="py-line"> </tt>
-<a name="L703"></a><tt class="py-lineno">703</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-194" class="py-name" targets="Method oauth2client.appengine.OAuth2Decorator._create_flow()=oauth2client.appengine.OAuth2Decorator-class.html#_create_flow"><a title="oauth2client.appengine.OAuth2Decorator._create_flow" class="py-name" href="#" onclick="return doclink('link-194', '_create_flow', 'link-194');">_create_flow</a></tt><tt class="py-op">(</tt><tt class="py-name">request_handler</tt><tt class="py-op">)</tt> </tt>
-<a name="L704"></a><tt class="py-lineno">704</tt>  <tt class="py-line"> </tt>
-<a name="L705"></a><tt class="py-lineno">705</tt>  <tt class="py-line">      <tt class="py-comment"># Store the request URI in 'state' so we can use it later</tt> </tt>
-<a name="L706"></a><tt class="py-lineno">706</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-195', 'flow', 'link-84');">flow</a></tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'state'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-196" class="py-name" targets="Function oauth2client.appengine._build_state_value()=oauth2client.appengine-module.html#_build_state_value"><a title="oauth2client.appengine._build_state_value" class="py-name" href="#" onclick="return doclink('link-196', '_build_state_value', 'link-196');">_build_state_value</a></tt><tt class="py-op">(</tt><tt class="py-name">request_handler</tt><tt class="py-op">,</tt> <tt class="py-name">user</tt><tt class="py-op">)</tt> </tt>
-<a name="L707"></a><tt class="py-lineno">707</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-197', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_storage_class</tt><tt class="py-op">(</tt> </tt>
-<a name="L708"></a><tt class="py-lineno">708</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_credentials_class</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L709"></a><tt class="py-lineno">709</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_credentials_property_name</tt><tt class="py-op">,</tt> <tt class="py-name">user</tt><tt class="py-op">=</tt><tt class="py-name">user</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-198', 'get', 'link-52');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L710"></a><tt class="py-lineno">710</tt>  <tt class="py-line"> </tt>
-<a name="L711"></a><tt class="py-lineno">711</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name" targets="Method oauth2client.appengine.OAuth2Decorator.has_credentials()=oauth2client.appengine.OAuth2Decorator-class.html#has_credentials"><a title="oauth2client.appengine.OAuth2Decorator.has_credentials" class="py-name" href="#" onclick="return doclink('link-199', 'has_credentials', 'link-199');">has_credentials</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L712"></a><tt class="py-lineno">712</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">request_handler</tt><tt class="py-op">.</tt><tt class="py-name">redirect</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name" targets="Method oauth2client.appengine.OAuth2Decorator.authorize_url()=oauth2client.appengine.OAuth2Decorator-class.html#authorize_url"><a title="oauth2client.appengine.OAuth2Decorator.authorize_url" class="py-name" href="#" onclick="return doclink('link-200', 'authorize_url', 'link-200');">authorize_url</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L713"></a><tt class="py-lineno">713</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L714"></a><tt class="py-lineno">714</tt>  <tt class="py-line">        <tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">method</tt><tt class="py-op">(</tt><tt class="py-name">request_handler</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L715"></a><tt class="py-lineno">715</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt> <tt id="link-201" class="py-name"><a title="oauth2client.client.AccessTokenRefreshError" class="py-name" href="#" onclick="return doclink('link-201', 'AccessTokenRefreshError', 'link-25');">AccessTokenRefreshError</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L716"></a><tt class="py-lineno">716</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">request_handler</tt><tt class="py-op">.</tt><tt class="py-name">redirect</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.authorize_url" class="py-name" href="#" onclick="return doclink('link-202', 'authorize_url', 'link-200');">authorize_url</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L717"></a><tt class="py-lineno">717</tt>  <tt class="py-line">      <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L718"></a><tt class="py-lineno">718</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-203', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L719"></a><tt class="py-lineno">719</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">resp</tt> </tt>
-</div><a name="L720"></a><tt class="py-lineno">720</tt>  <tt class="py-line"> </tt>
-<a name="L721"></a><tt class="py-lineno">721</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">check_oauth</tt> </tt>
-</div><a name="L722"></a><tt class="py-lineno">722</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Decorator._create_flow"></a><div id="OAuth2Decorator._create_flow-def"><a name="L723"></a><tt class="py-lineno">723</tt> <a class="py-toggle" href="#" id="OAuth2Decorator._create_flow-toggle" onclick="return toggle('OAuth2Decorator._create_flow');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.OAuth2Decorator-class.html#_create_flow">_create_flow</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request_handler</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Decorator._create_flow-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="OAuth2Decorator._create_flow-expanded"><a name="L724"></a><tt class="py-lineno">724</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create the Flow object.</tt> </tt>
-<a name="L725"></a><tt class="py-lineno">725</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L726"></a><tt class="py-lineno">726</tt>  <tt class="py-line"><tt class="py-docstring">    The Flow is calculated lazily since we don't know where this app is</tt> </tt>
-<a name="L727"></a><tt class="py-lineno">727</tt>  <tt class="py-line"><tt class="py-docstring">    running until it receives a request, at which point redirect_uri can be</tt> </tt>
-<a name="L728"></a><tt class="py-lineno">728</tt>  <tt class="py-line"><tt class="py-docstring">    calculated and then the Flow object can be constructed.</tt> </tt>
-<a name="L729"></a><tt class="py-lineno">729</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L730"></a><tt class="py-lineno">730</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L731"></a><tt class="py-lineno">731</tt>  <tt class="py-line"><tt class="py-docstring">      request_handler: webapp.RequestHandler, the request handler.</tt> </tt>
-<a name="L732"></a><tt class="py-lineno">732</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L733"></a><tt class="py-lineno">733</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-204" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-204', 'flow', 'link-84');">flow</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L734"></a><tt class="py-lineno">734</tt>  <tt class="py-line">      <tt class="py-name">redirect_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">request_handler</tt><tt class="py-op">.</tt><tt id="link-205" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-205', 'request', 'link-159');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">relative_url</tt><tt class="py-op">(</tt> </tt>
-<a name="L735"></a><tt class="py-lineno">735</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callback_path</tt><tt class="py-op">)</tt> <tt class="py-comment"># Usually /oauth2callback</tt> </tt>
-<a name="L736"></a><tt class="py-lineno">736</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-206', 'flow', 'link-84');">flow</a></tt> <tt class="py-op">=</tt> <tt id="link-207" class="py-name"><a title="oauth2client.client.OAuth2WebServerFlow" class="py-name" href="#" onclick="return doclink('link-207', 'OAuth2WebServerFlow', 'link-37');">OAuth2WebServerFlow</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_client_id</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_client_secret</tt><tt class="py-op">,</tt> </tt>
-<a name="L737"></a><tt class="py-lineno">737</tt>  <tt class="py-line">                                      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_scope</tt><tt class="py-op">,</tt> <tt class="py-name">redirect_uri</tt><tt class="py-op">=</tt><tt class="py-name">redirect_uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L738"></a><tt class="py-lineno">738</tt>  <tt class="py-line">                                      <tt class="py-name">user_agent</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_user_agent</tt><tt class="py-op">,</tt> </tt>
-<a name="L739"></a><tt class="py-lineno">739</tt>  <tt class="py-line">                                      <tt class="py-name">auth_uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_auth_uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L740"></a><tt class="py-lineno">740</tt>  <tt class="py-line">                                      <tt class="py-name">token_uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_token_uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L741"></a><tt class="py-lineno">741</tt>  <tt class="py-line">                                      <tt class="py-name">revoke_uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_revoke_uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L742"></a><tt class="py-lineno">742</tt>  <tt class="py-line">                                      <tt class="py-op">**</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_kwargs</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L743"></a><tt class="py-lineno">743</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Decorator.oauth_aware"></a><div id="OAuth2Decorator.oauth_aware-def"><a name="L744"></a><tt class="py-lineno">744</tt> <a class="py-toggle" href="#" id="OAuth2Decorator.oauth_aware-toggle" onclick="return toggle('OAuth2Decorator.oauth_aware');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.OAuth2Decorator-class.html#oauth_aware">oauth_aware</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">method</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Decorator.oauth_aware-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="OAuth2Decorator.oauth_aware-expanded"><a name="L745"></a><tt class="py-lineno">745</tt>  <tt class="py-line">    <tt class="py-docstring">"""Decorator that sets up for OAuth 2.0 dance, but doesn't do it.</tt> </tt>
-<a name="L746"></a><tt class="py-lineno">746</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L747"></a><tt class="py-lineno">747</tt>  <tt class="py-line"><tt class="py-docstring">    Does all the setup for the OAuth dance, but doesn't initiate it.</tt> </tt>
-<a name="L748"></a><tt class="py-lineno">748</tt>  <tt class="py-line"><tt class="py-docstring">    This decorator is useful if you want to create a page that knows</tt> </tt>
-<a name="L749"></a><tt class="py-lineno">749</tt>  <tt class="py-line"><tt class="py-docstring">    whether or not the user has granted access to this application.</tt> </tt>
-<a name="L750"></a><tt class="py-lineno">750</tt>  <tt class="py-line"><tt class="py-docstring">    From within a method decorated with @oauth_aware the has_credentials()</tt> </tt>
-<a name="L751"></a><tt class="py-lineno">751</tt>  <tt class="py-line"><tt class="py-docstring">    and authorize_url() methods can be called.</tt> </tt>
-<a name="L752"></a><tt class="py-lineno">752</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L753"></a><tt class="py-lineno">753</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L754"></a><tt class="py-lineno">754</tt>  <tt class="py-line"><tt class="py-docstring">      method: callable, to be decorated method of a webapp.RequestHandler</tt> </tt>
-<a name="L755"></a><tt class="py-lineno">755</tt>  <tt class="py-line"><tt class="py-docstring">        instance.</tt> </tt>
-<a name="L756"></a><tt class="py-lineno">756</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L757"></a><tt class="py-lineno">757</tt>  <tt class="py-line"> </tt>
-<a name="L758"></a><tt class="py-lineno">758</tt>  <tt class="py-line">    <tt class="py-keyword">def</tt> <tt class="py-def-name">setup_oauth</tt><tt class="py-op">(</tt><tt class="py-param">request_handler</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L759"></a><tt class="py-lineno">759</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error</tt><tt class="py-op">:</tt> </tt>
-<a name="L760"></a><tt class="py-lineno">760</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator._display_error_message" class="py-name" href="#" onclick="return doclink('link-208', '_display_error_message', 'link-192');">_display_error_message</a></tt><tt class="py-op">(</tt><tt class="py-name">request_handler</tt><tt class="py-op">)</tt> </tt>
-<a name="L761"></a><tt class="py-lineno">761</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
-<a name="L762"></a><tt class="py-lineno">762</tt>  <tt class="py-line"> </tt>
-<a name="L763"></a><tt class="py-lineno">763</tt>  <tt class="py-line">      <tt class="py-name">user</tt> <tt class="py-op">=</tt> <tt class="py-name">users</tt><tt class="py-op">.</tt><tt class="py-name">get_current_user</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L764"></a><tt class="py-lineno">764</tt>  <tt class="py-line">      <tt class="py-comment"># Don't use @login_decorator as this could be used in a POST request.</tt> </tt>
-<a name="L765"></a><tt class="py-lineno">765</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">user</tt><tt class="py-op">:</tt> </tt>
-<a name="L766"></a><tt class="py-lineno">766</tt>  <tt class="py-line">        <tt class="py-name">request_handler</tt><tt class="py-op">.</tt><tt class="py-name">redirect</tt><tt class="py-op">(</tt><tt class="py-name">users</tt><tt class="py-op">.</tt><tt class="py-name">create_login_url</tt><tt class="py-op">(</tt> </tt>
-<a name="L767"></a><tt class="py-lineno">767</tt>  <tt class="py-line">            <tt class="py-name">request_handler</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-209', 'request', 'link-159');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L768"></a><tt class="py-lineno">768</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
-<a name="L769"></a><tt class="py-lineno">769</tt>  <tt class="py-line"> </tt>
-<a name="L770"></a><tt class="py-lineno">770</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-210" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator._create_flow" class="py-name" href="#" onclick="return doclink('link-210', '_create_flow', 'link-194');">_create_flow</a></tt><tt class="py-op">(</tt><tt class="py-name">request_handler</tt><tt class="py-op">)</tt> </tt>
-<a name="L771"></a><tt class="py-lineno">771</tt>  <tt class="py-line"> </tt>
-<a name="L772"></a><tt class="py-lineno">772</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-211" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-211', 'flow', 'link-84');">flow</a></tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'state'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-212" class="py-name"><a title="oauth2client.appengine._build_state_value" class="py-name" href="#" onclick="return doclink('link-212', '_build_state_value', 'link-196');">_build_state_value</a></tt><tt class="py-op">(</tt><tt class="py-name">request_handler</tt><tt class="py-op">,</tt> <tt class="py-name">user</tt><tt class="py-op">)</tt> </tt>
-<a name="L773"></a><tt class="py-lineno">773</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-213', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_storage_class</tt><tt class="py-op">(</tt> </tt>
-<a name="L774"></a><tt class="py-lineno">774</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_credentials_class</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L775"></a><tt class="py-lineno">775</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_credentials_property_name</tt><tt class="py-op">,</tt> <tt class="py-name">user</tt><tt class="py-op">=</tt><tt class="py-name">user</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-214" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-214', 'get', 'link-52');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L776"></a><tt class="py-lineno">776</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L777"></a><tt class="py-lineno">777</tt>  <tt class="py-line">        <tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">method</tt><tt class="py-op">(</tt><tt class="py-name">request_handler</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L778"></a><tt class="py-lineno">778</tt>  <tt class="py-line">      <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L779"></a><tt class="py-lineno">779</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-215', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L780"></a><tt class="py-lineno">780</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">resp</tt> </tt>
-</div><a name="L781"></a><tt class="py-lineno">781</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">setup_oauth</tt> </tt>
-</div><a name="L782"></a><tt class="py-lineno">782</tt>  <tt class="py-line"> </tt>
-<a name="L783"></a><tt class="py-lineno">783</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Decorator.has_credentials"></a><div id="OAuth2Decorator.has_credentials-def"><a name="L784"></a><tt class="py-lineno">784</tt> <a class="py-toggle" href="#" id="OAuth2Decorator.has_credentials-toggle" onclick="return toggle('OAuth2Decorator.has_credentials');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.OAuth2Decorator-class.html#has_credentials">has_credentials</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Decorator.has_credentials-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="OAuth2Decorator.has_credentials-expanded"><a name="L785"></a><tt class="py-lineno">785</tt>  <tt class="py-line">    <tt class="py-docstring">"""True if for the logged in user there are valid access Credentials.</tt> </tt>
-<a name="L786"></a><tt class="py-lineno">786</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L787"></a><tt class="py-lineno">787</tt>  <tt class="py-line"><tt class="py-docstring">    Must only be called from with a webapp.RequestHandler subclassed method</tt> </tt>
-<a name="L788"></a><tt class="py-lineno">788</tt>  <tt class="py-line"><tt class="py-docstring">    that had been decorated with either @oauth_required or @oauth_aware.</tt> </tt>
-<a name="L789"></a><tt class="py-lineno">789</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L790"></a><tt class="py-lineno">790</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-216', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-217', 'credentials', 'link-102');">credentials</a></tt><tt class="py-op">.</tt><tt class="py-name">invalid</tt> </tt>
-</div><a name="L791"></a><tt class="py-lineno">791</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Decorator.authorize_url"></a><div id="OAuth2Decorator.authorize_url-def"><a name="L792"></a><tt class="py-lineno">792</tt> <a class="py-toggle" href="#" id="OAuth2Decorator.authorize_url-toggle" onclick="return toggle('OAuth2Decorator.authorize_url');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.OAuth2Decorator-class.html#authorize_url">authorize_url</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Decorator.authorize_url-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="OAuth2Decorator.authorize_url-expanded"><a name="L793"></a><tt class="py-lineno">793</tt>  <tt class="py-line">    <tt class="py-docstring">"""Returns the URL to start the OAuth dance.</tt> </tt>
-<a name="L794"></a><tt class="py-lineno">794</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L795"></a><tt class="py-lineno">795</tt>  <tt class="py-line"><tt class="py-docstring">    Must only be called from with a webapp.RequestHandler subclassed method</tt> </tt>
-<a name="L796"></a><tt class="py-lineno">796</tt>  <tt class="py-line"><tt class="py-docstring">    that had been decorated with either @oauth_required or @oauth_aware.</tt> </tt>
-<a name="L797"></a><tt class="py-lineno">797</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L798"></a><tt class="py-lineno">798</tt>  <tt class="py-line">    <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-218', 'flow', 'link-84');">flow</a></tt><tt class="py-op">.</tt><tt id="link-219" class="py-name" targets="Method oauth2client.client.OAuth2WebServerFlow.step1_get_authorize_url()=oauth2client.client.OAuth2WebServerFlow-class.html#step1_get_authorize_url"><a title="oauth2client.client.OAuth2WebServerFlow.step1_get_authorize_url" class="py-name" href="#" onclick="return doclink('link-219', 'step1_get_authorize_url', 'link-219');">step1_get_authorize_url</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L799"></a><tt class="py-lineno">799</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L800"></a><tt class="py-lineno">800</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Decorator.http"></a><div id="OAuth2Decorator.http-def"><a name="L801"></a><tt class="py-lineno">801</tt> <a class="py-toggle" href="#" id="OAuth2Decorator.http-toggle" onclick="return toggle('OAuth2Decorator.http');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.OAuth2Decorator-class.html#http">http</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Decorator.http-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="OAuth2Decorator.http-expanded"><a name="L802"></a><tt class="py-lineno">802</tt>  <tt class="py-line">    <tt class="py-docstring">"""Returns an authorized http instance.</tt> </tt>
-<a name="L803"></a><tt class="py-lineno">803</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L804"></a><tt class="py-lineno">804</tt>  <tt class="py-line"><tt class="py-docstring">    Must only be called from within an @oauth_required decorated method, or</tt> </tt>
-<a name="L805"></a><tt class="py-lineno">805</tt>  <tt class="py-line"><tt class="py-docstring">    from within an @oauth_aware decorated method where has_credentials()</tt> </tt>
-<a name="L806"></a><tt class="py-lineno">806</tt>  <tt class="py-line"><tt class="py-docstring">    returns True.</tt> </tt>
-<a name="L807"></a><tt class="py-lineno">807</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L808"></a><tt class="py-lineno">808</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-220" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-220', 'credentials', 'link-102');">credentials</a></tt><tt class="py-op">.</tt><tt id="link-221" class="py-name" targets="Method oauth2client.client.Credentials.authorize()=oauth2client.client.Credentials-class.html#authorize,Method oauth2client.client.OAuth2Credentials.authorize()=oauth2client.client.OAuth2Credentials-class.html#authorize"><a title="oauth2client.client.Credentials.authorize
-oauth2client.client.OAuth2Credentials.authorize" class="py-name" href="#" onclick="return doclink('link-221', 'authorize', 'link-221');">authorize</a></tt><tt class="py-op">(</tt><tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Http</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L809"></a><tt class="py-lineno">809</tt>  <tt class="py-line"> </tt>
-<a name="L810"></a><tt class="py-lineno">810</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="OAuth2Decorator.callback_path"></a><div id="OAuth2Decorator.callback_path-def"><a name="L811"></a><tt class="py-lineno">811</tt> <a class="py-toggle" href="#" id="OAuth2Decorator.callback_path-toggle" onclick="return toggle('OAuth2Decorator.callback_path');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.OAuth2Decorator-class.html#callback_path">callback_path</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Decorator.callback_path-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="OAuth2Decorator.callback_path-expanded"><a name="L812"></a><tt class="py-lineno">812</tt>  <tt class="py-line">    <tt class="py-docstring">"""The absolute path where the callback will occur.</tt> </tt>
-<a name="L813"></a><tt class="py-lineno">813</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L814"></a><tt class="py-lineno">814</tt>  <tt class="py-line"><tt class="py-docstring">    Note this is the absolute path, not the absolute URI, that will be</tt> </tt>
-<a name="L815"></a><tt class="py-lineno">815</tt>  <tt class="py-line"><tt class="py-docstring">    calculated by the decorator at runtime. See callback_handler() for how this</tt> </tt>
-<a name="L816"></a><tt class="py-lineno">816</tt>  <tt class="py-line"><tt class="py-docstring">    should be used.</tt> </tt>
-<a name="L817"></a><tt class="py-lineno">817</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L818"></a><tt class="py-lineno">818</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L819"></a><tt class="py-lineno">819</tt>  <tt class="py-line"><tt class="py-docstring">      The callback path as a string.</tt> </tt>
-<a name="L820"></a><tt class="py-lineno">820</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L821"></a><tt class="py-lineno">821</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callback_path</tt> </tt>
-</div><a name="L822"></a><tt class="py-lineno">822</tt>  <tt class="py-line"> </tt>
-<a name="L823"></a><tt class="py-lineno">823</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Decorator.callback_handler"></a><div id="OAuth2Decorator.callback_handler-def"><a name="L824"></a><tt class="py-lineno">824</tt> <a class="py-toggle" href="#" id="OAuth2Decorator.callback_handler-toggle" onclick="return toggle('OAuth2Decorator.callback_handler');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.OAuth2Decorator-class.html#callback_handler">callback_handler</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Decorator.callback_handler-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="OAuth2Decorator.callback_handler-expanded"><a name="L825"></a><tt class="py-lineno">825</tt>  <tt class="py-line">    <tt class="py-docstring">"""RequestHandler for the OAuth 2.0 redirect callback.</tt> </tt>
-<a name="L826"></a><tt class="py-lineno">826</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L827"></a><tt class="py-lineno">827</tt>  <tt class="py-line"><tt class="py-docstring">    Usage:</tt> </tt>
-<a name="L828"></a><tt class="py-lineno">828</tt>  <tt class="py-line"><tt class="py-docstring">       app = webapp.WSGIApplication([</tt> </tt>
-<a name="L829"></a><tt class="py-lineno">829</tt>  <tt class="py-line"><tt class="py-docstring">         ('/index', MyIndexHandler),</tt> </tt>
-<a name="L830"></a><tt class="py-lineno">830</tt>  <tt class="py-line"><tt class="py-docstring">         ...,</tt> </tt>
-<a name="L831"></a><tt class="py-lineno">831</tt>  <tt class="py-line"><tt class="py-docstring">         (decorator.callback_path, decorator.callback_handler())</tt> </tt>
-<a name="L832"></a><tt class="py-lineno">832</tt>  <tt class="py-line"><tt class="py-docstring">       ])</tt> </tt>
-<a name="L833"></a><tt class="py-lineno">833</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L834"></a><tt class="py-lineno">834</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L835"></a><tt class="py-lineno">835</tt>  <tt class="py-line"><tt class="py-docstring">      A webapp.RequestHandler that handles the redirect back from the</tt> </tt>
-<a name="L836"></a><tt class="py-lineno">836</tt>  <tt class="py-line"><tt class="py-docstring">      server during the OAuth 2.0 dance.</tt> </tt>
-<a name="L837"></a><tt class="py-lineno">837</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L838"></a><tt class="py-lineno">838</tt>  <tt class="py-line">    <tt class="py-name">decorator</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
-<a name="L839"></a><tt class="py-lineno">839</tt>  <tt class="py-line"> </tt>
-<a name="L840"></a><tt class="py-lineno">840</tt>  <tt class="py-line">    <tt class="py-keyword">class</tt> <tt class="py-def-name">OAuth2Handler</tt><tt class="py-op">(</tt><tt class="py-base-class">webapp</tt><tt class="py-op">.</tt><tt class="py-base-class">RequestHandler</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L841"></a><tt class="py-lineno">841</tt>  <tt class="py-line">      <tt class="py-docstring">"""Handler for the redirect_uri of the OAuth 2.0 dance."""</tt> </tt>
-<a name="L842"></a><tt class="py-lineno">842</tt>  <tt class="py-line"> </tt>
-<a name="L843"></a><tt class="py-lineno">843</tt>  <tt class="py-line">      <tt class="py-decorator">@</tt><tt class="py-decorator">login_required</tt> </tt>
-<a name="L844"></a><tt class="py-lineno">844</tt>  <tt class="py-line">      <tt class="py-keyword">def</tt> <tt class="py-def-name">get</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L845"></a><tt class="py-lineno">845</tt>  <tt class="py-line">        <tt class="py-name">error</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-222', 'request', 'link-159');">request</a></tt><tt class="py-op">.</tt><tt id="link-223" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-223', 'get', 'link-52');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'error'</tt><tt class="py-op">)</tt> </tt>
-<a name="L846"></a><tt class="py-lineno">846</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">error</tt><tt class="py-op">:</tt> </tt>
-<a name="L847"></a><tt class="py-lineno">847</tt>  <tt class="py-line">          <tt class="py-name">errormsg</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-224" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-224', 'request', 'link-159');">request</a></tt><tt class="py-op">.</tt><tt id="link-225" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-225', 'get', 'link-52');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'error_description'</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">)</tt> </tt>
-<a name="L848"></a><tt class="py-lineno">848</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-226', 'response', 'link-188');">response</a></tt><tt class="py-op">.</tt><tt class="py-name">out</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt> </tt>
-<a name="L849"></a><tt class="py-lineno">849</tt>  <tt class="py-line">              <tt class="py-string">'The authorization request failed: %s'</tt> <tt class="py-op">%</tt> <tt id="link-227" class="py-name"><a title="oauth2client.appengine._safe_html" class="py-name" href="#" onclick="return doclink('link-227', '_safe_html', 'link-190');">_safe_html</a></tt><tt class="py-op">(</tt><tt class="py-name">errormsg</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L850"></a><tt class="py-lineno">850</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L851"></a><tt class="py-lineno">851</tt>  <tt class="py-line">          <tt class="py-name">user</tt> <tt class="py-op">=</tt> <tt class="py-name">users</tt><tt class="py-op">.</tt><tt class="py-name">get_current_user</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L852"></a><tt class="py-lineno">852</tt>  <tt class="py-line">          <tt class="py-name">decorator</tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator._create_flow" class="py-name" href="#" onclick="return doclink('link-228', '_create_flow', 'link-194');">_create_flow</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L853"></a><tt class="py-lineno">853</tt>  <tt class="py-line">          <tt id="link-229" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-229', 'credentials', 'link-102');">credentials</a></tt> <tt class="py-op">=</tt> <tt class="py-name">decorator</tt><tt class="py-op">.</tt><tt id="link-230" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-230', 'flow', 'link-84');">flow</a></tt><tt class="py-op">.</tt><tt id="link-231" class="py-name" targets="Method oauth2client.client.OAuth2WebServerFlow.step2_exchange()=oauth2client.client.OAuth2WebServerFlow-class.html#step2_exchange"><a title="oauth2client.client.OAuth2WebServerFlow.step2_exchange" class="py-name" href="#" onclick="return doclink('link-231', 'step2_exchange', 'link-231');">step2_exchange</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-232" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-232', 'request', 'link-159');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
-<a name="L854"></a><tt class="py-lineno">854</tt>  <tt class="py-line">          <tt class="py-name">decorator</tt><tt class="py-op">.</tt><tt class="py-name">_storage_class</tt><tt class="py-op">(</tt> </tt>
-<a name="L855"></a><tt class="py-lineno">855</tt>  <tt class="py-line">              <tt class="py-name">decorator</tt><tt class="py-op">.</tt><tt class="py-name">_credentials_class</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L856"></a><tt class="py-lineno">856</tt>  <tt class="py-line">              <tt class="py-name">decorator</tt><tt class="py-op">.</tt><tt class="py-name">_credentials_property_name</tt><tt class="py-op">,</tt> <tt class="py-name">user</tt><tt class="py-op">=</tt><tt class="py-name">user</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="oauth2client.client.Storage.put" class="py-name" href="#" onclick="return doclink('link-233', 'put', 'link-64');">put</a></tt><tt class="py-op">(</tt><tt id="link-234" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-234', 'credentials', 'link-102');">credentials</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L857"></a><tt class="py-lineno">857</tt>  <tt class="py-line">          <tt class="py-name">redirect_uri</tt> <tt class="py-op">=</tt> <tt id="link-235" class="py-name" targets="Function oauth2client.appengine._parse_state_value()=oauth2client.appengine-module.html#_parse_state_value"><a title="oauth2client.appengine._parse_state_value" class="py-name" href="#" onclick="return doclink('link-235', '_parse_state_value', 'link-235');">_parse_state_value</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-236" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-236', 'request', 'link-159');">request</a></tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-237', 'get', 'link-52');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'state'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L858"></a><tt class="py-lineno">858</tt>  <tt class="py-line">                                            <tt class="py-name">user</tt><tt class="py-op">)</tt> </tt>
-<a name="L859"></a><tt class="py-lineno">859</tt>  <tt class="py-line"> </tt>
-<a name="L860"></a><tt class="py-lineno">860</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">decorator</tt><tt class="py-op">.</tt><tt class="py-name">_token_response_param</tt> <tt class="py-keyword">and</tt> <tt id="link-238" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-238', 'credentials', 'link-102');">credentials</a></tt><tt class="py-op">.</tt><tt class="py-name">token_response</tt><tt class="py-op">:</tt> </tt>
-<a name="L861"></a><tt class="py-lineno">861</tt>  <tt class="py-line">            <tt class="py-name">resp_json</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt id="link-239" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-239', 'credentials', 'link-102');">credentials</a></tt><tt class="py-op">.</tt><tt class="py-name">token_response</tt><tt class="py-op">)</tt> </tt>
-<a name="L862"></a><tt class="py-lineno">862</tt>  <tt class="py-line">            <tt class="py-name">redirect_uri</tt> <tt class="py-op">=</tt> <tt id="link-240" class="py-name"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-240', 'util', 'link-6');">util</a></tt><tt class="py-op">.</tt><tt id="link-241" class="py-name" targets="Function oauth2client.util._add_query_parameter()=oauth2client.util-module.html#_add_query_parameter"><a title="oauth2client.util._add_query_parameter" class="py-name" href="#" onclick="return doclink('link-241', '_add_query_parameter', 'link-241');">_add_query_parameter</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L863"></a><tt class="py-lineno">863</tt>  <tt class="py-line">                <tt class="py-name">redirect_uri</tt><tt class="py-op">,</tt> <tt class="py-name">decorator</tt><tt class="py-op">.</tt><tt class="py-name">_token_response_param</tt><tt class="py-op">,</tt> <tt class="py-name">resp_json</tt><tt class="py-op">)</tt> </tt>
-<a name="L864"></a><tt class="py-lineno">864</tt>  <tt class="py-line"> </tt>
-<a name="L865"></a><tt class="py-lineno">865</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">redirect</tt><tt class="py-op">(</tt><tt class="py-name">redirect_uri</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L866"></a><tt class="py-lineno">866</tt>  <tt class="py-line"> </tt>
-<a name="L867"></a><tt class="py-lineno">867</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">OAuth2Handler</tt> </tt>
-</div><a name="L868"></a><tt class="py-lineno">868</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Decorator.callback_application"></a><div id="OAuth2Decorator.callback_application-def"><a name="L869"></a><tt class="py-lineno">869</tt> <a class="py-toggle" href="#" id="OAuth2Decorator.callback_application-toggle" onclick="return toggle('OAuth2Decorator.callback_application');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.OAuth2Decorator-class.html#callback_application">callback_application</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Decorator.callback_application-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="OAuth2Decorator.callback_application-expanded"><a name="L870"></a><tt class="py-lineno">870</tt>  <tt class="py-line">    <tt class="py-docstring">"""WSGI application for handling the OAuth 2.0 redirect callback.</tt> </tt>
-<a name="L871"></a><tt class="py-lineno">871</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L872"></a><tt class="py-lineno">872</tt>  <tt class="py-line"><tt class="py-docstring">    If you need finer grained control use `callback_handler` which returns just</tt> </tt>
-<a name="L873"></a><tt class="py-lineno">873</tt>  <tt class="py-line"><tt class="py-docstring">    the webapp.RequestHandler.</tt> </tt>
-<a name="L874"></a><tt class="py-lineno">874</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L875"></a><tt class="py-lineno">875</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L876"></a><tt class="py-lineno">876</tt>  <tt class="py-line"><tt class="py-docstring">      A webapp.WSGIApplication that handles the redirect back from the</tt> </tt>
-<a name="L877"></a><tt class="py-lineno">877</tt>  <tt class="py-line"><tt class="py-docstring">      server during the OAuth 2.0 dance.</tt> </tt>
-<a name="L878"></a><tt class="py-lineno">878</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L879"></a><tt class="py-lineno">879</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">webapp</tt><tt class="py-op">.</tt><tt class="py-name">WSGIApplication</tt><tt class="py-op">(</tt><tt class="py-op">[</tt> </tt>
-<a name="L880"></a><tt class="py-lineno">880</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.callback_path" class="py-name" href="#" onclick="return doclink('link-242', 'callback_path', 'link-187');">callback_path</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-243" class="py-name" targets="Method oauth2client.appengine.OAuth2Decorator.callback_handler()=oauth2client.appengine.OAuth2Decorator-class.html#callback_handler"><a title="oauth2client.appengine.OAuth2Decorator.callback_handler" class="py-name" href="#" onclick="return doclink('link-243', 'callback_handler', 'link-243');">callback_handler</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L881"></a><tt class="py-lineno">881</tt>  <tt class="py-line">        <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L882"></a><tt class="py-lineno">882</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2DecoratorFromClientSecrets"></a><div id="OAuth2DecoratorFromClientSecrets-def"><a name="L883"></a><tt class="py-lineno">883</tt>  <tt class="py-line"> </tt>
-<a name="L884"></a><tt class="py-lineno">884</tt> <a class="py-toggle" href="#" id="OAuth2DecoratorFromClientSecrets-toggle" onclick="return toggle('OAuth2DecoratorFromClientSecrets');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html">OAuth2DecoratorFromClientSecrets</a><tt class="py-op">(</tt><tt class="py-base-class">OAuth2Decorator</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2DecoratorFromClientSecrets-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="OAuth2DecoratorFromClientSecrets-expanded"><a name="L885"></a><tt class="py-lineno">885</tt>  <tt class="py-line">  <tt class="py-docstring">"""An OAuth2Decorator that builds from a clientsecrets file.</tt> </tt>
-<a name="L886"></a><tt class="py-lineno">886</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L887"></a><tt class="py-lineno">887</tt>  <tt class="py-line"><tt class="py-docstring">  Uses a clientsecrets file as the source for all the information when</tt> </tt>
-<a name="L888"></a><tt class="py-lineno">888</tt>  <tt class="py-line"><tt class="py-docstring">  constructing an OAuth2Decorator.</tt> </tt>
-<a name="L889"></a><tt class="py-lineno">889</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L890"></a><tt class="py-lineno">890</tt>  <tt class="py-line"><tt class="py-docstring">  Example:</tt> </tt>
-<a name="L891"></a><tt class="py-lineno">891</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L892"></a><tt class="py-lineno">892</tt>  <tt class="py-line"><tt class="py-docstring">    decorator = OAuth2DecoratorFromClientSecrets(</tt> </tt>
-<a name="L893"></a><tt class="py-lineno">893</tt>  <tt class="py-line"><tt class="py-docstring">      os.path.join(os.path.dirname(__file__), 'client_secrets.json')</tt> </tt>
-<a name="L894"></a><tt class="py-lineno">894</tt>  <tt class="py-line"><tt class="py-docstring">      scope='https://www.googleapis.com/auth/plus')</tt> </tt>
-<a name="L895"></a><tt class="py-lineno">895</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L896"></a><tt class="py-lineno">896</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L897"></a><tt class="py-lineno">897</tt>  <tt class="py-line"><tt class="py-docstring">    class MainHandler(webapp.RequestHandler):</tt> </tt>
-<a name="L898"></a><tt class="py-lineno">898</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L899"></a><tt class="py-lineno">899</tt>  <tt class="py-line"><tt class="py-docstring">      @decorator.oauth_required</tt> </tt>
-<a name="L900"></a><tt class="py-lineno">900</tt>  <tt class="py-line"><tt class="py-docstring">      def get(self):</tt> </tt>
-<a name="L901"></a><tt class="py-lineno">901</tt>  <tt class="py-line"><tt class="py-docstring">        http = decorator.http()</tt> </tt>
-<a name="L902"></a><tt class="py-lineno">902</tt>  <tt class="py-line"><tt class="py-docstring">        # http is authorized with the user's Credentials and can be used</tt> </tt>
-<a name="L903"></a><tt class="py-lineno">903</tt>  <tt class="py-line"><tt class="py-docstring">        # in API calls</tt> </tt>
-<a name="L904"></a><tt class="py-lineno">904</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L905"></a><tt class="py-lineno">905</tt>  <tt class="py-line"> </tt>
-<a name="L906"></a><tt class="py-lineno">906</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-244" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-244', 'positional', 'link-73');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
-<a name="OAuth2DecoratorFromClientSecrets.__init__"></a><div id="OAuth2DecoratorFromClientSecrets.__init__-def"><a name="L907"></a><tt class="py-lineno">907</tt> <a class="py-toggle" href="#" id="OAuth2DecoratorFromClientSecrets.__init__-toggle" onclick="return toggle('OAuth2DecoratorFromClientSecrets.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">scope</tt><tt class="py-op">,</tt> <tt class="py-param">message</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">cache</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2DecoratorFromClientSecrets.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="OAuth2DecoratorFromClientSecrets.__init__-expanded"><a name="L908"></a><tt class="py-lineno">908</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor</tt> </tt>
-<a name="L909"></a><tt class="py-lineno">909</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L910"></a><tt class="py-lineno">910</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L911"></a><tt class="py-lineno">911</tt>  <tt class="py-line"><tt class="py-docstring">      filename: string, File name of client secrets.</tt> </tt>
-<a name="L912"></a><tt class="py-lineno">912</tt>  <tt class="py-line"><tt class="py-docstring">      scope: string or iterable of strings, scope(s) of the credentials being</tt> </tt>
-<a name="L913"></a><tt class="py-lineno">913</tt>  <tt class="py-line"><tt class="py-docstring">        requested.</tt> </tt>
-<a name="L914"></a><tt class="py-lineno">914</tt>  <tt class="py-line"><tt class="py-docstring">      message: string, A friendly string to display to the user if the</tt> </tt>
-<a name="L915"></a><tt class="py-lineno">915</tt>  <tt class="py-line"><tt class="py-docstring">        clientsecrets file is missing or invalid. The message may contain HTML</tt> </tt>
-<a name="L916"></a><tt class="py-lineno">916</tt>  <tt class="py-line"><tt class="py-docstring">        and will be presented on the web interface for any method that uses the</tt> </tt>
-<a name="L917"></a><tt class="py-lineno">917</tt>  <tt class="py-line"><tt class="py-docstring">        decorator.</tt> </tt>
-<a name="L918"></a><tt class="py-lineno">918</tt>  <tt class="py-line"><tt class="py-docstring">      cache: An optional cache service client that implements get() and set()</tt> </tt>
-<a name="L919"></a><tt class="py-lineno">919</tt>  <tt class="py-line"><tt class="py-docstring">        methods. See clientsecrets.loadfile() for details.</tt> </tt>
-<a name="L920"></a><tt class="py-lineno">920</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L921"></a><tt class="py-lineno">921</tt>  <tt class="py-line">    <tt class="py-name">client_type</tt><tt class="py-op">,</tt> <tt class="py-name">client_info</tt> <tt class="py-op">=</tt> <tt id="link-245" class="py-name"><a title="oauth2client.clientsecrets" class="py-name" href="#" onclick="return doclink('link-245', 'clientsecrets', 'link-16');">clientsecrets</a></tt><tt class="py-op">.</tt><tt id="link-246" class="py-name" targets="Function oauth2client.clientsecrets.loadfile()=oauth2client.clientsecrets-module.html#loadfile"><a title="oauth2client.clientsecrets.loadfile" class="py-name" href="#" onclick="return doclink('link-246', 'loadfile', 'link-246');">loadfile</a></tt><tt class="py-op">(</tt><tt id="link-247" class="py-name" targets="Method oauth2client.locked_file.LockedFile.filename()=oauth2client.locked_file.LockedFile-class.html#filename,Method oauth2client.locked_file._Opener.filename()=oauth2client.locked_file._Opener-class.html#filename"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-247', 'filename', 'link-247');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">cache</tt><tt class="py-op">=</tt><tt class="py-name">cache</tt><tt class="py-op">)</tt> </tt>
-<a name="L922"></a><tt class="py-lineno">922</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">client_type</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt> </tt>
-<a name="L923"></a><tt class="py-lineno">923</tt>  <tt class="py-line">        <tt id="link-248" class="py-name"><a title="oauth2client.clientsecrets" class="py-name" href="#" onclick="return doclink('link-248', 'clientsecrets', 'link-16');">clientsecrets</a></tt><tt class="py-op">.</tt><tt id="link-249" class="py-name" targets="Variable oauth2client.clientsecrets.TYPE_WEB=oauth2client.clientsecrets-module.html#TYPE_WEB"><a title="oauth2client.clientsecrets.TYPE_WEB" class="py-name" href="#" onclick="return doclink('link-249', 'TYPE_WEB', 'link-249');">TYPE_WEB</a></tt><tt class="py-op">,</tt> <tt id="link-250" class="py-name"><a title="oauth2client.clientsecrets" class="py-name" href="#" onclick="return doclink('link-250', 'clientsecrets', 'link-16');">clientsecrets</a></tt><tt class="py-op">.</tt><tt id="link-251" class="py-name" targets="Variable oauth2client.clientsecrets.TYPE_INSTALLED=oauth2client.clientsecrets-module.html#TYPE_INSTALLED"><a title="oauth2client.clientsecrets.TYPE_INSTALLED" class="py-name" href="#" onclick="return doclink('link-251', 'TYPE_INSTALLED', 'link-251');">TYPE_INSTALLED</a></tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
-<a name="L924"></a><tt class="py-lineno">924</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-252" class="py-name" targets="Class oauth2client.appengine.InvalidClientSecretsError=oauth2client.appengine.InvalidClientSecretsError-class.html,Class oauth2client.clientsecrets.InvalidClientSecretsError=oauth2client.clientsecrets.InvalidClientSecretsError-class.html"><a title="oauth2client.appengine.InvalidClientSecretsError
-oauth2client.clientsecrets.InvalidClientSecretsError" class="py-name" href="#" onclick="return doclink('link-252', 'InvalidClientSecretsError', 'link-252');">InvalidClientSecretsError</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L925"></a><tt class="py-lineno">925</tt>  <tt class="py-line">          <tt class="py-string">'OAuth2Decorator doesn\'t support this OAuth 2.0 flow.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L926"></a><tt class="py-lineno">926</tt>  <tt class="py-line">    <tt class="py-name">constructor_kwargs</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L927"></a><tt class="py-lineno">927</tt>  <tt class="py-line">      <tt class="py-string">'auth_uri'</tt><tt class="py-op">:</tt> <tt class="py-name">client_info</tt><tt class="py-op">[</tt><tt class="py-string">'auth_uri'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L928"></a><tt class="py-lineno">928</tt>  <tt class="py-line">      <tt class="py-string">'token_uri'</tt><tt class="py-op">:</tt> <tt class="py-name">client_info</tt><tt class="py-op">[</tt><tt class="py-string">'token_uri'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L929"></a><tt class="py-lineno">929</tt>  <tt class="py-line">      <tt class="py-string">'message'</tt><tt class="py-op">:</tt> <tt class="py-name">message</tt><tt class="py-op">,</tt> </tt>
-<a name="L930"></a><tt class="py-lineno">930</tt>  <tt class="py-line">    <tt class="py-op">}</tt> </tt>
-<a name="L931"></a><tt class="py-lineno">931</tt>  <tt class="py-line">    <tt class="py-name">revoke_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">client_info</tt><tt class="py-op">.</tt><tt id="link-253" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-253', 'get', 'link-52');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'revoke_uri'</tt><tt class="py-op">)</tt> </tt>
-<a name="L932"></a><tt class="py-lineno">932</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">revoke_uri</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L933"></a><tt class="py-lineno">933</tt>  <tt class="py-line">      <tt class="py-name">constructor_kwargs</tt><tt class="py-op">[</tt><tt class="py-string">'revoke_uri'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">revoke_uri</tt> </tt>
-<a name="L934"></a><tt class="py-lineno">934</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-254" class="py-name" targets="Class oauth2client.appengine.OAuth2DecoratorFromClientSecrets=oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html"><a title="oauth2client.appengine.OAuth2DecoratorFromClientSecrets" class="py-name" href="#" onclick="return doclink('link-254', 'OAuth2DecoratorFromClientSecrets', 'link-254');">OAuth2DecoratorFromClientSecrets</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-255" class="py-name"><a title="apiclient.channel.Channel.__init__
-apiclient.channel.Notification.__init__
-apiclient.discovery.Resource.__init__
-apiclient.discovery.ResourceMethodParameters.__init__
-apiclient.errors.BatchError.__init__
-apiclient.errors.HttpError.__init__
-apiclient.errors.UnexpectedBodyError.__init__
-apiclient.errors.UnexpectedMethodError.__init__
-apiclient.http.BatchHttpRequest.__init__
-apiclient.http.HttpMock.__init__
-apiclient.http.HttpMockSequence.__init__
-apiclient.http.HttpRequest.__init__
-apiclient.http.HttpRequestMock.__init__
-apiclient.http.MediaDownloadProgress.__init__
-apiclient.http.MediaFileUpload.__init__
-apiclient.http.MediaInMemoryUpload.__init__
-apiclient.http.MediaIoBaseDownload.__init__
-apiclient.http.MediaIoBaseUpload.__init__
-apiclient.http.MediaUploadProgress.__init__
-apiclient.http.RequestMockBuilder.__init__
-apiclient.http._StreamSlice.__init__
-apiclient.model.JsonModel.__init__
-apiclient.model.ProtocolBufferModel.__init__
-apiclient.schema.Schemas.__init__
-apiclient.schema._SchemaToStruct.__init__
-oauth2client.appengine.AppAssertionCredentials.__init__
-oauth2client.appengine.OAuth2Decorator.__init__
-oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__
-oauth2client.appengine.StorageByKeyName.__init__
-oauth2client.client.AccessTokenCredentials.__init__
-oauth2client.client.AssertionCredentials.__init__
-oauth2client.client.MemoryCache.__init__
-oauth2client.client.OAuth2Credentials.__init__
-oauth2client.client.OAuth2WebServerFlow.__init__
-oauth2client.client.SignedJwtAssertionCredentials.__init__
-oauth2client.django_orm.CredentialsField.__init__
-oauth2client.django_orm.FlowField.__init__
-oauth2client.django_orm.Storage.__init__
-oauth2client.file.Storage.__init__
-oauth2client.gce.AppAssertionCredentials.__init__
-oauth2client.keyring_storage.Storage.__init__
-oauth2client.locked_file.LockedFile.__init__
-oauth2client.locked_file._Opener.__init__
-oauth2client.multistore_file._MultiStore._Storage.__init__
-oauth2client.multistore_file._MultiStore.__init__" class="py-name" href="#" onclick="return doclink('link-255', '__init__', 'link-77');">__init__</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L935"></a><tt class="py-lineno">935</tt>  <tt class="py-line">        <tt class="py-name">client_info</tt><tt class="py-op">[</tt><tt class="py-string">'client_id'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">client_info</tt><tt class="py-op">[</tt><tt class="py-string">'client_secret'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L936"></a><tt class="py-lineno">936</tt>  <tt class="py-line">        <tt class="py-name">scope</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">constructor_kwargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L937"></a><tt class="py-lineno">937</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">message</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L938"></a><tt class="py-lineno">938</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_message</tt> <tt class="py-op">=</tt> <tt class="py-name">message</tt> </tt>
-<a name="L939"></a><tt class="py-lineno">939</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L940"></a><tt class="py-lineno">940</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_message</tt> <tt class="py-op">=</tt> <tt class="py-string">'Please configure your application for OAuth 2.0.'</tt> </tt>
-</div></div><a name="L941"></a><tt class="py-lineno">941</tt>  <tt class="py-line"> </tt>
-<a name="oauth2decorator_from_clientsecrets"></a><div id="oauth2decorator_from_clientsecrets-def"><a name="L942"></a><tt class="py-lineno">942</tt>  <tt class="py-line"> </tt>
-<a name="L943"></a><tt class="py-lineno">943</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-256" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-256', 'positional', 'link-73');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L944"></a><tt class="py-lineno">944</tt> <a class="py-toggle" href="#" id="oauth2decorator_from_clientsecrets-toggle" onclick="return toggle('oauth2decorator_from_clientsecrets');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.appengine-module.html#oauth2decorator_from_clientsecrets">oauth2decorator_from_clientsecrets</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">scope</tt><tt class="py-op">,</tt> </tt>
-<a name="L945"></a><tt class="py-lineno">945</tt>  <tt class="py-line">                                       <tt class="py-param">message</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">cache</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="oauth2decorator_from_clientsecrets-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="oauth2decorator_from_clientsecrets-expanded"><a name="L946"></a><tt class="py-lineno">946</tt>  <tt class="py-line">  <tt class="py-docstring">"""Creates an OAuth2Decorator populated from a clientsecrets file.</tt> </tt>
-<a name="L947"></a><tt class="py-lineno">947</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L948"></a><tt class="py-lineno">948</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L949"></a><tt class="py-lineno">949</tt>  <tt class="py-line"><tt class="py-docstring">    filename: string, File name of client secrets.</tt> </tt>
-<a name="L950"></a><tt class="py-lineno">950</tt>  <tt class="py-line"><tt class="py-docstring">    scope: string or list of strings, scope(s) of the credentials being</tt> </tt>
-<a name="L951"></a><tt class="py-lineno">951</tt>  <tt class="py-line"><tt class="py-docstring">      requested.</tt> </tt>
-<a name="L952"></a><tt class="py-lineno">952</tt>  <tt class="py-line"><tt class="py-docstring">    message: string, A friendly string to display to the user if the</tt> </tt>
-<a name="L953"></a><tt class="py-lineno">953</tt>  <tt class="py-line"><tt class="py-docstring">      clientsecrets file is missing or invalid. The message may contain HTML and</tt> </tt>
-<a name="L954"></a><tt class="py-lineno">954</tt>  <tt class="py-line"><tt class="py-docstring">      will be presented on the web interface for any method that uses the</tt> </tt>
-<a name="L955"></a><tt class="py-lineno">955</tt>  <tt class="py-line"><tt class="py-docstring">      decorator.</tt> </tt>
-<a name="L956"></a><tt class="py-lineno">956</tt>  <tt class="py-line"><tt class="py-docstring">    cache: An optional cache service client that implements get() and set()</tt> </tt>
-<a name="L957"></a><tt class="py-lineno">957</tt>  <tt class="py-line"><tt class="py-docstring">      methods. See clientsecrets.loadfile() for details.</tt> </tt>
-<a name="L958"></a><tt class="py-lineno">958</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L959"></a><tt class="py-lineno">959</tt>  <tt class="py-line"><tt class="py-docstring">  Returns: An OAuth2Decorator</tt> </tt>
-<a name="L960"></a><tt class="py-lineno">960</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L961"></a><tt class="py-lineno">961</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L962"></a><tt class="py-lineno">962</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-257" class="py-name"><a title="oauth2client.appengine.OAuth2DecoratorFromClientSecrets" class="py-name" href="#" onclick="return doclink('link-257', 'OAuth2DecoratorFromClientSecrets', 'link-254');">OAuth2DecoratorFromClientSecrets</a></tt><tt class="py-op">(</tt><tt id="link-258" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-258', 'filename', 'link-247');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">scope</tt><tt class="py-op">,</tt> </tt>
-<a name="L963"></a><tt class="py-lineno">963</tt>  <tt class="py-line">                                          <tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">message</tt><tt class="py-op">,</tt> <tt class="py-name">cache</tt><tt class="py-op">=</tt><tt class="py-name">cache</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L964"></a><tt class="py-lineno">964</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.appengine.AppAssertionCredentials-class.html b/docs/epy/oauth2client.appengine.AppAssertionCredentials-class.html
deleted file mode 100644
index 28a704c..0000000
--- a/docs/epy/oauth2client.appengine.AppAssertionCredentials-class.html
+++ /dev/null
@@ -1,455 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.appengine.AppAssertionCredentials</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.appengine-module.html">Module&nbsp;appengine</a> ::
-        Class&nbsp;AppAssertionCredentials
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.appengine.AppAssertionCredentials-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class AppAssertionCredentials</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.appengine-pysrc.html#AppAssertionCredentials">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl" name="uml_class_diagram_for_oauth2cl">
-<area shape="rect" id="node101" href="oauth2client.appengine.AppAssertionCredentials-class.html#__init__" title="Constructor for AppAssertionCredentials" alt="" coords="25,420,209,439"/>
-<area shape="rect" id="node101" href="oauth2client.appengine.AppAssertionCredentials-class.html#from_json" title="Instantiate a Credentials object from a JSON description of it." alt="" coords="25,439,209,457"/>
-<area shape="rect" id="node1" href="oauth2client.appengine.AppAssertionCredentials-class.html" title="Credentials object for App Engine Assertion Grants" alt="" coords="13,387,221,463"/>
-<area shape="rect" id="node2" href="oauth2client.client.AssertionCredentials-class.html" title="Abstract Credentials object used for OAuth 2.0 assertion grants." alt="" coords="25,323,207,367"/>
-<area shape="rect" id="node103" href="oauth2client.client.OAuth2Credentials-class.html#authorize" title="Authorize an httplib2.Http instance with these credentials." alt="" coords="33,129,200,148"/>
-<area shape="rect" id="node103" href="oauth2client.client.OAuth2Credentials-class.html#refresh" title="Forces a refresh of the access_token." alt="" coords="33,148,200,167"/>
-<area shape="rect" id="node103" href="oauth2client.client.OAuth2Credentials-class.html#revoke" title="Revokes a refresh_token and makes the credentials void." alt="" coords="33,167,200,185"/>
-<area shape="rect" id="node103" href="oauth2client.client.OAuth2Credentials-class.html#apply" title="Add the authorization to the headers." alt="" coords="33,185,200,204"/>
-<area shape="rect" id="node103" href="oauth2client.client.OAuth2Credentials-class.html#to_json" title="Creating a JSON representation of an instance of Credentials." alt="" coords="33,204,200,223"/>
-<area shape="rect" id="node103" href="oauth2client.client.OAuth2Credentials-class.html#access_token_expired" title="True if the credential is expired or invalid." alt="" coords="33,223,200,241"/>
-<area shape="rect" id="node103" href="oauth2client.client.OAuth2Credentials-class.html#set_store" title="Set the Storage for the credential." alt="" coords="33,241,200,260"/>
-<area shape="rect" id="node103" href="oauth2client.client.OAuth2Credentials-class.html#__getstate__" title="Trim the state down to something that can be pickled." alt="" coords="33,260,200,279"/>
-<area shape="rect" id="node103" href="oauth2client.client.OAuth2Credentials-class.html#__setstate__" title="Reconstitute the state of the object from being pickled." alt="" coords="33,279,200,297"/>
-<area shape="rect" id="node3" href="oauth2client.client.OAuth2Credentials-class.html" title="Credentials object for OAuth 2.0." alt="" coords="21,97,211,303"/>
-<area shape="rect" id="node104" href="oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS" title="oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS" alt="" coords="17,31,216,49"/>
-<area shape="rect" id="node104" href="oauth2client.client.Credentials-class.html#new_from_json" title="Utility class method to instantiate a Credentials subclass from a JSON representation produced by to_json()." alt="" coords="17,52,216,71"/>
-<area shape="rect" id="node4" href="oauth2client.client.Credentials-class.html" title="Base class for all Credentials objects." alt="" coords="5,6,227,77"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Credentials object for App Engine Assertion Grants
-
-This object will allow an App Engine application to identify itself to Google
-and other OAuth 2.0 servers that can verify assertions. It can be used for the
-purpose of accessing data stored under an account assigned to the App Engine
-application itself.
-
-This credential does not require a flow to instantiate because it represents
-a two legged flow, and therefore has all of the required information to
-generate and refresh its own access tokens.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.AppAssertionCredentials-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">scope</span>,
-        <span class="summary-sig-arg">**kwargs</span>)</span><br />
-      Constructor for AppAssertionCredentials</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#AppAssertionCredentials.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.AppAssertionCredentials-class.html#_refresh" class="summary-sig-name" onclick="show_private();">_refresh</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http_request</span>)</span><br />
-      Refreshes the access_token.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#AppAssertionCredentials._refresh">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.AssertionCredentials-class.html">client.AssertionCredentials</a></code></b> (private):
-      <code><a href="oauth2client.client.AssertionCredentials-class.html#_generate_assertion" onclick="show_private();">_generate_assertion</a></code>,
-      <code><a href="oauth2client.client.AssertionCredentials-class.html#_generate_refresh_request_body" onclick="show_private();">_generate_refresh_request_body</a></code>,
-      <code><a href="oauth2client.client.AssertionCredentials-class.html#_revoke" onclick="show_private();">_revoke</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.OAuth2Credentials-class.html">client.OAuth2Credentials</a></code></b>:
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#__getstate__">__getstate__</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#__setstate__">__setstate__</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#access_token_expired">access_token_expired</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#apply">apply</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#authorize">authorize</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#refresh">refresh</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#revoke">revoke</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#set_store">set_store</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#to_json">to_json</a></code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.OAuth2Credentials-class.html">client.OAuth2Credentials</a></code></b> (private):
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_do_refresh_request" onclick="show_private();">_do_refresh_request</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_do_revoke" onclick="show_private();">_do_revoke</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_headers" onclick="show_private();">_generate_refresh_request_headers</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_updateFromCredential" onclick="show_private();">_updateFromCredential</a></code>
-      </p></div>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">client.Credentials</a></code></b> (private):
-      <code><a href="oauth2client.client.Credentials-class.html#_to_json" onclick="show_private();">_to_json</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.AppAssertionCredentials-class.html#from_json" class="summary-sig-name">from_json</a>(<span class="summary-sig-arg">cls</span>,
-        <span class="summary-sig-arg">json</span>)</span><br />
-      Instantiate a Credentials object from a JSON description of it.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#AppAssertionCredentials.from_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">client.Credentials</a></code></b>:
-      <code><a href="oauth2client.client.Credentials-class.html#new_from_json">new_from_json</a></code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">client.Credentials</a></code></b>:
-      <code><a href="oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS">NON_SERIALIZED_MEMBERS</a></code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">scope</span>,
-        <span class="sig-arg">**kwargs</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#AppAssertionCredentials.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor for AppAssertionCredentials
-
-Args:
-  scope: string or iterable of strings, scope(s) of the credentials being
-    requested.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="from_json"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">from_json</span>(<span class="sig-arg">cls</span>,
-        <span class="sig-arg">json</span>)</span>
-    <br /><em class="fname">Class Method</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#AppAssertionCredentials.from_json">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Instantiate a Credentials object from a JSON description of it. The JSON
-should have been produced by calling .to_json() on the object.
-
-Args:
-  data: dict, A deserialized JSON object.
-
-Returns:
-  An instance of a Credentials subclass.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Credentials-class.html#from_json">client.Credentials.from_json</a>
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_refresh"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_refresh</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http_request</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#AppAssertionCredentials._refresh">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Refreshes the access_token.
-
-Since the underlying App Engine app_identity implementation does its own
-caching we can skip all the storage hoops and just to a refresh using the
-API.
-
-Args:
-  http_request: callable, a callable that matches the method signature of
-    httplib2.Http.request, used to make the refresh request.
-
-Raises:
-  AccessTokenRefreshError: When the refresh fails.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.OAuth2Credentials-class.html#_refresh" onclick="show_private();">client.OAuth2Credentials._refresh</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.appengine.CredentialsModel-class.html b/docs/epy/oauth2client.appengine.CredentialsModel-class.html
deleted file mode 100644
index 8ea09fc..0000000
--- a/docs/epy/oauth2client.appengine.CredentialsModel-class.html
+++ /dev/null
@@ -1,299 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.appengine.CredentialsModel</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.appengine-module.html">Module&nbsp;appengine</a> ::
-        Class&nbsp;CredentialsModel
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.appengine.CredentialsModel-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class CredentialsModel</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.appengine-pysrc.html#CredentialsModel">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_2" name="uml_class_diagram_for_oauth2cl_2">
-<area shape="rect" id="node105" href="oauth2client.appengine.CredentialsModel-class.html#credentials" title="oauth2client.appengine.CredentialsModel.credentials" alt="" coords="224,383,327,401"/>
-<area shape="rect" id="node1" href="oauth2client.appengine.CredentialsModel-class.html" title="Storage for OAuth 2.0 Credentials" alt="" coords="212,358,337,415"/>
-<area shape="rect" id="node106" href="google.appengine.ext.db.PropertiedClass-class.html" title="Meta&#45;class for initializing Model classes properties." alt="" coords="17,31,533,49"/>
-<area shape="rect" id="node106" href="javascript:void(0);" title="Allow subclasses to call __new__() with arguments." alt="" coords="17,52,533,71"/>
-<area shape="rect" id="node106" href="javascript:void(0);" title="Creates a new instance of this model." alt="" coords="17,71,533,89"/>
-<area shape="rect" id="node106" href="javascript:void(0);" title="Unique key for this entity." alt="" coords="17,89,533,108"/>
-<area shape="rect" id="node106" href="javascript:void(0);" title="Writes this model instance to the datastore." alt="" coords="17,108,533,127"/>
-<area shape="rect" id="node106" href="javascript:void(0);" title="Writes this model instance to the datastore." alt="" coords="17,127,533,145"/>
-<area shape="rect" id="node106" href="javascript:void(0);" title="Deletes this entity from the datastore." alt="" coords="17,145,533,164"/>
-<area shape="rect" id="node106" href="javascript:void(0);" title="Determine if entity is persisted in the datastore." alt="" coords="17,164,533,183"/>
-<area shape="rect" id="node106" href="javascript:void(0);" title="Determine if this model instance has a complete key." alt="" coords="17,183,533,201"/>
-<area shape="rect" id="node106" href="javascript:void(0);" title="Returns a list of all dynamic properties defined for instance." alt="" coords="17,201,533,220"/>
-<area shape="rect" id="node106" href="javascript:void(0);" title="Alias for dyanmic_properties." alt="" coords="17,220,533,239"/>
-<area shape="rect" id="node106" href="javascript:void(0);" title="Get the parent of the model instance." alt="" coords="17,239,533,257"/>
-<area shape="rect" id="node106" href="javascript:void(0);" title="Get the parent&#39;s key." alt="" coords="17,257,533,276"/>
-<area shape="rect" id="node106" href="javascript:void(0);" title="Generate an XML representation of this model instance." alt="" coords="17,276,533,295"/>
-<area shape="rect" id="node106" href="javascript:void(0);" title="Soon to be removed alias for properties." alt="" coords="17,313,533,332"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="Model is the superclass of all object entities in the datastore." alt="" coords="5,6,544,338"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_2.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_2" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Storage for OAuth 2.0 Credentials
-
-Storage of the model is keyed by the user.user_id().
-
-</pre>
-
-<!-- ==================== NESTED CLASSES ==================== -->
-<a name="section-NestedClasses"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Nested Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-NestedClasses"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>google.appengine.ext.db.Model</code></b>:
-      <code><a href="google.appengine.ext.db.PropertiedClass-class.html">__metaclass__</a></code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>google.appengine.ext.db.Model</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>,
-      <code>delete</code>,
-      <code>dynamic_properties</code>,
-      <code>has_key</code>,
-      <code>instance_properties</code>,
-      <code>is_saved</code>,
-      <code>key</code>,
-      <code>parent</code>,
-      <code>parent_key</code>,
-      <code>put</code>,
-      <code>save</code>,
-      <code>to_xml</code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>google.appengine.ext.db.Model</code></b> (private):
-      <code>_populate_entity</code>,
-      <code>_populate_internal_entity</code>,
-      <code>_to_entity</code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>google.appengine.ext.db.Model</code></b>:
-      <code>all</code>,
-      <code>entity_type</code>,
-      <code>fields</code>,
-      <code>from_entity</code>,
-      <code>get</code>,
-      <code>get_by_id</code>,
-      <code>get_by_key_name</code>,
-      <code>get_or_insert</code>,
-      <code>gql</code>,
-      <code>kind</code>,
-      <code>properties</code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>google.appengine.ext.db.Model</code></b> (private):
-      <code>_load_entity_values</code>
-      </p></div>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="credentials"></a><span class="summary-name">credentials</span> = <code title="CredentialsProperty()">CredentialsProperty()</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.appengine.CredentialsNDBModel-class.html b/docs/epy/oauth2client.appengine.CredentialsNDBModel-class.html
deleted file mode 100644
index 02c4e90..0000000
--- a/docs/epy/oauth2client.appengine.CredentialsNDBModel-class.html
+++ /dev/null
@@ -1,182 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.appengine.CredentialsNDBModel</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.appengine-module.html">Module&nbsp;appengine</a> ::
-        Class&nbsp;CredentialsNDBModel
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.appengine.CredentialsNDBModel-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class CredentialsNDBModel</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.appengine-pysrc.html#CredentialsNDBModel">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_3" name="uml_class_diagram_for_oauth2cl_3">
-<area shape="rect" id="node107" href="oauth2client.appengine.CredentialsNDBModel-class.html#credentials" title="oauth2client.appengine.CredentialsNDBModel.credentials" alt="" coords="17,95,149,113"/>
-<area shape="rect" id="node1" href="oauth2client.appengine.CredentialsNDBModel-class.html" title="NDB Model for storage of OAuth 2.0 Credentials" alt="" coords="5,70,160,127"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="??&#45;104" alt="" coords="51,6,115,50"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_3.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_3" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-NDB Model for storage of OAuth 2.0 Credentials
-
-Since this model uses the same kind as CredentialsModel and has a property
-which can serialize and deserialize Credentials correctly, it can be used
-interchangeably with a CredentialsModel to access, insert and delete the
-same entities. This simply provides an NDB model for interacting with the
-same data the DB model interacts with.
-
-Storage of the model is keyed by the user.user_id().
-
-</pre>
-
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_get_kind"></a><span class="summary-sig-name">_get_kind</span>(<span class="summary-sig-arg">cls</span>)</span><br />
-      Return the kind name for this class.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#CredentialsNDBModel._get_kind">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="credentials"></a><span class="summary-name">credentials</span> = <code title="CredentialsNDBProperty()">CredentialsNDBProperty()</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.appengine.CredentialsNDBProperty-class.html b/docs/epy/oauth2client.appengine.CredentialsNDBProperty-class.html
deleted file mode 100644
index af793cb..0000000
--- a/docs/epy/oauth2client.appengine.CredentialsNDBProperty-class.html
+++ /dev/null
@@ -1,299 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.appengine.CredentialsNDBProperty</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.appengine-module.html">Module&nbsp;appengine</a> ::
-        Class&nbsp;CredentialsNDBProperty
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.appengine.CredentialsNDBProperty-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class CredentialsNDBProperty</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.appengine-pysrc.html#CredentialsNDBProperty">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_4" name="uml_class_diagram_for_oauth2cl_4">
-<area shape="rect" id="node1" href="oauth2client.appengine.CredentialsNDBProperty-class.html" title="App Engine NDB datastore Property for Credentials." alt="" coords="5,70,176,114"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="??&#45;108" alt="" coords="57,6,121,50"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_4.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_4" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-App Engine NDB datastore Property for Credentials.
-
-Serves the same purpose as the DB CredentialsProperty, but for NDB models.
-Since CredentialsProperty stores data as a blob and this inherits from
-BlobProperty, the data in the datastore will be the same as in the DB case.
-
-Utility property that allows easy storage and retrieval of Credentials and
-subclasses.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.CredentialsNDBProperty-class.html#_validate" class="summary-sig-name" onclick="show_private();">_validate</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">value</span>)</span><br />
-      Validates a value as a proper credentials object.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#CredentialsNDBProperty._validate">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.CredentialsNDBProperty-class.html#_to_base_type" class="summary-sig-name" onclick="show_private();">_to_base_type</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">value</span>)</span><br />
-      Converts our validated value to a JSON serialized string.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#CredentialsNDBProperty._to_base_type">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.CredentialsNDBProperty-class.html#_from_base_type" class="summary-sig-name" onclick="show_private();">_from_base_type</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">value</span>)</span><br />
-      Converts our stored JSON string back to the desired type.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#CredentialsNDBProperty._from_base_type">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="_validate"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_validate</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">value</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#CredentialsNDBProperty._validate">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Validates a value as a proper credentials object.
-
-Args:
-  value: A value to be set on the property.
-
-Raises:
-  TypeError if the value is not an instance of Credentials.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_to_base_type"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_to_base_type</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">value</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#CredentialsNDBProperty._to_base_type">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Converts our validated value to a JSON serialized string.
-
-Args:
-  value: A value to be set in the datastore.
-
-Returns:
-  A JSON serialized version of the credential, else '' if value is None.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_from_base_type"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_from_base_type</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">value</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#CredentialsNDBProperty._from_base_type">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Converts our stored JSON string back to the desired type.
-
-Args:
-  value: A value from the datastore to be converted to the desired type.
-
-Returns:
-  A deserialized Credentials (or subclass) object, else None if the
-      value can't be parsed.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.appengine.CredentialsProperty-class.html b/docs/epy/oauth2client.appengine.CredentialsProperty-class.html
deleted file mode 100644
index bff5347..0000000
--- a/docs/epy/oauth2client.appengine.CredentialsProperty-class.html
+++ /dev/null
@@ -1,437 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.appengine.CredentialsProperty</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.appengine-module.html">Module&nbsp;appengine</a> ::
-        Class&nbsp;CredentialsProperty
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.appengine.CredentialsProperty-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class CredentialsProperty</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.appengine-pysrc.html#CredentialsProperty">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_5" name="uml_class_diagram_for_oauth2cl_5">
-<area shape="rect" id="node111" href="oauth2client.appengine.CredentialsProperty-class.html#data_type" title="str(object) &#45;&gt; string" alt="" coords="255,271,529,289"/>
-<area shape="rect" id="node111" href="oauth2client.appengine.CredentialsProperty-class.html#get_value_for_datastore" title="Datastore representation of this property." alt="" coords="255,292,529,311"/>
-<area shape="rect" id="node111" href="oauth2client.appengine.CredentialsProperty-class.html#make_value_from_datastore" title="Native representation of this property." alt="" coords="255,311,529,329"/>
-<area shape="rect" id="node111" href="oauth2client.appengine.CredentialsProperty-class.html#validate" title="Assert that provided value is compatible with this property." alt="" coords="255,329,529,348"/>
-<area shape="rect" id="node1" href="oauth2client.appengine.CredentialsProperty-class.html" title="App Engine datastore Property for Credentials." alt="" coords="243,246,541,354"/>
-<area shape="rect" id="node112" href="javascript:void(0);" title="google.appengine.ext.db.Property.creation_counter" alt="" coords="17,31,765,49"/>
-<area shape="rect" id="node112" href="javascript:void(0);" title="Initializes this Property with the given options." alt="" coords="17,52,765,71"/>
-<area shape="rect" id="node112" href="javascript:void(0);" title="Configure property, connecting it to its model." alt="" coords="17,71,765,89"/>
-<area shape="rect" id="node112" href="javascript:void(0);" title="Returns the value for this property on the given model instance." alt="" coords="17,89,765,108"/>
-<area shape="rect" id="node112" href="javascript:void(0);" title="Sets the value for this property on the given model instance." alt="" coords="17,108,765,127"/>
-<area shape="rect" id="node112" href="javascript:void(0);" title="Default value for unassigned values." alt="" coords="17,127,765,145"/>
-<area shape="rect" id="node112" href="javascript:void(0);" title="Determine if value is empty in the context of this property." alt="" coords="17,145,765,164"/>
-<area shape="rect" id="node112" href="javascript:void(0);" title="Determine new value for auto&#45;updated property." alt="" coords="17,164,765,183"/>
-<area shape="rect" id="node112" href="javascript:void(0);" title="google.appengine.ext.db.Property.make_value_from_datastore_index_value" alt="" coords="17,183,765,201"/>
-<area shape="rect" id="node112" href="javascript:void(0);" title="Deprecated backwards&#45;compatible accessor method for self.data_type." alt="" coords="17,201,765,220"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="A Property is an attribute of a Model." alt="" coords="5,6,776,226"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_5.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_5" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-App Engine datastore Property for Credentials.
-
-Utility property that allows easy storage and retrieval of
-oath2client.Credentials
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.CredentialsProperty-class.html#get_value_for_datastore" class="summary-sig-name">get_value_for_datastore</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">model_instance</span>)</span><br />
-      Datastore representation of this property.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#CredentialsProperty.get_value_for_datastore">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.CredentialsProperty-class.html#make_value_from_datastore" class="summary-sig-name">make_value_from_datastore</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">value</span>)</span><br />
-      Native representation of this property.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#CredentialsProperty.make_value_from_datastore">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.CredentialsProperty-class.html#validate" class="summary-sig-name">validate</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">value</span>)</span><br />
-      Assert that provided value is compatible with this property.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#CredentialsProperty.validate">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>google.appengine.ext.db.Property</code></b>:
-      <code>__get__</code>,
-      <code>__init__</code>,
-      <code>__property_config__</code>,
-      <code>__set__</code>,
-      <code>datastore_type</code>,
-      <code>default_value</code>,
-      <code>empty</code>,
-      <code>get_updated_value_for_datastore</code>,
-      <code>make_value_from_datastore_index_value</code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>google.appengine.ext.db.Property</code></b> (private):
-      <code>_attr_name</code>,
-      <code>_require_parameter</code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="data_type"></a><span class="summary-name">data_type</span> = <code title="Credentials">Credentials</code><br />
-      str(object) -&gt; string
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>google.appengine.ext.db.Property</code></b>:
-      <code>creation_counter</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="get_value_for_datastore"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_value_for_datastore</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">model_instance</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#CredentialsProperty.get_value_for_datastore">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Datastore representation of this property.
-
-Looks for this property in the given model instance, and returns the proper
-datastore representation of the value that can be stored in a datastore
-entity.  Most critically, it will fetch the datastore key value for
-reference properties.
-
-Some properies (e.g. DateTimeProperty, UserProperty) optionally update their
-value on every put(). This call must return the current value for such
-properties (get_updated_value_for_datastore returns the new value).
-
-Args:
-  model_instance: Instance to fetch datastore value from.
-
-Returns:
-  Datastore representation of the model value in a form that is
-  appropriate for storing in the datastore.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        google.appengine.ext.db.Property.get_value_for_datastore
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="make_value_from_datastore"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">make_value_from_datastore</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">value</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#CredentialsProperty.make_value_from_datastore">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Native representation of this property.
-
-Given a value retrieved from a datastore entity, return a value,
-possibly converted, to be stored on the model instance.  Usually
-this returns the value unchanged, but a property class may
-override this when it uses a different datatype on the model
-instance than on the entity.
-
-This API is not quite symmetric with get_value_for_datastore(),
-because the model instance on which to store the converted value
-may not exist yet -- we may be collecting values to be passed to a
-model constructor.
-
-Args:
-  value: value retrieved from the datastore entity.
-
-Returns:
-  The value converted for use as a model instance attribute.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        google.appengine.ext.db.Property.make_value_from_datastore
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="validate"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">validate</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">value</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#CredentialsProperty.validate">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Assert that provided value is compatible with this property.
-
-Args:
-  value: Value to validate against this Property.
-
-Returns:
-  A valid value, either the input unchanged or adapted to the
-  required type.
-
-Raises:
-  BadValueError if the value is not appropriate for this
-  property in any way.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        google.appengine.ext.db.Property.validate
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.appengine.FlowNDBProperty-class.html b/docs/epy/oauth2client.appengine.FlowNDBProperty-class.html
deleted file mode 100644
index 1b3a599..0000000
--- a/docs/epy/oauth2client.appengine.FlowNDBProperty-class.html
+++ /dev/null
@@ -1,204 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.appengine.FlowNDBProperty</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.appengine-module.html">Module&nbsp;appengine</a> ::
-        Class&nbsp;FlowNDBProperty
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.appengine.FlowNDBProperty-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class FlowNDBProperty</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.appengine-pysrc.html#FlowNDBProperty">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_6" name="uml_class_diagram_for_oauth2cl_6">
-<area shape="rect" id="node1" href="oauth2client.appengine.FlowNDBProperty-class.html" title="App Engine NDB datastore Property for Flow." alt="" coords="5,70,136,114"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="??&#45;105" alt="" coords="39,6,103,50"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_6.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_6" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-App Engine NDB datastore Property for Flow.
-
-Serves the same purpose as the DB FlowProperty, but for NDB models. Since
-PickleProperty inherits from BlobProperty, the underlying representation of
-the data in the datastore will be the same as in the DB case.
-
-Utility property that allows easy storage and retrieval of an
-oauth2client.Flow
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.FlowNDBProperty-class.html#_validate" class="summary-sig-name" onclick="show_private();">_validate</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">value</span>)</span><br />
-      Validates a value as a proper Flow object.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#FlowNDBProperty._validate">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="_validate"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_validate</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">value</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#FlowNDBProperty._validate">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Validates a value as a proper Flow object.
-
-Args:
-  value: A value to be set on the property.
-
-Raises:
-  TypeError if the value is not an instance of Flow.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.appengine.FlowProperty-class.html b/docs/epy/oauth2client.appengine.FlowProperty-class.html
deleted file mode 100644
index c05a8b4..0000000
--- a/docs/epy/oauth2client.appengine.FlowProperty-class.html
+++ /dev/null
@@ -1,492 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.appengine.FlowProperty</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.appengine-module.html">Module&nbsp;appengine</a> ::
-        Class&nbsp;FlowProperty
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.appengine.FlowProperty-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class FlowProperty</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.appengine-pysrc.html#FlowProperty">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_7" name="uml_class_diagram_for_oauth2cl_7">
-<area shape="rect" id="node115" href="oauth2client.appengine.FlowProperty-class.html#data_type" title="str(object) &#45;&gt; string" alt="" coords="255,252,529,271"/>
-<area shape="rect" id="node115" href="oauth2client.appengine.FlowProperty-class.html#get_value_for_datastore" title="Datastore representation of this property." alt="" coords="255,273,529,292"/>
-<area shape="rect" id="node115" href="oauth2client.appengine.FlowProperty-class.html#make_value_from_datastore" title="Native representation of this property." alt="" coords="255,292,529,311"/>
-<area shape="rect" id="node115" href="oauth2client.appengine.FlowProperty-class.html#validate" title="Assert that provided value is compatible with this property." alt="" coords="255,311,529,329"/>
-<area shape="rect" id="node115" href="oauth2client.appengine.FlowProperty-class.html#empty" title="Determine if value is empty in the context of this property." alt="" coords="255,329,529,348"/>
-<area shape="rect" id="node1" href="oauth2client.appengine.FlowProperty-class.html" title="App Engine datastore Property for Flow." alt="" coords="243,227,541,354"/>
-<area shape="rect" id="node116" href="javascript:void(0);" title="google.appengine.ext.db.Property.creation_counter" alt="" coords="17,31,765,49"/>
-<area shape="rect" id="node116" href="javascript:void(0);" title="Initializes this Property with the given options." alt="" coords="17,52,765,71"/>
-<area shape="rect" id="node116" href="javascript:void(0);" title="Configure property, connecting it to its model." alt="" coords="17,71,765,89"/>
-<area shape="rect" id="node116" href="javascript:void(0);" title="Returns the value for this property on the given model instance." alt="" coords="17,89,765,108"/>
-<area shape="rect" id="node116" href="javascript:void(0);" title="Sets the value for this property on the given model instance." alt="" coords="17,108,765,127"/>
-<area shape="rect" id="node116" href="javascript:void(0);" title="Default value for unassigned values." alt="" coords="17,127,765,145"/>
-<area shape="rect" id="node116" href="javascript:void(0);" title="Determine new value for auto&#45;updated property." alt="" coords="17,145,765,164"/>
-<area shape="rect" id="node116" href="javascript:void(0);" title="google.appengine.ext.db.Property.make_value_from_datastore_index_value" alt="" coords="17,164,765,183"/>
-<area shape="rect" id="node116" href="javascript:void(0);" title="Deprecated backwards&#45;compatible accessor method for self.data_type." alt="" coords="17,183,765,201"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="A Property is an attribute of a Model." alt="" coords="5,6,776,207"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_7.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_7" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-App Engine datastore Property for Flow.
-
-Utility property that allows easy storage and retrieval of an
-oauth2client.Flow
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.FlowProperty-class.html#get_value_for_datastore" class="summary-sig-name">get_value_for_datastore</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">model_instance</span>)</span><br />
-      Datastore representation of this property.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#FlowProperty.get_value_for_datastore">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.FlowProperty-class.html#make_value_from_datastore" class="summary-sig-name">make_value_from_datastore</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">value</span>)</span><br />
-      Native representation of this property.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#FlowProperty.make_value_from_datastore">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.FlowProperty-class.html#validate" class="summary-sig-name">validate</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">value</span>)</span><br />
-      Assert that provided value is compatible with this property.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#FlowProperty.validate">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.FlowProperty-class.html#empty" class="summary-sig-name">empty</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">value</span>)</span><br />
-      Determine if value is empty in the context of this property.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#FlowProperty.empty">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>google.appengine.ext.db.Property</code></b>:
-      <code>__get__</code>,
-      <code>__init__</code>,
-      <code>__property_config__</code>,
-      <code>__set__</code>,
-      <code>datastore_type</code>,
-      <code>default_value</code>,
-      <code>get_updated_value_for_datastore</code>,
-      <code>make_value_from_datastore_index_value</code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>google.appengine.ext.db.Property</code></b> (private):
-      <code>_attr_name</code>,
-      <code>_require_parameter</code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="data_type"></a><span class="summary-name">data_type</span> = <code title="Flow">Flow</code><br />
-      str(object) -&gt; string
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>google.appengine.ext.db.Property</code></b>:
-      <code>creation_counter</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="get_value_for_datastore"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_value_for_datastore</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">model_instance</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#FlowProperty.get_value_for_datastore">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Datastore representation of this property.
-
-Looks for this property in the given model instance, and returns the proper
-datastore representation of the value that can be stored in a datastore
-entity.  Most critically, it will fetch the datastore key value for
-reference properties.
-
-Some properies (e.g. DateTimeProperty, UserProperty) optionally update their
-value on every put(). This call must return the current value for such
-properties (get_updated_value_for_datastore returns the new value).
-
-Args:
-  model_instance: Instance to fetch datastore value from.
-
-Returns:
-  Datastore representation of the model value in a form that is
-  appropriate for storing in the datastore.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        google.appengine.ext.db.Property.get_value_for_datastore
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="make_value_from_datastore"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">make_value_from_datastore</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">value</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#FlowProperty.make_value_from_datastore">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Native representation of this property.
-
-Given a value retrieved from a datastore entity, return a value,
-possibly converted, to be stored on the model instance.  Usually
-this returns the value unchanged, but a property class may
-override this when it uses a different datatype on the model
-instance than on the entity.
-
-This API is not quite symmetric with get_value_for_datastore(),
-because the model instance on which to store the converted value
-may not exist yet -- we may be collecting values to be passed to a
-model constructor.
-
-Args:
-  value: value retrieved from the datastore entity.
-
-Returns:
-  The value converted for use as a model instance attribute.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        google.appengine.ext.db.Property.make_value_from_datastore
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="validate"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">validate</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">value</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#FlowProperty.validate">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Assert that provided value is compatible with this property.
-
-Args:
-  value: Value to validate against this Property.
-
-Returns:
-  A valid value, either the input unchanged or adapted to the
-  required type.
-
-Raises:
-  BadValueError if the value is not appropriate for this
-  property in any way.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        google.appengine.ext.db.Property.validate
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="empty"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">empty</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">value</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#FlowProperty.empty">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Determine if value is empty in the context of this property.
-
-For most kinds, this is equivalent to &quot;not value&quot;, but for kinds like
-bool, the test is more subtle, so subclasses can override this method
-if necessary.
-
-Args:
-  value: Value to validate against this Property.
-
-Returns:
-  True if this value is considered empty in the context of this Property
-  type, otherwise False.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        google.appengine.ext.db.Property.empty
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.appengine.InvalidClientSecretsError-class.html b/docs/epy/oauth2client.appengine.InvalidClientSecretsError-class.html
deleted file mode 100644
index e25fe6b..0000000
--- a/docs/epy/oauth2client.appengine.InvalidClientSecretsError-class.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.appengine.InvalidClientSecretsError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.appengine-module.html">Module&nbsp;appengine</a> ::
-        Class&nbsp;InvalidClientSecretsError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.appengine.InvalidClientSecretsError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class InvalidClientSecretsError</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.appengine-pysrc.html#InvalidClientSecretsError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_8" name="uml_class_diagram_for_oauth2cl_8">
-<area shape="rect" id="node1" href="oauth2client.appengine.InvalidClientSecretsError-class.html" title="The client_secrets.json file is malformed or missing required fields." alt="" coords="11,379,181,423"/>
-<area shape="rect" id="node118" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node118" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-<area shape="rect" id="node119" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node119" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node119" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node119" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node119" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node119" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node119" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node119" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node119" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node119" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node119" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node119" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_8.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_8" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-The client_secrets.json file is malformed or missing required fields.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.appengine.InvalidXsrfTokenError-class.html b/docs/epy/oauth2client.appengine.InvalidXsrfTokenError-class.html
deleted file mode 100644
index 41b0b70..0000000
--- a/docs/epy/oauth2client.appengine.InvalidXsrfTokenError-class.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.appengine.InvalidXsrfTokenError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.appengine-module.html">Module&nbsp;appengine</a> ::
-        Class&nbsp;InvalidXsrfTokenError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.appengine.InvalidXsrfTokenError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class InvalidXsrfTokenError</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.appengine-pysrc.html#InvalidXsrfTokenError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_9" name="uml_class_diagram_for_oauth2cl_9">
-<area shape="rect" id="node1" href="oauth2client.appengine.InvalidXsrfTokenError-class.html" title="The XSRF token is invalid or expired." alt="" coords="20,379,172,423"/>
-<area shape="rect" id="node121" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node121" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-<area shape="rect" id="node122" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node122" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node122" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node122" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node122" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node122" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node122" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node122" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node122" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node122" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node122" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node122" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_9.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_9" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-The XSRF token is invalid or expired.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:44 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.appengine.OAuth2Decorator-class.html b/docs/epy/oauth2client.appengine.OAuth2Decorator-class.html
deleted file mode 100644
index 32073b9..0000000
--- a/docs/epy/oauth2client.appengine.OAuth2Decorator-class.html
+++ /dev/null
@@ -1,927 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.appengine.OAuth2Decorator</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.appengine-module.html">Module&nbsp;appengine</a> ::
-        Class&nbsp;OAuth2Decorator
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.appengine.OAuth2Decorator-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class OAuth2Decorator</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_10" name="uml_class_diagram_for_oauth2cl_10">
-<area shape="rect" id="node123" href="oauth2client.appengine.OAuth2Decorator-class.html#credentials" title="oauth2client.appengine.OAuth2Decorator.credentials" alt="" coords="17,31,2249,49"/>
-<area shape="rect" id="node123" href="oauth2client.appengine.OAuth2Decorator-class.html#flow" title="oauth2client.appengine.OAuth2Decorator.flow" alt="" coords="17,49,2249,68"/>
-<area shape="rect" id="node123" href="oauth2client.appengine.OAuth2Decorator-class.html#set_credentials" title="oauth2client.appengine.OAuth2Decorator.set_credentials" alt="" coords="17,71,2249,89"/>
-<area shape="rect" id="node123" href="oauth2client.appengine.OAuth2Decorator-class.html#get_credentials" title="A thread local Credentials object." alt="" coords="17,89,2249,108"/>
-<area shape="rect" id="node123" href="oauth2client.appengine.OAuth2Decorator-class.html#set_flow" title="oauth2client.appengine.OAuth2Decorator.set_flow" alt="" coords="17,108,2249,127"/>
-<area shape="rect" id="node123" href="oauth2client.appengine.OAuth2Decorator-class.html#get_flow" title="A thread local Flow object." alt="" coords="17,127,2249,145"/>
-<area shape="rect" id="node123" href="oauth2client.appengine.OAuth2Decorator-class.html#__init__" title="Constructor for OAuth2Decorator" alt="" coords="17,145,2249,164"/>
-<area shape="rect" id="node123" href="oauth2client.appengine.OAuth2Decorator-class.html#oauth_required" title="Decorator that starts the OAuth 2.0 dance." alt="" coords="17,164,2249,183"/>
-<area shape="rect" id="node123" href="oauth2client.appengine.OAuth2Decorator-class.html#oauth_aware" title="Decorator that sets up for OAuth 2.0 dance, but doesn&#39;t do it." alt="" coords="17,183,2249,201"/>
-<area shape="rect" id="node123" href="oauth2client.appengine.OAuth2Decorator-class.html#has_credentials" title="True if for the logged in user there are valid access Credentials." alt="" coords="17,201,2249,220"/>
-<area shape="rect" id="node123" href="oauth2client.appengine.OAuth2Decorator-class.html#authorize_url" title="Returns the URL to start the OAuth dance." alt="" coords="17,220,2249,239"/>
-<area shape="rect" id="node123" href="oauth2client.appengine.OAuth2Decorator-class.html#http" title="Returns an authorized http instance." alt="" coords="17,239,2249,257"/>
-<area shape="rect" id="node123" href="oauth2client.appengine.OAuth2Decorator-class.html#callback_path" title="The absolute path where the callback will occur." alt="" coords="17,257,2249,276"/>
-<area shape="rect" id="node123" href="oauth2client.appengine.OAuth2Decorator-class.html#callback_handler" title="RequestHandler for the OAuth 2.0 redirect callback." alt="" coords="17,276,2249,295"/>
-<area shape="rect" id="node123" href="oauth2client.appengine.OAuth2Decorator-class.html#callback_application" title="WSGI application for handling the OAuth 2.0 redirect callback." alt="" coords="17,295,2249,313"/>
-<area shape="rect" id="node1" href="oauth2client.appengine.OAuth2Decorator-class.html" title="Utility for making OAuth 2.0 easier." alt="" coords="5,6,2261,319"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_10.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_10" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Utility for making OAuth 2.0 easier.
-
-Instantiate and then use with oauth_required or oauth_aware
-as decorators on webapp.RequestHandler methods.
-
-Example:
-
-  decorator = OAuth2Decorator(
-      client_id='837...ent.com',
-      client_secret='Qh...wwI',
-      scope='https://www.googleapis.com/auth/plus')
-
-
-  class MainHandler(webapp.RequestHandler):
-
-    @decorator.oauth_required
-    def get(self):
-      http = decorator.http()
-      # http is authorized with the user's Credentials and can be used
-      # in API calls
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="set_credentials"></a><span class="summary-sig-name">set_credentials</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">credentials</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.set_credentials">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.OAuth2Decorator-class.html#get_credentials" class="summary-sig-name">get_credentials</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      A thread local Credentials object.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.get_credentials">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="set_flow"></a><span class="summary-sig-name">set_flow</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">flow</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.set_flow">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.OAuth2Decorator-class.html#get_flow" class="summary-sig-name">get_flow</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      A thread local Flow object.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.get_flow">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.OAuth2Decorator-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">client_id</span>,
-        <span class="summary-sig-arg">client_secret</span>,
-        <span class="summary-sig-arg">scope</span>,
-        <span class="summary-sig-arg">auth_uri</span>=<span class="summary-sig-default">GOOGLE_AUTH_URI</span>,
-        <span class="summary-sig-arg">token_uri</span>=<span class="summary-sig-default">GOOGLE_TOKEN_URI</span>,
-        <span class="summary-sig-arg">revoke_uri</span>=<span class="summary-sig-default">GOOGLE_REVOKE_URI</span>,
-        <span class="summary-sig-arg">user_agent</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">message</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">callback_path</span>=<span class="summary-sig-default">'/oauth2callback'</span>,
-        <span class="summary-sig-arg">token_response_param</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">_storage_class</span>=<span class="summary-sig-default">StorageByKeyName</span>,
-        <span class="summary-sig-arg">_credentials_class</span>=<span class="summary-sig-default">CredentialsModel</span>,
-        <span class="summary-sig-arg">_credentials_property_name</span>=<span class="summary-sig-default">'credentials'</span>,
-        <span class="summary-sig-arg">**kwargs</span>)</span><br />
-      Constructor for OAuth2Decorator</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_display_error_message"></a><span class="summary-sig-name">_display_error_message</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">request_handler</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator._display_error_message">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.OAuth2Decorator-class.html#oauth_required" class="summary-sig-name">oauth_required</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">method</span>)</span><br />
-      Decorator that starts the OAuth 2.0 dance.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.oauth_required">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.OAuth2Decorator-class.html#_create_flow" class="summary-sig-name" onclick="show_private();">_create_flow</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">request_handler</span>)</span><br />
-      Create the Flow object.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator._create_flow">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.OAuth2Decorator-class.html#oauth_aware" class="summary-sig-name">oauth_aware</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">method</span>)</span><br />
-      Decorator that sets up for OAuth 2.0 dance, but doesn't do it.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.oauth_aware">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.OAuth2Decorator-class.html#has_credentials" class="summary-sig-name">has_credentials</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      True if for the logged in user there are valid access Credentials.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.has_credentials">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.OAuth2Decorator-class.html#authorize_url" class="summary-sig-name">authorize_url</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Returns the URL to start the OAuth dance.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.authorize_url">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.OAuth2Decorator-class.html#http" class="summary-sig-name">http</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Returns an authorized http instance.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.http">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.OAuth2Decorator-class.html#callback_path" class="summary-sig-name">callback_path</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      The absolute path where the callback will occur.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.callback_path">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.OAuth2Decorator-class.html#callback_handler" class="summary-sig-name">callback_handler</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      RequestHandler for the OAuth 2.0 redirect callback.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.callback_handler">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.OAuth2Decorator-class.html#callback_application" class="summary-sig-name">callback_application</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      WSGI application for handling the OAuth 2.0 redirect callback.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.callback_application">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="credentials"></a><span class="summary-name">credentials</span> = <code title="property(get_credentials, set_credentials)">property(get_credentials, set_credentials)</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="flow"></a><span class="summary-name">flow</span> = <code title="property(get_flow, set_flow)">property(get_flow, set_flow)</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="get_credentials"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_credentials</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.get_credentials">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-A thread local Credentials object.
-
-Returns:
-  A client.Credentials object, or None if credentials hasn't been set in
-  this thread yet, which may happen when calling has_credentials inside
-  oauth_aware.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="get_flow"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_flow</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.get_flow">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-A thread local Flow object.
-
-Returns:
-  A credentials.Flow object, or None if the flow hasn't been set in this
-  thread yet, which happens in _create_flow() since Flows are created
-  lazily.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">client_id</span>,
-        <span class="sig-arg">client_secret</span>,
-        <span class="sig-arg">scope</span>,
-        <span class="sig-arg">auth_uri</span>=<span class="sig-default">GOOGLE_AUTH_URI</span>,
-        <span class="sig-arg">token_uri</span>=<span class="sig-default">GOOGLE_TOKEN_URI</span>,
-        <span class="sig-arg">revoke_uri</span>=<span class="sig-default">GOOGLE_REVOKE_URI</span>,
-        <span class="sig-arg">user_agent</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">message</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">callback_path</span>=<span class="sig-default">'/oauth2callback'</span>,
-        <span class="sig-arg">token_response_param</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">_storage_class</span>=<span class="sig-default">StorageByKeyName</span>,
-        <span class="sig-arg">_credentials_class</span>=<span class="sig-default">CredentialsModel</span>,
-        <span class="sig-arg">_credentials_property_name</span>=<span class="sig-default">'credentials'</span>,
-        <span class="sig-arg">**kwargs</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor for OAuth2Decorator
-
-Args:
-  client_id: string, client identifier.
-  client_secret: string client secret.
-  scope: string or iterable of strings, scope(s) of the credentials being
-    requested.
-  auth_uri: string, URI for authorization endpoint. For convenience
-    defaults to Google's endpoints but any OAuth 2.0 provider can be used.
-  token_uri: string, URI for token endpoint. For convenience
-    defaults to Google's endpoints but any OAuth 2.0 provider can be used.
-  revoke_uri: string, URI for revoke endpoint. For convenience
-    defaults to Google's endpoints but any OAuth 2.0 provider can be used.
-  user_agent: string, User agent of your application, default to None.
-  message: Message to display if there are problems with the OAuth 2.0
-    configuration. The message may contain HTML and will be presented on the
-    web interface for any method that uses the decorator.
-  callback_path: string, The absolute path to use as the callback URI. Note
-    that this must match up with the URI given when registering the
-    application in the APIs Console.
-  token_response_param: string. If provided, the full JSON response
-    to the access token request will be encoded and included in this query
-    parameter in the callback URI. This is useful with providers (e.g.
-    wordpress.com) that include extra fields that the client may want.
-  _storage_class: &quot;Protected&quot; keyword argument not typically provided to
-    this constructor. A storage class to aid in storing a Credentials object
-    for a user in the datastore. Defaults to StorageByKeyName.
-  _credentials_class: &quot;Protected&quot; keyword argument not typically provided to
-    this constructor. A db or ndb Model class to hold credentials. Defaults
-    to CredentialsModel.
-  _credentials_property_name: &quot;Protected&quot; keyword argument not typically
-    provided to this constructor. A string indicating the name of the field
-    on the _credentials_class where a Credentials object will be stored.
-    Defaults to 'credentials'.
-  **kwargs: dict, Keyword arguments are be passed along as kwargs to the
-    OAuth2WebServerFlow constructor.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(4)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="oauth_required"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">oauth_required</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">method</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.oauth_required">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Decorator that starts the OAuth 2.0 dance.
-
-Starts the OAuth dance for the logged in user if they haven't already
-granted access for this application.
-
-Args:
-  method: callable, to be decorated method of a webapp.RequestHandler
-    instance.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_create_flow"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_create_flow</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">request_handler</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator._create_flow">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Create the Flow object.
-
-The Flow is calculated lazily since we don't know where this app is
-running until it receives a request, at which point redirect_uri can be
-calculated and then the Flow object can be constructed.
-
-Args:
-  request_handler: webapp.RequestHandler, the request handler.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="oauth_aware"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">oauth_aware</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">method</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.oauth_aware">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Decorator that sets up for OAuth 2.0 dance, but doesn't do it.
-
-Does all the setup for the OAuth dance, but doesn't initiate it.
-This decorator is useful if you want to create a page that knows
-whether or not the user has granted access to this application.
-From within a method decorated with @oauth_aware the has_credentials()
-and authorize_url() methods can be called.
-
-Args:
-  method: callable, to be decorated method of a webapp.RequestHandler
-    instance.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="has_credentials"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">has_credentials</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.has_credentials">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-True if for the logged in user there are valid access Credentials.
-
-Must only be called from with a webapp.RequestHandler subclassed method
-that had been decorated with either @oauth_required or @oauth_aware.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="authorize_url"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">authorize_url</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.authorize_url">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Returns the URL to start the OAuth dance.
-
-Must only be called from with a webapp.RequestHandler subclassed method
-that had been decorated with either @oauth_required or @oauth_aware.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="http"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">http</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.http">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Returns an authorized http instance.
-
-Must only be called from within an @oauth_required decorated method, or
-from within an @oauth_aware decorated method where has_credentials()
-returns True.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="callback_path"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">callback_path</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.callback_path">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-The absolute path where the callback will occur.
-
-Note this is the absolute path, not the absolute URI, that will be
-calculated by the decorator at runtime. See callback_handler() for how this
-should be used.
-
-Returns:
-  The callback path as a string.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@property</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="callback_handler"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">callback_handler</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.callback_handler">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-RequestHandler for the OAuth 2.0 redirect callback.
-
-Usage:
-   app = webapp.WSGIApplication([
-     ('/index', MyIndexHandler),
-     ...,
-     (decorator.callback_path, decorator.callback_handler())
-   ])
-
-Returns:
-  A webapp.RequestHandler that handles the redirect back from the
-  server during the OAuth 2.0 dance.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="callback_application"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">callback_application</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2Decorator.callback_application">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-WSGI application for handling the OAuth 2.0 redirect callback.
-
-If you need finer grained control use `callback_handler` which returns just
-the webapp.RequestHandler.
-
-Returns:
-  A webapp.WSGIApplication that handles the redirect back from the
-  server during the OAuth 2.0 dance.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html b/docs/epy/oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html
deleted file mode 100644
index aac7ddc..0000000
--- a/docs/epy/oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html
+++ /dev/null
@@ -1,336 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.appengine.OAuth2DecoratorFromClientSecrets</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.appengine-module.html">Module&nbsp;appengine</a> ::
-        Class&nbsp;OAuth2DecoratorFromClientSecrets
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class OAuth2DecoratorFromClientSecrets</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2DecoratorFromClientSecrets">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_11" name="uml_class_diagram_for_oauth2cl_11">
-<area shape="rect" id="node124" href="oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html#__init__" title="Constructor" alt="" coords="17,353,381,372"/>
-<area shape="rect" id="node1" href="oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html" title="An OAuth2Decorator that builds from a clientsecrets file." alt="" coords="5,321,392,378"/>
-<area shape="rect" id="node125" href="oauth2client.appengine.OAuth2Decorator-class.html#credentials" title="oauth2client.appengine.OAuth2Decorator.credentials" alt="" coords="101,31,297,49"/>
-<area shape="rect" id="node125" href="oauth2client.appengine.OAuth2Decorator-class.html#flow" title="oauth2client.appengine.OAuth2Decorator.flow" alt="" coords="101,49,297,68"/>
-<area shape="rect" id="node125" href="oauth2client.appengine.OAuth2Decorator-class.html#set_credentials" title="oauth2client.appengine.OAuth2Decorator.set_credentials" alt="" coords="101,71,297,89"/>
-<area shape="rect" id="node125" href="oauth2client.appengine.OAuth2Decorator-class.html#get_credentials" title="A thread local Credentials object." alt="" coords="101,89,297,108"/>
-<area shape="rect" id="node125" href="oauth2client.appengine.OAuth2Decorator-class.html#set_flow" title="oauth2client.appengine.OAuth2Decorator.set_flow" alt="" coords="101,108,297,127"/>
-<area shape="rect" id="node125" href="oauth2client.appengine.OAuth2Decorator-class.html#get_flow" title="A thread local Flow object." alt="" coords="101,127,297,145"/>
-<area shape="rect" id="node125" href="oauth2client.appengine.OAuth2Decorator-class.html#oauth_required" title="Decorator that starts the OAuth 2.0 dance." alt="" coords="101,145,297,164"/>
-<area shape="rect" id="node125" href="oauth2client.appengine.OAuth2Decorator-class.html#oauth_aware" title="Decorator that sets up for OAuth 2.0 dance, but doesn&#39;t do it." alt="" coords="101,164,297,183"/>
-<area shape="rect" id="node125" href="oauth2client.appengine.OAuth2Decorator-class.html#has_credentials" title="True if for the logged in user there are valid access Credentials." alt="" coords="101,183,297,201"/>
-<area shape="rect" id="node125" href="oauth2client.appengine.OAuth2Decorator-class.html#authorize_url" title="Returns the URL to start the OAuth dance." alt="" coords="101,201,297,220"/>
-<area shape="rect" id="node125" href="oauth2client.appengine.OAuth2Decorator-class.html#http" title="Returns an authorized http instance." alt="" coords="101,220,297,239"/>
-<area shape="rect" id="node125" href="oauth2client.appengine.OAuth2Decorator-class.html#callback_path" title="The absolute path where the callback will occur." alt="" coords="101,239,297,257"/>
-<area shape="rect" id="node125" href="oauth2client.appengine.OAuth2Decorator-class.html#callback_handler" title="RequestHandler for the OAuth 2.0 redirect callback." alt="" coords="101,257,297,276"/>
-<area shape="rect" id="node125" href="oauth2client.appengine.OAuth2Decorator-class.html#callback_application" title="WSGI application for handling the OAuth 2.0 redirect callback." alt="" coords="101,276,297,295"/>
-<area shape="rect" id="node2" href="oauth2client.appengine.OAuth2Decorator-class.html" title="Utility for making OAuth 2.0 easier." alt="" coords="89,6,308,301"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_11.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_11" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-An OAuth2Decorator that builds from a clientsecrets file.
-
-Uses a clientsecrets file as the source for all the information when
-constructing an OAuth2Decorator.
-
-Example:
-
-  decorator = OAuth2DecoratorFromClientSecrets(
-    os.path.join(os.path.dirname(__file__), 'client_secrets.json')
-    scope='https://www.googleapis.com/auth/plus')
-
-
-  class MainHandler(webapp.RequestHandler):
-
-    @decorator.oauth_required
-    def get(self):
-      http = decorator.http()
-      # http is authorized with the user's Credentials and can be used
-      # in API calls
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">filename</span>,
-        <span class="summary-sig-arg">scope</span>,
-        <span class="summary-sig-arg">message</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">cache</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Constructor</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2DecoratorFromClientSecrets.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a></code></b>:
-      <code><a href="oauth2client.appengine.OAuth2Decorator-class.html#authorize_url">authorize_url</a></code>,
-      <code><a href="oauth2client.appengine.OAuth2Decorator-class.html#callback_application">callback_application</a></code>,
-      <code><a href="oauth2client.appengine.OAuth2Decorator-class.html#callback_handler">callback_handler</a></code>,
-      <code><a href="oauth2client.appengine.OAuth2Decorator-class.html#callback_path">callback_path</a></code>,
-      <code><a href="oauth2client.appengine.OAuth2Decorator-class.html#get_credentials">get_credentials</a></code>,
-      <code><a href="oauth2client.appengine.OAuth2Decorator-class.html#get_flow">get_flow</a></code>,
-      <code><a href="oauth2client.appengine.OAuth2Decorator-class.html#has_credentials">has_credentials</a></code>,
-      <code><a href="oauth2client.appengine.OAuth2Decorator-class.html#http">http</a></code>,
-      <code><a href="oauth2client.appengine.OAuth2Decorator-class.html#oauth_aware">oauth_aware</a></code>,
-      <code><a href="oauth2client.appengine.OAuth2Decorator-class.html#oauth_required">oauth_required</a></code>,
-      <code><a href="oauth2client.appengine.OAuth2Decorator-class.html#set_credentials">set_credentials</a></code>,
-      <code><a href="oauth2client.appengine.OAuth2Decorator-class.html#set_flow">set_flow</a></code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a></code></b> (private):
-      <code><a href="oauth2client.appengine.OAuth2Decorator-class.html#_create_flow" onclick="show_private();">_create_flow</a></code>,
-      <code><a href="oauth2client.appengine.OAuth2Decorator-class.html#_display_error_message" onclick="show_private();">_display_error_message</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.appengine.OAuth2Decorator-class.html">OAuth2Decorator</a></code></b>:
-      <code><a href="oauth2client.appengine.OAuth2Decorator-class.html#credentials">credentials</a></code>,
-      <code><a href="oauth2client.appengine.OAuth2Decorator-class.html#flow">flow</a></code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">filename</span>,
-        <span class="sig-arg">scope</span>,
-        <span class="sig-arg">message</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">cache</span>=<span class="sig-default">None</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#OAuth2DecoratorFromClientSecrets.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor
-
-Args:
-  filename: string, File name of client secrets.
-  scope: string or iterable of strings, scope(s) of the credentials being
-    requested.
-  message: string, A friendly string to display to the user if the
-    clientsecrets file is missing or invalid. The message may contain HTML
-    and will be presented on the web interface for any method that uses the
-    decorator.
-  cache: An optional cache service client that implements get() and set()
-    methods. See clientsecrets.loadfile() for details.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(3)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.appengine.SiteXsrfSecretKey-class.html b/docs/epy/oauth2client.appengine.SiteXsrfSecretKey-class.html
deleted file mode 100644
index 5e10a0f..0000000
--- a/docs/epy/oauth2client.appengine.SiteXsrfSecretKey-class.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.appengine.SiteXsrfSecretKey</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.appengine-module.html">Module&nbsp;appengine</a> ::
-        Class&nbsp;SiteXsrfSecretKey
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.appengine.SiteXsrfSecretKey-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class SiteXsrfSecretKey</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.appengine-pysrc.html#SiteXsrfSecretKey">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_12" name="uml_class_diagram_for_oauth2cl_12">
-<area shape="rect" id="node126" href="oauth2client.appengine.SiteXsrfSecretKey-class.html#secret" title="oauth2client.appengine.SiteXsrfSecretKey.secret" alt="" coords="220,383,331,401"/>
-<area shape="rect" id="node1" href="oauth2client.appengine.SiteXsrfSecretKey-class.html" title="Storage for the sites XSRF secret key." alt="" coords="208,358,341,415"/>
-<area shape="rect" id="node127" href="google.appengine.ext.db.PropertiedClass-class.html" title="Meta&#45;class for initializing Model classes properties." alt="" coords="17,31,533,49"/>
-<area shape="rect" id="node127" href="javascript:void(0);" title="Allow subclasses to call __new__() with arguments." alt="" coords="17,52,533,71"/>
-<area shape="rect" id="node127" href="javascript:void(0);" title="Creates a new instance of this model." alt="" coords="17,71,533,89"/>
-<area shape="rect" id="node127" href="javascript:void(0);" title="Unique key for this entity." alt="" coords="17,89,533,108"/>
-<area shape="rect" id="node127" href="javascript:void(0);" title="Writes this model instance to the datastore." alt="" coords="17,108,533,127"/>
-<area shape="rect" id="node127" href="javascript:void(0);" title="Writes this model instance to the datastore." alt="" coords="17,127,533,145"/>
-<area shape="rect" id="node127" href="javascript:void(0);" title="Deletes this entity from the datastore." alt="" coords="17,145,533,164"/>
-<area shape="rect" id="node127" href="javascript:void(0);" title="Determine if entity is persisted in the datastore." alt="" coords="17,164,533,183"/>
-<area shape="rect" id="node127" href="javascript:void(0);" title="Determine if this model instance has a complete key." alt="" coords="17,183,533,201"/>
-<area shape="rect" id="node127" href="javascript:void(0);" title="Returns a list of all dynamic properties defined for instance." alt="" coords="17,201,533,220"/>
-<area shape="rect" id="node127" href="javascript:void(0);" title="Alias for dyanmic_properties." alt="" coords="17,220,533,239"/>
-<area shape="rect" id="node127" href="javascript:void(0);" title="Get the parent of the model instance." alt="" coords="17,239,533,257"/>
-<area shape="rect" id="node127" href="javascript:void(0);" title="Get the parent&#39;s key." alt="" coords="17,257,533,276"/>
-<area shape="rect" id="node127" href="javascript:void(0);" title="Generate an XML representation of this model instance." alt="" coords="17,276,533,295"/>
-<area shape="rect" id="node127" href="javascript:void(0);" title="Soon to be removed alias for properties." alt="" coords="17,313,533,332"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="Model is the superclass of all object entities in the datastore." alt="" coords="5,6,544,338"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_12.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_12" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Storage for the sites XSRF secret key.
-
-There will only be one instance stored of this model, the one used for the
-site.
-
-</pre>
-
-<!-- ==================== NESTED CLASSES ==================== -->
-<a name="section-NestedClasses"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Nested Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-NestedClasses"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>google.appengine.ext.db.Model</code></b>:
-      <code><a href="google.appengine.ext.db.PropertiedClass-class.html">__metaclass__</a></code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>google.appengine.ext.db.Model</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>,
-      <code>delete</code>,
-      <code>dynamic_properties</code>,
-      <code>has_key</code>,
-      <code>instance_properties</code>,
-      <code>is_saved</code>,
-      <code>key</code>,
-      <code>parent</code>,
-      <code>parent_key</code>,
-      <code>put</code>,
-      <code>save</code>,
-      <code>to_xml</code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>google.appengine.ext.db.Model</code></b> (private):
-      <code>_populate_entity</code>,
-      <code>_populate_internal_entity</code>,
-      <code>_to_entity</code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>google.appengine.ext.db.Model</code></b>:
-      <code>all</code>,
-      <code>entity_type</code>,
-      <code>fields</code>,
-      <code>from_entity</code>,
-      <code>get</code>,
-      <code>get_by_id</code>,
-      <code>get_by_key_name</code>,
-      <code>get_or_insert</code>,
-      <code>gql</code>,
-      <code>kind</code>,
-      <code>properties</code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>google.appengine.ext.db.Model</code></b> (private):
-      <code>_load_entity_values</code>
-      </p></div>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="secret"></a><span class="summary-name">secret</span> = <code title="db.StringProperty()">db.StringProperty()</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html b/docs/epy/oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html
deleted file mode 100644
index f074fc6..0000000
--- a/docs/epy/oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.appengine.SiteXsrfSecretKeyNDB</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.appengine-module.html">Module&nbsp;appengine</a> ::
-        Class&nbsp;SiteXsrfSecretKeyNDB
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class SiteXsrfSecretKeyNDB</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.appengine-pysrc.html#SiteXsrfSecretKeyNDB">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_13" name="uml_class_diagram_for_oauth2cl_13">
-<area shape="rect" id="node128" href="oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html#secret" title="oauth2client.appengine.SiteXsrfSecretKeyNDB.secret" alt="" coords="17,95,156,113"/>
-<area shape="rect" id="node1" href="oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html" title="NDB Model for storage for the sites XSRF secret key." alt="" coords="5,70,168,127"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="??&#45;98" alt="" coords="57,6,116,50"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_13.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_13" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-NDB Model for storage for the sites XSRF secret key.
-
-Since this model uses the same kind as SiteXsrfSecretKey, it can be used
-interchangeably. This simply provides an NDB model for interacting with the
-same data the DB model interacts with.
-
-There should only be one instance stored of this model, the one used for the
-site.
-
-</pre>
-
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_get_kind"></a><span class="summary-sig-name">_get_kind</span>(<span class="summary-sig-arg">cls</span>)</span><br />
-      Return the kind name for this class.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#SiteXsrfSecretKeyNDB._get_kind">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="secret"></a><span class="summary-name">secret</span> = <code title="ndb.StringProperty()">ndb.StringProperty()</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.appengine.StorageByKeyName-class.html b/docs/epy/oauth2client.appengine.StorageByKeyName-class.html
deleted file mode 100644
index c0c87be..0000000
--- a/docs/epy/oauth2client.appengine.StorageByKeyName-class.html
+++ /dev/null
@@ -1,544 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.appengine.StorageByKeyName</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.appengine-module.html">Module&nbsp;appengine</a> ::
-        Class&nbsp;StorageByKeyName
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.appengine.StorageByKeyName-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class StorageByKeyName</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_14" name="uml_class_diagram_for_oauth2cl_14">
-<area shape="rect" id="node130" href="oauth2client.appengine.StorageByKeyName-class.html#__init__" title="Constructor for Storage." alt="" coords="17,191,457,209"/>
-<area shape="rect" id="node130" href="oauth2client.appengine.StorageByKeyName-class.html#locked_get" title="Retrieve Credential from datastore." alt="" coords="17,209,457,228"/>
-<area shape="rect" id="node130" href="oauth2client.appengine.StorageByKeyName-class.html#locked_put" title="Write a Credentials to the datastore." alt="" coords="17,228,457,247"/>
-<area shape="rect" id="node130" href="oauth2client.appengine.StorageByKeyName-class.html#locked_delete" title="Delete Credential from datastore." alt="" coords="17,247,457,265"/>
-<area shape="rect" id="node1" href="oauth2client.appengine.StorageByKeyName-class.html" title="Store and retrieve a credential to and from the App Engine datastore." alt="" coords="5,158,469,271"/>
-<area shape="rect" id="node131" href="oauth2client.client.Storage-class.html#acquire_lock" title="Acquires any lock necessary to access this Storage." alt="" coords="175,39,300,57"/>
-<area shape="rect" id="node131" href="oauth2client.client.Storage-class.html#release_lock" title="Release the Storage lock." alt="" coords="175,57,300,76"/>
-<area shape="rect" id="node131" href="oauth2client.client.Storage-class.html#get" title="Retrieve credential." alt="" coords="175,76,300,95"/>
-<area shape="rect" id="node131" href="oauth2client.client.Storage-class.html#put" title="Write a credential." alt="" coords="175,95,300,113"/>
-<area shape="rect" id="node131" href="oauth2client.client.Storage-class.html#delete" title="Delete credential." alt="" coords="175,113,300,132"/>
-<area shape="rect" id="node2" href="oauth2client.client.Storage-class.html" title="Base class for all Storage objects." alt="" coords="163,6,312,138"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_14.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_14" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Store and retrieve a credential to and from the App Engine datastore.
-
-This Storage helper presumes the Credentials have been stored as a
-CredentialsProperty or CredentialsNDBProperty on a datastore model class, and
-that entities are stored by key_name.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.StorageByKeyName-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">model</span>,
-        <span class="summary-sig-arg">key_name</span>,
-        <span class="summary-sig-arg">property_name</span>,
-        <span class="summary-sig-arg">cache</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">user</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Constructor for Storage.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.StorageByKeyName-class.html#_is_ndb" class="summary-sig-name" onclick="show_private();">_is_ndb</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Determine whether the model of the instance is an NDB model.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName._is_ndb">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.StorageByKeyName-class.html#_get_entity" class="summary-sig-name" onclick="show_private();">_get_entity</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Retrieve entity from datastore.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName._get_entity">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.StorageByKeyName-class.html#_delete_entity" class="summary-sig-name" onclick="show_private();">_delete_entity</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Delete entity from datastore.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName._delete_entity">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.StorageByKeyName-class.html#locked_get" class="summary-sig-name">locked_get</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Retrieve Credential from datastore.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName.locked_get">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.StorageByKeyName-class.html#locked_put" class="summary-sig-name">locked_put</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">credentials</span>)</span><br />
-      Write a Credentials to the datastore.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName.locked_put">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.appengine.StorageByKeyName-class.html#locked_delete" class="summary-sig-name">locked_delete</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Delete Credential from datastore.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName.locked_delete">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Storage-class.html">client.Storage</a></code></b>:
-      <code><a href="oauth2client.client.Storage-class.html#acquire_lock">acquire_lock</a></code>,
-      <code><a href="oauth2client.client.Storage-class.html#delete">delete</a></code>,
-      <code><a href="oauth2client.client.Storage-class.html#get">get</a></code>,
-      <code><a href="oauth2client.client.Storage-class.html#put">put</a></code>,
-      <code><a href="oauth2client.client.Storage-class.html#release_lock">release_lock</a></code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">model</span>,
-        <span class="sig-arg">key_name</span>,
-        <span class="sig-arg">property_name</span>,
-        <span class="sig-arg">cache</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">user</span>=<span class="sig-default">None</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor for Storage.
-
-Args:
-  model: db.Model or ndb.Model, model class
-  key_name: string, key name for the entity that has the credentials
-  property_name: string, name of the property that is a CredentialsProperty
-    or CredentialsNDBProperty.
-  cache: memcache, a write-through cache to put in front of the datastore.
-    If the model you are using is an NDB model, using a cache will be
-    redundant since the model uses an instance cache and memcache for you.
-  user: users.User object, optional. Can be used to grab user ID as a
-    key_name if no key name is specified.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(4)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_is_ndb"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_is_ndb</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName._is_ndb">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Determine whether the model of the instance is an NDB model.
-
-Returns:
-  Boolean indicating whether or not the model is an NDB or DB model.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_get_entity"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_get_entity</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName._get_entity">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Retrieve entity from datastore.
-
-Uses a different model method for db or ndb models.
-
-Returns:
-  Instance of the model corresponding to the current storage object
-      and stored using the key name of the storage object.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_delete_entity"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_delete_entity</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName._delete_entity">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Delete entity from datastore.
-
-Attempts to delete using the key_name stored on the object, whether or not
-the given key is in the datastore.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="locked_get"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_get</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName.locked_get">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Retrieve Credential from datastore.
-
-Returns:
-  oauth2client.Credentials
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#locked_get">client.Storage.locked_get</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="locked_put"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_put</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">credentials</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName.locked_put">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Write a Credentials to the datastore.
-
-Args:
-  credentials: Credentials, the credentials to store.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#locked_put">client.Storage.locked_put</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="locked_delete"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_delete</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName.locked_delete">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Delete Credential from datastore.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#locked_delete">client.Storage.locked_delete</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client-module.html b/docs/epy/oauth2client.client-module.html
deleted file mode 100644
index 88b6510..0000000
--- a/docs/epy/oauth2client.client-module.html
+++ /dev/null
@@ -1,944 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;client
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module client</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-An OAuth 2.0 client.
-
-Tools for interacting with OAuth 2.0 protected resources.
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        jcgregorio@google.com (Joe Gregorio)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.client.Error-class.html" class="summary-name">Error</a><br />
-      Base error for this module.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.client.FlowExchangeError-class.html" class="summary-name">FlowExchangeError</a><br />
-      Error trying to exchange an authorization grant for an access token.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.client.AccessTokenRefreshError-class.html" class="summary-name">AccessTokenRefreshError</a><br />
-      Error trying to refresh an expired access token.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.client.TokenRevokeError-class.html" class="summary-name">TokenRevokeError</a><br />
-      Error trying to revoke a token.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.client.UnknownClientSecretsFlowError-class.html" class="summary-name">UnknownClientSecretsFlowError</a><br />
-      The client secrets file called for an unknown type of OAuth 2.0 flow.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.client.AccessTokenCredentialsError-class.html" class="summary-name">AccessTokenCredentialsError</a><br />
-      Having only the access_token means no refresh is possible.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.client.VerifyJwtTokenError-class.html" class="summary-name">VerifyJwtTokenError</a><br />
-      Could on retrieve certificates for validation.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.client.NonAsciiHeaderError-class.html" class="summary-name">NonAsciiHeaderError</a><br />
-      Header names and values must be ASCII strings.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.client.MemoryCache-class.html" class="summary-name">MemoryCache</a><br />
-      httplib2 Cache implementation which only caches locally.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.client.Credentials-class.html" class="summary-name">Credentials</a><br />
-      Base class for all Credentials objects.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.client.Flow-class.html" class="summary-name">Flow</a><br />
-      Base class for all Flow objects.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.client.Storage-class.html" class="summary-name">Storage</a><br />
-      Base class for all Storage objects.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.client.OAuth2Credentials-class.html" class="summary-name">OAuth2Credentials</a><br />
-      Credentials object for OAuth 2.0.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.client.AccessTokenCredentials-class.html" class="summary-name">AccessTokenCredentials</a><br />
-      Credentials object for OAuth 2.0.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.client.AssertionCredentials-class.html" class="summary-name">AssertionCredentials</a><br />
-      Abstract Credentials object used for OAuth 2.0 assertion grants.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.client.SignedJwtAssertionCredentials-class.html" class="summary-name">SignedJwtAssertionCredentials</a><br />
-      Credentials object used for OAuth 2.0 Signed JWT assertion grants.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.client.OAuth2WebServerFlow-class.html" class="summary-name">OAuth2WebServerFlow</a><br />
-      Does the Web Server Flow for OAuth 2.0.
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_abstract"></a><span class="summary-sig-name">_abstract</span>()</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#_abstract">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client-module.html#clean_headers" class="summary-sig-name">clean_headers</a>(<span class="summary-sig-arg">headers</span>)</span><br />
-      Forces header keys and values to be strings, i.e not unicode.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#clean_headers">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client-module.html#_update_query_params" class="summary-sig-name" onclick="show_private();">_update_query_params</a>(<span class="summary-sig-arg">uri</span>,
-        <span class="summary-sig-arg">params</span>)</span><br />
-      Updates a URI with new query parameters.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#_update_query_params">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client-module.html#verify_id_token" class="summary-sig-name">verify_id_token</a>(<span class="summary-sig-arg">id_token</span>,
-        <span class="summary-sig-arg">audience</span>,
-        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">cert_uri</span>=<span class="summary-sig-default">ID_TOKEN_VERIFICATON_CERTS</span>)</span><br />
-      Verifies a signed JWT id_token.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#verify_id_token">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_urlsafe_b64decode"></a><span class="summary-sig-name">_urlsafe_b64decode</span>(<span class="summary-sig-arg">b64string</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#_urlsafe_b64decode">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client-module.html#_extract_id_token" class="summary-sig-name" onclick="show_private();">_extract_id_token</a>(<span class="summary-sig-arg">id_token</span>)</span><br />
-      Extract the JSON payload from a JWT.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#_extract_id_token">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client-module.html#_parse_exchange_token_response" class="summary-sig-name" onclick="show_private();">_parse_exchange_token_response</a>(<span class="summary-sig-arg">content</span>)</span><br />
-      Parses response of an exchange token request.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#_parse_exchange_token_response">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client-module.html#credentials_from_code" class="summary-sig-name">credentials_from_code</a>(<span class="summary-sig-arg">client_id</span>,
-        <span class="summary-sig-arg">client_secret</span>,
-        <span class="summary-sig-arg">scope</span>,
-        <span class="summary-sig-arg">code</span>,
-        <span class="summary-sig-arg">redirect_uri</span>=<span class="summary-sig-default">'postmessage'</span>,
-        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">user_agent</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">token_uri</span>=<span class="summary-sig-default">GOOGLE_TOKEN_URI</span>,
-        <span class="summary-sig-arg">auth_uri</span>=<span class="summary-sig-default">GOOGLE_AUTH_URI</span>,
-        <span class="summary-sig-arg">revoke_uri</span>=<span class="summary-sig-default">GOOGLE_REVOKE_URI</span>)</span><br />
-      Exchanges an authorization code for an OAuth2Credentials object.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#credentials_from_code">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client-module.html#credentials_from_clientsecrets_and_code" class="summary-sig-name">credentials_from_clientsecrets_and_code</a>(<span class="summary-sig-arg">filename</span>,
-        <span class="summary-sig-arg">scope</span>,
-        <span class="summary-sig-arg">code</span>,
-        <span class="summary-sig-arg">message</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">redirect_uri</span>=<span class="summary-sig-default">'postmessage'</span>,
-        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">cache</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Returns OAuth2Credentials from a clientsecrets file and an auth code.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#credentials_from_clientsecrets_and_code">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client-module.html#flow_from_clientsecrets" class="summary-sig-name">flow_from_clientsecrets</a>(<span class="summary-sig-arg">filename</span>,
-        <span class="summary-sig-arg">scope</span>,
-        <span class="summary-sig-arg">redirect_uri</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">message</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">cache</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Create a Flow from a clientsecrets file.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#flow_from_clientsecrets">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="HAS_CRYPTO"></a><span class="summary-name">HAS_CRYPTO</span> = <code title="True">True</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="HAS_OPENSSL"></a><span class="summary-name">HAS_OPENSSL</span> = <code title="True">True</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="EXPIRY_FORMAT"></a><span class="summary-name">EXPIRY_FORMAT</span> = <code title="'%Y-%m-%dT%H:%M:%SZ'">'%Y-%m-%dT%H:%M:%SZ'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.client-module.html#ID_TOKEN_VERIFICATON_CERTS" class="summary-name">ID_TOKEN_VERIFICATON_CERTS</a> = <code title="'https://www.googleapis.com/oauth2/v1/certs'">'https://www.googleapis.com/oauth<code class="variable-ellipsis">...</code></code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="OOB_CALLBACK_URN"></a><span class="summary-name">OOB_CALLBACK_URN</span> = <code title="'urn:ietf:wg:oauth:2.0:oob'">'urn:ietf:wg:oauth:2.0:oob'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="REFRESH_STATUS_CODES"></a><span class="summary-name">REFRESH_STATUS_CODES</span> = <code title="[401]">[401]</code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="_cached_http"></a><span class="summary-name">_cached_http</span> = <code title="httplib2.Http(MemoryCache())">httplib2.Http(MemoryCache())</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="clean_headers"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">clean_headers</span>(<span class="sig-arg">headers</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#clean_headers">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Forces header keys and values to be strings, i.e not unicode.
-
-The httplib module just concats the header keys and values in a way that may
-make the message header a unicode string, which, if it then tries to
-contatenate to a binary request body may result in a unicode decode error.
-
-Args:
-  headers: dict, A dictionary of headers.
-
-Returns:
-  The same dictionary but with all the keys converted to strings.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_update_query_params"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_update_query_params</span>(<span class="sig-arg">uri</span>,
-        <span class="sig-arg">params</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#_update_query_params">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Updates a URI with new query parameters.
-
-Args:
-  uri: string, A valid URI, with potential existing query parameters.
-  params: dict, A dictionary of query parameters.
-
-Returns:
-  The same URI but with the new query parameters added.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="verify_id_token"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">verify_id_token</span>(<span class="sig-arg">id_token</span>,
-        <span class="sig-arg">audience</span>,
-        <span class="sig-arg">http</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">cert_uri</span>=<span class="sig-default">ID_TOKEN_VERIFICATON_CERTS</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#verify_id_token">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Verifies a signed JWT id_token.
-
-This function requires PyOpenSSL and because of that it does not work on
-App Engine.
-
-Args:
-  id_token: string, A Signed JWT.
-  audience: string, The audience 'aud' that the token should be for.
-  http: httplib2.Http, instance to use to make the HTTP request. Callers
-    should supply an instance that has caching enabled.
-  cert_uri: string, URI of the certificates in JSON format to
-    verify the JWT against.
-
-Returns:
-  The deserialized JSON in the JWT.
-
-Raises:
-  oauth2client.crypt.AppIdentityError if the JWT fails to verify.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_extract_id_token"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_extract_id_token</span>(<span class="sig-arg">id_token</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#_extract_id_token">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Extract the JSON payload from a JWT.
-
-Does the extraction w/o checking the signature.
-
-Args:
-  id_token: string, OAuth 2.0 id_token.
-
-Returns:
-  object, The deserialized JSON payload.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_parse_exchange_token_response"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_parse_exchange_token_response</span>(<span class="sig-arg">content</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#_parse_exchange_token_response">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Parses response of an exchange token request.
-
-Most providers return JSON but some (e.g. Facebook) return a
-url-encoded string.
-
-Args:
-  content: The body of a response
-
-Returns:
-  Content as a dictionary object. Note that the dict could be empty,
-  i.e. {}. That basically indicates a failure.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="credentials_from_code"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">credentials_from_code</span>(<span class="sig-arg">client_id</span>,
-        <span class="sig-arg">client_secret</span>,
-        <span class="sig-arg">scope</span>,
-        <span class="sig-arg">code</span>,
-        <span class="sig-arg">redirect_uri</span>=<span class="sig-default">'postmessage'</span>,
-        <span class="sig-arg">http</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">user_agent</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">token_uri</span>=<span class="sig-default">GOOGLE_TOKEN_URI</span>,
-        <span class="sig-arg">auth_uri</span>=<span class="sig-default">GOOGLE_AUTH_URI</span>,
-        <span class="sig-arg">revoke_uri</span>=<span class="sig-default">GOOGLE_REVOKE_URI</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#credentials_from_code">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Exchanges an authorization code for an OAuth2Credentials object.
-
-Args:
-  client_id: string, client identifier.
-  client_secret: string, client secret.
-  scope: string or iterable of strings, scope(s) to request.
-  code: string, An authroization code, most likely passed down from
-    the client
-  redirect_uri: string, this is generally set to 'postmessage' to match the
-    redirect_uri that the client specified
-  http: httplib2.Http, optional http instance to use to do the fetch
-  token_uri: string, URI for token endpoint. For convenience
-    defaults to Google's endpoints but any OAuth 2.0 provider can be used.
-  auth_uri: string, URI for authorization endpoint. For convenience
-    defaults to Google's endpoints but any OAuth 2.0 provider can be used.
-  revoke_uri: string, URI for revoke endpoint. For convenience
-    defaults to Google's endpoints but any OAuth 2.0 provider can be used.
-
-Returns:
-  An OAuth2Credentials object.
-
-Raises:
-  FlowExchangeError if the authorization code cannot be exchanged for an
-   access token
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(4)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="credentials_from_clientsecrets_and_code"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">credentials_from_clientsecrets_and_code</span>(<span class="sig-arg">filename</span>,
-        <span class="sig-arg">scope</span>,
-        <span class="sig-arg">code</span>,
-        <span class="sig-arg">message</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">redirect_uri</span>=<span class="sig-default">'postmessage'</span>,
-        <span class="sig-arg">http</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">cache</span>=<span class="sig-default">None</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#credentials_from_clientsecrets_and_code">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Returns OAuth2Credentials from a clientsecrets file and an auth code.
-
-Will create the right kind of Flow based on the contents of the clientsecrets
-file or will raise InvalidClientSecretsError for unknown types of Flows.
-
-Args:
-  filename: string, File name of clientsecrets.
-  scope: string or iterable of strings, scope(s) to request.
-  code: string, An authorization code, most likely passed down from
-    the client
-  message: string, A friendly string to display to the user if the
-    clientsecrets file is missing or invalid. If message is provided then
-    sys.exit will be called in the case of an error. If message in not
-    provided then clientsecrets.InvalidClientSecretsError will be raised.
-  redirect_uri: string, this is generally set to 'postmessage' to match the
-    redirect_uri that the client specified
-  http: httplib2.Http, optional http instance to use to do the fetch
-  cache: An optional cache service client that implements get() and set()
-    methods. See clientsecrets.loadfile() for details.
-
-Returns:
-  An OAuth2Credentials object.
-
-Raises:
-  FlowExchangeError if the authorization code cannot be exchanged for an
-   access token
-  UnknownClientSecretsFlowError if the file describes an unknown kind of Flow.
-  clientsecrets.InvalidClientSecretsError if the clientsecrets file is
-    invalid.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(3)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="flow_from_clientsecrets"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">flow_from_clientsecrets</span>(<span class="sig-arg">filename</span>,
-        <span class="sig-arg">scope</span>,
-        <span class="sig-arg">redirect_uri</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">message</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">cache</span>=<span class="sig-default">None</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#flow_from_clientsecrets">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Create a Flow from a clientsecrets file.
-
-Will create the right kind of Flow based on the contents of the clientsecrets
-file or will raise InvalidClientSecretsError for unknown types of Flows.
-
-Args:
-  filename: string, File name of client secrets.
-  scope: string or iterable of strings, scope(s) to request.
-  redirect_uri: string, Either the string 'urn:ietf:wg:oauth:2.0:oob' for
-    a non-web-based application, or a URI that handles the callback from
-    the authorization server.
-  message: string, A friendly string to display to the user if the
-    clientsecrets file is missing or invalid. If message is provided then
-    sys.exit will be called in the case of an error. If message in not
-    provided then clientsecrets.InvalidClientSecretsError will be raised.
-  cache: An optional cache service client that implements get() and set()
-    methods. See clientsecrets.loadfile() for details.
-
-Returns:
-  A Flow object.
-
-Raises:
-  UnknownClientSecretsFlowError if the file describes an unknown kind of Flow.
-  clientsecrets.InvalidClientSecretsError if the clientsecrets file is
-    invalid.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-VariablesDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="ID_TOKEN_VERIFICATON_CERTS"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <h3 class="epydoc">ID_TOKEN_VERIFICATON_CERTS</h3>
-  
-  <dl class="fields">
-  </dl>
-  <dl class="fields">
-    <dt>Value:</dt>
-      <dd><table><tr><td><pre class="variable">
-'https://www.googleapis.com/oauth2/v1/certs'
-</pre></td></tr></table>
-</dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client-pysrc.html b/docs/epy/oauth2client.client-pysrc.html
deleted file mode 100644
index d47a09e..0000000
--- a/docs/epy/oauth2client.client-pysrc.html
+++ /dev/null
@@ -1,1849 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;client
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="oauth2client.client-module.html">Module oauth2client.client</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">   1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010 Google Inc.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">   2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">   3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">   4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">   5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">   6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">   7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">   8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">   9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">  10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">  11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">  12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">  14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno">  15</tt>  <tt class="py-line"><tt class="py-docstring">"""An OAuth 2.0 client.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">  16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"><tt class="py-docstring">Tools for interacting with OAuth 2.0 protected resources.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">  19</tt>  <tt class="py-line"> </tt>
-<a name="L20"></a><tt class="py-lineno">  20</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">  21</tt>  <tt class="py-line"> </tt>
-<a name="L22"></a><tt class="py-lineno">  22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">base64</tt> </tt>
-<a name="L23"></a><tt class="py-lineno">  23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Module oauth2client.clientsecrets=oauth2client.clientsecrets-module.html"><a title="oauth2client.clientsecrets" class="py-name" href="#" onclick="return doclink('link-0', 'clientsecrets', 'link-0');">clientsecrets</a></tt> </tt>
-<a name="L24"></a><tt class="py-lineno">  24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">  25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">datetime</tt> </tt>
-<a name="L26"></a><tt class="py-lineno">  26</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">httplib2</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">  27</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">  28</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">  29</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">  30</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L31"></a><tt class="py-lineno">  31</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">  32</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urlparse</tt> </tt>
-<a name="L33"></a><tt class="py-lineno">  33</tt>  <tt class="py-line"> </tt>
-<a name="L34"></a><tt class="py-lineno">  34</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package oauth2client=oauth2client-module.html"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-1', 'oauth2client', 'link-1');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Variable oauth2client.GOOGLE_AUTH_URI=oauth2client-module.html#GOOGLE_AUTH_URI"><a title="oauth2client.GOOGLE_AUTH_URI" class="py-name" href="#" onclick="return doclink('link-2', 'GOOGLE_AUTH_URI', 'link-2');">GOOGLE_AUTH_URI</a></tt> </tt>
-<a name="L35"></a><tt class="py-lineno">  35</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-3', 'oauth2client', 'link-1');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Variable oauth2client.GOOGLE_REVOKE_URI=oauth2client-module.html#GOOGLE_REVOKE_URI"><a title="oauth2client.GOOGLE_REVOKE_URI" class="py-name" href="#" onclick="return doclink('link-4', 'GOOGLE_REVOKE_URI', 'link-4');">GOOGLE_REVOKE_URI</a></tt> </tt>
-<a name="L36"></a><tt class="py-lineno">  36</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-5', 'oauth2client', 'link-1');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Variable oauth2client.GOOGLE_TOKEN_URI=oauth2client-module.html#GOOGLE_TOKEN_URI"><a title="oauth2client.GOOGLE_TOKEN_URI" class="py-name" href="#" onclick="return doclink('link-6', 'GOOGLE_TOKEN_URI', 'link-6');">GOOGLE_TOKEN_URI</a></tt> </tt>
-<a name="L37"></a><tt class="py-lineno">  37</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-7', 'oauth2client', 'link-1');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-8" class="py-name" targets="Module oauth2client.util=oauth2client.util-module.html"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-8', 'util', 'link-8');">util</a></tt> </tt>
-<a name="L38"></a><tt class="py-lineno">  38</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-9" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-9', 'oauth2client', 'link-1');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Module oauth2client.anyjson=oauth2client.anyjson-module.html"><a title="oauth2client.anyjson" class="py-name" href="#" onclick="return doclink('link-10', 'anyjson', 'link-10');">anyjson</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
-<a name="L39"></a><tt class="py-lineno">  39</tt>  <tt class="py-line"> </tt>
-<a name="L40"></a><tt class="py-lineno">  40</tt>  <tt class="py-line"><tt id="link-11" class="py-name" targets="Variable oauth2client.client.HAS_OPENSSL=oauth2client.client-module.html#HAS_OPENSSL"><a title="oauth2client.client.HAS_OPENSSL" class="py-name" href="#" onclick="return doclink('link-11', 'HAS_OPENSSL', 'link-11');">HAS_OPENSSL</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L41"></a><tt class="py-lineno">  41</tt>  <tt class="py-line"><tt id="link-12" class="py-name" targets="Variable oauth2client.client.HAS_CRYPTO=oauth2client.client-module.html#HAS_CRYPTO"><a title="oauth2client.client.HAS_CRYPTO" class="py-name" href="#" onclick="return doclink('link-12', 'HAS_CRYPTO', 'link-12');">HAS_CRYPTO</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L42"></a><tt class="py-lineno">  42</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L43"></a><tt class="py-lineno">  43</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt id="link-13" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-13', 'oauth2client', 'link-1');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-14" class="py-name" targets="Module oauth2client.crypt=oauth2client.crypt-module.html"><a title="oauth2client.crypt" class="py-name" href="#" onclick="return doclink('link-14', 'crypt', 'link-14');">crypt</a></tt> </tt>
-<a name="L44"></a><tt class="py-lineno">  44</tt>  <tt class="py-line">  <tt id="link-15" class="py-name"><a title="oauth2client.client.HAS_CRYPTO" class="py-name" href="#" onclick="return doclink('link-15', 'HAS_CRYPTO', 'link-12');">HAS_CRYPTO</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L45"></a><tt class="py-lineno">  45</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt id="link-16" class="py-name"><a title="oauth2client.crypt" class="py-name" href="#" onclick="return doclink('link-16', 'crypt', 'link-14');">crypt</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Variable oauth2client.crypt.OpenSSLVerifier=oauth2client.crypt-module.html#OpenSSLVerifier"><a title="oauth2client.crypt.OpenSSLVerifier" class="py-name" href="#" onclick="return doclink('link-17', 'OpenSSLVerifier', 'link-17');">OpenSSLVerifier</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L46"></a><tt class="py-lineno">  46</tt>  <tt class="py-line">    <tt id="link-18" class="py-name"><a title="oauth2client.client.HAS_OPENSSL" class="py-name" href="#" onclick="return doclink('link-18', 'HAS_OPENSSL', 'link-11');">HAS_OPENSSL</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L47"></a><tt class="py-lineno">  47</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L48"></a><tt class="py-lineno">  48</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-<a name="L49"></a><tt class="py-lineno">  49</tt>  <tt class="py-line"> </tt>
-<a name="L50"></a><tt class="py-lineno">  50</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L51"></a><tt class="py-lineno">  51</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">urlparse</tt> <tt class="py-keyword">import</tt> <tt class="py-name">parse_qsl</tt> </tt>
-<a name="L52"></a><tt class="py-lineno">  52</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L53"></a><tt class="py-lineno">  53</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">cgi</tt> <tt class="py-keyword">import</tt> <tt class="py-name">parse_qsl</tt> </tt>
-<a name="L54"></a><tt class="py-lineno">  54</tt>  <tt class="py-line"> </tt>
-<a name="L55"></a><tt class="py-lineno">  55</tt>  <tt class="py-line"><tt id="link-19" class="py-name" targets="Variable apiclient.discovery.logger=apiclient.discovery-module.html#logger,Variable oauth2client.appengine.logger=oauth2client.appengine-module.html#logger,Variable oauth2client.client.logger=oauth2client.client-module.html#logger,Variable oauth2client.crypt.logger=oauth2client.crypt-module.html#logger,Variable oauth2client.gce.logger=oauth2client.gce-module.html#logger,Variable oauth2client.locked_file.logger=oauth2client.locked_file-module.html#logger,Variable oauth2client.multistore_file.logger=oauth2client.multistore_file-module.html#logger,Variable oauth2client.util.logger=oauth2client.util-module.html#logger"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-19', 'logger', 'link-19');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-name">__name__</tt><tt class="py-op">)</tt> </tt>
-<a name="L56"></a><tt class="py-lineno">  56</tt>  <tt class="py-line"> </tt>
-<a name="L57"></a><tt class="py-lineno">  57</tt>  <tt class="py-line"><tt class="py-comment"># Expiry is stored in RFC3339 UTC format</tt> </tt>
-<a name="L58"></a><tt class="py-lineno">  58</tt>  <tt class="py-line"><tt id="link-20" class="py-name" targets="Variable oauth2client.client.EXPIRY_FORMAT=oauth2client.client-module.html#EXPIRY_FORMAT"><a title="oauth2client.client.EXPIRY_FORMAT" class="py-name" href="#" onclick="return doclink('link-20', 'EXPIRY_FORMAT', 'link-20');">EXPIRY_FORMAT</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'%Y-%m-%dT%H:%M:%SZ'</tt> </tt>
-<a name="L59"></a><tt class="py-lineno">  59</tt>  <tt class="py-line"> </tt>
-<a name="L60"></a><tt class="py-lineno">  60</tt>  <tt class="py-line"><tt class="py-comment"># Which certs to use to validate id_tokens received.</tt> </tt>
-<a name="L61"></a><tt class="py-lineno">  61</tt>  <tt class="py-line"><tt id="link-21" class="py-name" targets="Variable oauth2client.client.ID_TOKEN_VERIFICATON_CERTS=oauth2client.client-module.html#ID_TOKEN_VERIFICATON_CERTS"><a title="oauth2client.client.ID_TOKEN_VERIFICATON_CERTS" class="py-name" href="#" onclick="return doclink('link-21', 'ID_TOKEN_VERIFICATON_CERTS', 'link-21');">ID_TOKEN_VERIFICATON_CERTS</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'https://www.googleapis.com/oauth2/v1/certs'</tt> </tt>
-<a name="L62"></a><tt class="py-lineno">  62</tt>  <tt class="py-line"> </tt>
-<a name="L63"></a><tt class="py-lineno">  63</tt>  <tt class="py-line"><tt class="py-comment"># Constant to use for the out of band OAuth 2.0 flow.</tt> </tt>
-<a name="L64"></a><tt class="py-lineno">  64</tt>  <tt class="py-line"><tt id="link-22" class="py-name" targets="Variable oauth2client.client.OOB_CALLBACK_URN=oauth2client.client-module.html#OOB_CALLBACK_URN"><a title="oauth2client.client.OOB_CALLBACK_URN" class="py-name" href="#" onclick="return doclink('link-22', 'OOB_CALLBACK_URN', 'link-22');">OOB_CALLBACK_URN</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'urn:ietf:wg:oauth:2.0:oob'</tt> </tt>
-<a name="L65"></a><tt class="py-lineno">  65</tt>  <tt class="py-line"> </tt>
-<a name="L66"></a><tt class="py-lineno">  66</tt>  <tt class="py-line"><tt class="py-comment"># Google Data client libraries may need to set this to [401, 403].</tt> </tt>
-<a name="L67"></a><tt class="py-lineno">  67</tt>  <tt class="py-line"><tt id="link-23" class="py-name" targets="Variable oauth2client.client.REFRESH_STATUS_CODES=oauth2client.client-module.html#REFRESH_STATUS_CODES"><a title="oauth2client.client.REFRESH_STATUS_CODES" class="py-name" href="#" onclick="return doclink('link-23', 'REFRESH_STATUS_CODES', 'link-23');">REFRESH_STATUS_CODES</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-number">401</tt><tt class="py-op">]</tt> </tt>
-<a name="Error"></a><div id="Error-def"><a name="L68"></a><tt class="py-lineno">  68</tt>  <tt class="py-line"> </tt>
-<a name="L69"></a><tt class="py-lineno">  69</tt>  <tt class="py-line"> </tt>
-<a name="L70"></a><tt class="py-lineno">  70</tt> <a class="py-toggle" href="#" id="Error-toggle" onclick="return toggle('Error');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.client.Error-class.html">Error</a><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Error-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="Error-expanded"><a name="L71"></a><tt class="py-lineno">  71</tt>  <tt class="py-line">  <tt class="py-docstring">"""Base error for this module."""</tt> </tt>
-</div><a name="L72"></a><tt class="py-lineno">  72</tt>  <tt class="py-line"> </tt>
-<a name="FlowExchangeError"></a><div id="FlowExchangeError-def"><a name="L73"></a><tt class="py-lineno">  73</tt>  <tt class="py-line"> </tt>
-<a name="L74"></a><tt class="py-lineno">  74</tt> <a class="py-toggle" href="#" id="FlowExchangeError-toggle" onclick="return toggle('FlowExchangeError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.client.FlowExchangeError-class.html">FlowExchangeError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FlowExchangeError-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="FlowExchangeError-expanded"><a name="L75"></a><tt class="py-lineno">  75</tt>  <tt class="py-line">  <tt class="py-docstring">"""Error trying to exchange an authorization grant for an access token."""</tt> </tt>
-</div><a name="L76"></a><tt class="py-lineno">  76</tt>  <tt class="py-line"> </tt>
-<a name="AccessTokenRefreshError"></a><div id="AccessTokenRefreshError-def"><a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line"> </tt>
-<a name="L78"></a><tt class="py-lineno">  78</tt> <a class="py-toggle" href="#" id="AccessTokenRefreshError-toggle" onclick="return toggle('AccessTokenRefreshError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.client.AccessTokenRefreshError-class.html">AccessTokenRefreshError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AccessTokenRefreshError-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="AccessTokenRefreshError-expanded"><a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line">  <tt class="py-docstring">"""Error trying to refresh an expired access token."""</tt> </tt>
-</div><a name="L80"></a><tt class="py-lineno">  80</tt>  <tt class="py-line"> </tt>
-<a name="TokenRevokeError"></a><div id="TokenRevokeError-def"><a name="L81"></a><tt class="py-lineno">  81</tt>  <tt class="py-line"> </tt>
-<a name="L82"></a><tt class="py-lineno">  82</tt> <a class="py-toggle" href="#" id="TokenRevokeError-toggle" onclick="return toggle('TokenRevokeError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.client.TokenRevokeError-class.html">TokenRevokeError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TokenRevokeError-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TokenRevokeError-expanded"><a name="L83"></a><tt class="py-lineno">  83</tt>  <tt class="py-line">  <tt class="py-docstring">"""Error trying to revoke a token."""</tt> </tt>
-</div><a name="L84"></a><tt class="py-lineno">  84</tt>  <tt class="py-line"> </tt>
-<a name="UnknownClientSecretsFlowError"></a><div id="UnknownClientSecretsFlowError-def"><a name="L85"></a><tt class="py-lineno">  85</tt>  <tt class="py-line"> </tt>
-<a name="L86"></a><tt class="py-lineno">  86</tt> <a class="py-toggle" href="#" id="UnknownClientSecretsFlowError-toggle" onclick="return toggle('UnknownClientSecretsFlowError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.client.UnknownClientSecretsFlowError-class.html">UnknownClientSecretsFlowError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UnknownClientSecretsFlowError-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="UnknownClientSecretsFlowError-expanded"><a name="L87"></a><tt class="py-lineno">  87</tt>  <tt class="py-line">  <tt class="py-docstring">"""The client secrets file called for an unknown type of OAuth 2.0 flow. """</tt> </tt>
-</div><a name="L88"></a><tt class="py-lineno">  88</tt>  <tt class="py-line"> </tt>
-<a name="AccessTokenCredentialsError"></a><div id="AccessTokenCredentialsError-def"><a name="L89"></a><tt class="py-lineno">  89</tt>  <tt class="py-line"> </tt>
-<a name="L90"></a><tt class="py-lineno">  90</tt> <a class="py-toggle" href="#" id="AccessTokenCredentialsError-toggle" onclick="return toggle('AccessTokenCredentialsError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.client.AccessTokenCredentialsError-class.html">AccessTokenCredentialsError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AccessTokenCredentialsError-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="AccessTokenCredentialsError-expanded"><a name="L91"></a><tt class="py-lineno">  91</tt>  <tt class="py-line">  <tt class="py-docstring">"""Having only the access_token means no refresh is possible."""</tt> </tt>
-</div><a name="L92"></a><tt class="py-lineno">  92</tt>  <tt class="py-line"> </tt>
-<a name="VerifyJwtTokenError"></a><div id="VerifyJwtTokenError-def"><a name="L93"></a><tt class="py-lineno">  93</tt>  <tt class="py-line"> </tt>
-<a name="L94"></a><tt class="py-lineno">  94</tt> <a class="py-toggle" href="#" id="VerifyJwtTokenError-toggle" onclick="return toggle('VerifyJwtTokenError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.client.VerifyJwtTokenError-class.html">VerifyJwtTokenError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="VerifyJwtTokenError-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="VerifyJwtTokenError-expanded"><a name="L95"></a><tt class="py-lineno">  95</tt>  <tt class="py-line">  <tt class="py-docstring">"""Could on retrieve certificates for validation."""</tt> </tt>
-</div><a name="L96"></a><tt class="py-lineno">  96</tt>  <tt class="py-line"> </tt>
-<a name="NonAsciiHeaderError"></a><div id="NonAsciiHeaderError-def"><a name="L97"></a><tt class="py-lineno">  97</tt>  <tt class="py-line"> </tt>
-<a name="L98"></a><tt class="py-lineno">  98</tt> <a class="py-toggle" href="#" id="NonAsciiHeaderError-toggle" onclick="return toggle('NonAsciiHeaderError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.client.NonAsciiHeaderError-class.html">NonAsciiHeaderError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="NonAsciiHeaderError-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="NonAsciiHeaderError-expanded"><a name="L99"></a><tt class="py-lineno">  99</tt>  <tt class="py-line">  <tt class="py-docstring">"""Header names and values must be ASCII strings."""</tt> </tt>
-</div><a name="L100"></a><tt class="py-lineno"> 100</tt>  <tt class="py-line"> </tt>
-<a name="_abstract"></a><div id="_abstract-def"><a name="L101"></a><tt class="py-lineno"> 101</tt>  <tt class="py-line"> </tt>
-<a name="L102"></a><tt class="py-lineno"> 102</tt> <a class="py-toggle" href="#" id="_abstract-toggle" onclick="return toggle('_abstract');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client-module.html#_abstract">_abstract</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_abstract-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_abstract-expanded"><a name="L103"></a><tt class="py-lineno"> 103</tt>  <tt class="py-line">  <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-string">'You need to override this function'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L104"></a><tt class="py-lineno"> 104</tt>  <tt class="py-line"> </tt>
-<a name="MemoryCache"></a><div id="MemoryCache-def"><a name="L105"></a><tt class="py-lineno"> 105</tt>  <tt class="py-line"> </tt>
-<a name="L106"></a><tt class="py-lineno"> 106</tt> <a class="py-toggle" href="#" id="MemoryCache-toggle" onclick="return toggle('MemoryCache');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.client.MemoryCache-class.html">MemoryCache</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MemoryCache-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="MemoryCache-expanded"><a name="L107"></a><tt class="py-lineno"> 107</tt>  <tt class="py-line">  <tt class="py-docstring">"""httplib2 Cache implementation which only caches locally."""</tt> </tt>
-<a name="L108"></a><tt class="py-lineno"> 108</tt>  <tt class="py-line"> </tt>
-<a name="MemoryCache.__init__"></a><div id="MemoryCache.__init__-def"><a name="L109"></a><tt class="py-lineno"> 109</tt> <a class="py-toggle" href="#" id="MemoryCache.__init__-toggle" onclick="return toggle('MemoryCache.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.MemoryCache-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MemoryCache.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MemoryCache.__init__-expanded"><a name="L110"></a><tt class="py-lineno"> 110</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cache</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-</div><a name="L111"></a><tt class="py-lineno"> 111</tt>  <tt class="py-line"> </tt>
-<a name="MemoryCache.get"></a><div id="MemoryCache.get-def"><a name="L112"></a><tt class="py-lineno"> 112</tt> <a class="py-toggle" href="#" id="MemoryCache.get-toggle" onclick="return toggle('MemoryCache.get');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.MemoryCache-class.html#get">get</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MemoryCache.get-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MemoryCache.get-expanded"><a name="L113"></a><tt class="py-lineno"> 113</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cache</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method apiclient.schema.Schemas.get()=apiclient.schema.Schemas-class.html#get,Method oauth2client.client.MemoryCache.get()=oauth2client.client.MemoryCache-class.html#get,Method oauth2client.client.Storage.get()=oauth2client.client.Storage-class.html#get"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-24', 'get', 'link-24');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L114"></a><tt class="py-lineno"> 114</tt>  <tt class="py-line"> </tt>
-<a name="MemoryCache.set"></a><div id="MemoryCache.set-def"><a name="L115"></a><tt class="py-lineno"> 115</tt> <a class="py-toggle" href="#" id="MemoryCache.set-toggle" onclick="return toggle('MemoryCache.set');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.MemoryCache-class.html#set">set</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MemoryCache.set-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MemoryCache.set-expanded"><a name="L116"></a><tt class="py-lineno"> 116</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cache</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
-</div><a name="L117"></a><tt class="py-lineno"> 117</tt>  <tt class="py-line"> </tt>
-<a name="MemoryCache.delete"></a><div id="MemoryCache.delete-def"><a name="L118"></a><tt class="py-lineno"> 118</tt> <a class="py-toggle" href="#" id="MemoryCache.delete-toggle" onclick="return toggle('MemoryCache.delete');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.MemoryCache-class.html#delete">delete</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MemoryCache.delete-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MemoryCache.delete-expanded"><a name="L119"></a><tt class="py-lineno"> 119</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cache</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L120"></a><tt class="py-lineno"> 120</tt>  <tt class="py-line"> </tt>
-<a name="Credentials"></a><div id="Credentials-def"><a name="L121"></a><tt class="py-lineno"> 121</tt>  <tt class="py-line"> </tt>
-<a name="L122"></a><tt class="py-lineno"> 122</tt> <a class="py-toggle" href="#" id="Credentials-toggle" onclick="return toggle('Credentials');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.client.Credentials-class.html">Credentials</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Credentials-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="Credentials-expanded"><a name="L123"></a><tt class="py-lineno"> 123</tt>  <tt class="py-line">  <tt class="py-docstring">"""Base class for all Credentials objects.</tt> </tt>
-<a name="L124"></a><tt class="py-lineno"> 124</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L125"></a><tt class="py-lineno"> 125</tt>  <tt class="py-line"><tt class="py-docstring">  Subclasses must define an authorize() method that applies the credentials to</tt> </tt>
-<a name="L126"></a><tt class="py-lineno"> 126</tt>  <tt class="py-line"><tt class="py-docstring">  an HTTP transport.</tt> </tt>
-<a name="L127"></a><tt class="py-lineno"> 127</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L128"></a><tt class="py-lineno"> 128</tt>  <tt class="py-line"><tt class="py-docstring">  Subclasses must also specify a classmethod named 'from_json' that takes a JSON</tt> </tt>
-<a name="L129"></a><tt class="py-lineno"> 129</tt>  <tt class="py-line"><tt class="py-docstring">  string as input and returns an instaniated Credentials object.</tt> </tt>
-<a name="L130"></a><tt class="py-lineno"> 130</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L131"></a><tt class="py-lineno"> 131</tt>  <tt class="py-line"> </tt>
-<a name="L132"></a><tt class="py-lineno"> 132</tt>  <tt class="py-line">  <tt id="link-25" class="py-name" targets="Variable oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS=oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS"><a title="oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS" class="py-name" href="#" onclick="return doclink('link-25', 'NON_SERIALIZED_MEMBERS', 'link-25');">NON_SERIALIZED_MEMBERS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'store'</tt><tt class="py-op">]</tt> </tt>
-<a name="L133"></a><tt class="py-lineno"> 133</tt>  <tt class="py-line"> </tt>
-<a name="Credentials.authorize"></a><div id="Credentials.authorize-def"><a name="L134"></a><tt class="py-lineno"> 134</tt> <a class="py-toggle" href="#" id="Credentials.authorize-toggle" onclick="return toggle('Credentials.authorize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.Credentials-class.html#authorize">authorize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Credentials.authorize-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Credentials.authorize-expanded"><a name="L135"></a><tt class="py-lineno"> 135</tt>  <tt class="py-line">    <tt class="py-docstring">"""Take an httplib2.Http instance (or equivalent) and authorizes it.</tt> </tt>
-<a name="L136"></a><tt class="py-lineno"> 136</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L137"></a><tt class="py-lineno"> 137</tt>  <tt class="py-line"><tt class="py-docstring">    Authorizes it for the set of credentials, usually by replacing</tt> </tt>
-<a name="L138"></a><tt class="py-lineno"> 138</tt>  <tt class="py-line"><tt class="py-docstring">    http.request() with a method that adds in the appropriate headers and then</tt> </tt>
-<a name="L139"></a><tt class="py-lineno"> 139</tt>  <tt class="py-line"><tt class="py-docstring">    delegates to the original Http.request() method.</tt> </tt>
-<a name="L140"></a><tt class="py-lineno"> 140</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L141"></a><tt class="py-lineno"> 141</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L142"></a><tt class="py-lineno"> 142</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used to make the refresh</tt> </tt>
-<a name="L143"></a><tt class="py-lineno"> 143</tt>  <tt class="py-line"><tt class="py-docstring">        request.</tt> </tt>
-<a name="L144"></a><tt class="py-lineno"> 144</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L145"></a><tt class="py-lineno"> 145</tt>  <tt class="py-line">    <tt id="link-26" class="py-name" targets="Function apiclient.model._abstract()=apiclient.model-module.html#_abstract,Function oauth2client.client._abstract()=oauth2client.client-module.html#_abstract"><a title="apiclient.model._abstract
-oauth2client.client._abstract" class="py-name" href="#" onclick="return doclink('link-26', '_abstract', 'link-26');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L146"></a><tt class="py-lineno"> 146</tt>  <tt class="py-line"> </tt>
-<a name="Credentials.refresh"></a><div id="Credentials.refresh-def"><a name="L147"></a><tt class="py-lineno"> 147</tt> <a class="py-toggle" href="#" id="Credentials.refresh-toggle" onclick="return toggle('Credentials.refresh');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.Credentials-class.html#refresh">refresh</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Credentials.refresh-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Credentials.refresh-expanded"><a name="L148"></a><tt class="py-lineno"> 148</tt>  <tt class="py-line">    <tt class="py-docstring">"""Forces a refresh of the access_token.</tt> </tt>
-<a name="L149"></a><tt class="py-lineno"> 149</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L150"></a><tt class="py-lineno"> 150</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L151"></a><tt class="py-lineno"> 151</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used to make the refresh</tt> </tt>
-<a name="L152"></a><tt class="py-lineno"> 152</tt>  <tt class="py-line"><tt class="py-docstring">        request.</tt> </tt>
-<a name="L153"></a><tt class="py-lineno"> 153</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L154"></a><tt class="py-lineno"> 154</tt>  <tt class="py-line">    <tt id="link-27" class="py-name"><a title="apiclient.model._abstract
-oauth2client.client._abstract" class="py-name" href="#" onclick="return doclink('link-27', '_abstract', 'link-26');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L155"></a><tt class="py-lineno"> 155</tt>  <tt class="py-line"> </tt>
-<a name="Credentials.revoke"></a><div id="Credentials.revoke-def"><a name="L156"></a><tt class="py-lineno"> 156</tt> <a class="py-toggle" href="#" id="Credentials.revoke-toggle" onclick="return toggle('Credentials.revoke');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.Credentials-class.html#revoke">revoke</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Credentials.revoke-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Credentials.revoke-expanded"><a name="L157"></a><tt class="py-lineno"> 157</tt>  <tt class="py-line">    <tt class="py-docstring">"""Revokes a refresh_token and makes the credentials void.</tt> </tt>
-<a name="L158"></a><tt class="py-lineno"> 158</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L159"></a><tt class="py-lineno"> 159</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L160"></a><tt class="py-lineno"> 160</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used to make the revoke</tt> </tt>
-<a name="L161"></a><tt class="py-lineno"> 161</tt>  <tt class="py-line"><tt class="py-docstring">        request.</tt> </tt>
-<a name="L162"></a><tt class="py-lineno"> 162</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L163"></a><tt class="py-lineno"> 163</tt>  <tt class="py-line">    <tt id="link-28" class="py-name"><a title="apiclient.model._abstract
-oauth2client.client._abstract" class="py-name" href="#" onclick="return doclink('link-28', '_abstract', 'link-26');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L164"></a><tt class="py-lineno"> 164</tt>  <tt class="py-line"> </tt>
-<a name="Credentials.apply"></a><div id="Credentials.apply-def"><a name="L165"></a><tt class="py-lineno"> 165</tt> <a class="py-toggle" href="#" id="Credentials.apply-toggle" onclick="return toggle('Credentials.apply');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.Credentials-class.html#apply">apply</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Credentials.apply-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Credentials.apply-expanded"><a name="L166"></a><tt class="py-lineno"> 166</tt>  <tt class="py-line">    <tt class="py-docstring">"""Add the authorization to the headers.</tt> </tt>
-<a name="L167"></a><tt class="py-lineno"> 167</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L168"></a><tt class="py-lineno"> 168</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L169"></a><tt class="py-lineno"> 169</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, the headers to add the Authorization header to.</tt> </tt>
-<a name="L170"></a><tt class="py-lineno"> 170</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L171"></a><tt class="py-lineno"> 171</tt>  <tt class="py-line">    <tt id="link-29" class="py-name"><a title="apiclient.model._abstract
-oauth2client.client._abstract" class="py-name" href="#" onclick="return doclink('link-29', '_abstract', 'link-26');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L172"></a><tt class="py-lineno"> 172</tt>  <tt class="py-line"> </tt>
-<a name="Credentials._to_json"></a><div id="Credentials._to_json-def"><a name="L173"></a><tt class="py-lineno"> 173</tt> <a class="py-toggle" href="#" id="Credentials._to_json-toggle" onclick="return toggle('Credentials._to_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.Credentials-class.html#_to_json">_to_json</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">strip</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Credentials._to_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Credentials._to_json-expanded"><a name="L174"></a><tt class="py-lineno"> 174</tt>  <tt class="py-line">    <tt class="py-docstring">"""Utility function that creates JSON repr. of a Credentials object.</tt> </tt>
-<a name="L175"></a><tt class="py-lineno"> 175</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L176"></a><tt class="py-lineno"> 176</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L177"></a><tt class="py-lineno"> 177</tt>  <tt class="py-line"><tt class="py-docstring">      strip: array, An array of names of members to not include in the JSON.</tt> </tt>
-<a name="L178"></a><tt class="py-lineno"> 178</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L179"></a><tt class="py-lineno"> 179</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L180"></a><tt class="py-lineno"> 180</tt>  <tt class="py-line"><tt class="py-docstring">       string, a JSON representation of this instance, suitable to pass to</tt> </tt>
-<a name="L181"></a><tt class="py-lineno"> 181</tt>  <tt class="py-line"><tt class="py-docstring">       from_json().</tt> </tt>
-<a name="L182"></a><tt class="py-lineno"> 182</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L183"></a><tt class="py-lineno"> 183</tt>  <tt class="py-line">    <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L184"></a><tt class="py-lineno"> 184</tt>  <tt class="py-line">    <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">)</tt> </tt>
-<a name="L185"></a><tt class="py-lineno"> 185</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">member</tt> <tt class="py-keyword">in</tt> <tt class="py-name">strip</tt><tt class="py-op">:</tt> </tt>
-<a name="L186"></a><tt class="py-lineno"> 186</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">member</tt> <tt class="py-keyword">in</tt> <tt class="py-name">d</tt><tt class="py-op">:</tt> </tt>
-<a name="L187"></a><tt class="py-lineno"> 187</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-name">member</tt><tt class="py-op">]</tt> </tt>
-<a name="L188"></a><tt class="py-lineno"> 188</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'token_expiry'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">d</tt> <tt class="py-keyword">and</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'token_expiry'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L189"></a><tt class="py-lineno"> 189</tt>  <tt class="py-line">      <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'token_expiry'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'token_expiry'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt id="link-30" class="py-name"><a title="oauth2client.client.EXPIRY_FORMAT" class="py-name" href="#" onclick="return doclink('link-30', 'EXPIRY_FORMAT', 'link-20');">EXPIRY_FORMAT</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L190"></a><tt class="py-lineno"> 190</tt>  <tt class="py-line">    <tt class="py-comment"># Add in information we will need later to reconsistitue this instance.</tt> </tt>
-<a name="L191"></a><tt class="py-lineno"> 191</tt>  <tt class="py-line">    <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_class'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt> </tt>
-<a name="L192"></a><tt class="py-lineno"> 192</tt>  <tt class="py-line">    <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_module'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">__module__</tt> </tt>
-<a name="L193"></a><tt class="py-lineno"> 193</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L194"></a><tt class="py-lineno"> 194</tt>  <tt class="py-line"> </tt>
-<a name="Credentials.to_json"></a><div id="Credentials.to_json-def"><a name="L195"></a><tt class="py-lineno"> 195</tt> <a class="py-toggle" href="#" id="Credentials.to_json-toggle" onclick="return toggle('Credentials.to_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.Credentials-class.html#to_json">to_json</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Credentials.to_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Credentials.to_json-expanded"><a name="L196"></a><tt class="py-lineno"> 196</tt>  <tt class="py-line">    <tt class="py-docstring">"""Creating a JSON representation of an instance of Credentials.</tt> </tt>
-<a name="L197"></a><tt class="py-lineno"> 197</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L198"></a><tt class="py-lineno"> 198</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L199"></a><tt class="py-lineno"> 199</tt>  <tt class="py-line"><tt class="py-docstring">       string, a JSON representation of this instance, suitable to pass to</tt> </tt>
-<a name="L200"></a><tt class="py-lineno"> 200</tt>  <tt class="py-line"><tt class="py-docstring">       from_json().</tt> </tt>
-<a name="L201"></a><tt class="py-lineno"> 201</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L202"></a><tt class="py-lineno"> 202</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method apiclient.http.MediaUpload._to_json()=apiclient.http.MediaUpload-class.html#_to_json,Method oauth2client.client.Credentials._to_json()=oauth2client.client.Credentials-class.html#_to_json"><a title="apiclient.http.MediaUpload._to_json
-oauth2client.client.Credentials._to_json" class="py-name" href="#" onclick="return doclink('link-31', '_to_json', 'link-31');">_to_json</a></tt><tt class="py-op">(</tt><tt id="link-32" class="py-name" targets="Class oauth2client.client.Credentials=oauth2client.client.Credentials-class.html"><a title="oauth2client.client.Credentials" class="py-name" href="#" onclick="return doclink('link-32', 'Credentials', 'link-32');">Credentials</a></tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS" class="py-name" href="#" onclick="return doclink('link-33', 'NON_SERIALIZED_MEMBERS', 'link-25');">NON_SERIALIZED_MEMBERS</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L203"></a><tt class="py-lineno"> 203</tt>  <tt class="py-line"> </tt>
-<a name="L204"></a><tt class="py-lineno"> 204</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">classmethod</tt> </tt>
-<a name="Credentials.new_from_json"></a><div id="Credentials.new_from_json-def"><a name="L205"></a><tt class="py-lineno"> 205</tt> <a class="py-toggle" href="#" id="Credentials.new_from_json-toggle" onclick="return toggle('Credentials.new_from_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.Credentials-class.html#new_from_json">new_from_json</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Credentials.new_from_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Credentials.new_from_json-expanded"><a name="L206"></a><tt class="py-lineno"> 206</tt>  <tt class="py-line">    <tt class="py-docstring">"""Utility class method to instantiate a Credentials subclass from a JSON</tt> </tt>
-<a name="L207"></a><tt class="py-lineno"> 207</tt>  <tt class="py-line"><tt class="py-docstring">    representation produced by to_json().</tt> </tt>
-<a name="L208"></a><tt class="py-lineno"> 208</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L209"></a><tt class="py-lineno"> 209</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L210"></a><tt class="py-lineno"> 210</tt>  <tt class="py-line"><tt class="py-docstring">      s: string, JSON from to_json().</tt> </tt>
-<a name="L211"></a><tt class="py-lineno"> 211</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L212"></a><tt class="py-lineno"> 212</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L213"></a><tt class="py-lineno"> 213</tt>  <tt class="py-line"><tt class="py-docstring">      An instance of the subclass of Credentials that was serialized with</tt> </tt>
-<a name="L214"></a><tt class="py-lineno"> 214</tt>  <tt class="py-line"><tt class="py-docstring">      to_json().</tt> </tt>
-<a name="L215"></a><tt class="py-lineno"> 215</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L216"></a><tt class="py-lineno"> 216</tt>  <tt class="py-line">    <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Function oauth2client.clientsecrets.loads()=oauth2client.clientsecrets-module.html#loads"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-34', 'loads', 'link-34');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L217"></a><tt class="py-lineno"> 217</tt>  <tt class="py-line">    <tt class="py-comment"># Find and call the right classmethod from_json() to restore the object.</tt> </tt>
-<a name="L218"></a><tt class="py-lineno"> 218</tt>  <tt class="py-line">    <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'_module'</tt><tt class="py-op">]</tt> </tt>
-<a name="L219"></a><tt class="py-lineno"> 219</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L220"></a><tt class="py-lineno"> 220</tt>  <tt class="py-line">      <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">)</tt> </tt>
-<a name="L221"></a><tt class="py-lineno"> 221</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L222"></a><tt class="py-lineno"> 222</tt>  <tt class="py-line">      <tt class="py-comment"># In case there's an object from the old package structure, update it</tt> </tt>
-<a name="L223"></a><tt class="py-lineno"> 223</tt>  <tt class="py-line">      <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt class="py-name">module</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'.apiclient'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-<a name="L224"></a><tt class="py-lineno"> 224</tt>  <tt class="py-line">      <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">)</tt> </tt>
-<a name="L225"></a><tt class="py-lineno"> 225</tt>  <tt class="py-line"> </tt>
-<a name="L226"></a><tt class="py-lineno"> 226</tt>  <tt class="py-line">    <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">fromlist</tt><tt class="py-op">=</tt><tt class="py-name">module</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L227"></a><tt class="py-lineno"> 227</tt>  <tt class="py-line">    <tt class="py-name">kls</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">,</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'_class'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L228"></a><tt class="py-lineno"> 228</tt>  <tt class="py-line">    <tt id="link-35" class="py-name" targets="Static Method apiclient.http.HttpRequest.from_json()=apiclient.http.HttpRequest-class.html#from_json,Static Method apiclient.http.MediaFileUpload.from_json()=apiclient.http.MediaFileUpload-class.html#from_json,Class Method oauth2client.appengine.AppAssertionCredentials.from_json()=oauth2client.appengine.AppAssertionCredentials-class.html#from_json,Class Method oauth2client.client.AccessTokenCredentials.from_json()=oauth2client.client.AccessTokenCredentials-class.html#from_json,Class Method oauth2client.client.Credentials.from_json()=oauth2client.client.Credentials-class.html#from_json,Class Method oauth2client.client.OAuth2Credentials.from_json()=oauth2client.client.OAuth2Credentials-class.html#from_json,Class Method oauth2client.client.SignedJwtAssertionCredentials.from_json()=oauth2client.client.SignedJwtAssertionCredentials-class.html#from_json,Class Method oauth2client.gce.AppAssertionCredentials.from_json()=oauth2client.gce.AppAssertionCredentials-class.html#from_json"><a title="apiclient.http.HttpRequest.from_json
-apiclient.http.MediaFileUpload.from_json
-oauth2client.appengine.AppAssertionCredentials.from_json
-oauth2client.client.AccessTokenCredentials.from_json
-oauth2client.client.Credentials.from_json
-oauth2client.client.OAuth2Credentials.from_json
-oauth2client.client.SignedJwtAssertionCredentials.from_json
-oauth2client.gce.AppAssertionCredentials.from_json" class="py-name" href="#" onclick="return doclink('link-35', 'from_json', 'link-35');">from_json</a></tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">kls</tt><tt class="py-op">,</tt> <tt class="py-string">'from_json'</tt><tt class="py-op">)</tt> </tt>
-<a name="L229"></a><tt class="py-lineno"> 229</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-36" class="py-name"><a title="apiclient.http.HttpRequest.from_json
-apiclient.http.MediaFileUpload.from_json
-oauth2client.appengine.AppAssertionCredentials.from_json
-oauth2client.client.AccessTokenCredentials.from_json
-oauth2client.client.Credentials.from_json
-oauth2client.client.OAuth2Credentials.from_json
-oauth2client.client.SignedJwtAssertionCredentials.from_json
-oauth2client.gce.AppAssertionCredentials.from_json" class="py-name" href="#" onclick="return doclink('link-36', 'from_json', 'link-35');">from_json</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L230"></a><tt class="py-lineno"> 230</tt>  <tt class="py-line"> </tt>
-<a name="L231"></a><tt class="py-lineno"> 231</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">classmethod</tt> </tt>
-<a name="Credentials.from_json"></a><div id="Credentials.from_json-def"><a name="L232"></a><tt class="py-lineno"> 232</tt> <a class="py-toggle" href="#" id="Credentials.from_json-toggle" onclick="return toggle('Credentials.from_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.Credentials-class.html#from_json">from_json</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Credentials.from_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Credentials.from_json-expanded"><a name="L233"></a><tt class="py-lineno"> 233</tt>  <tt class="py-line">    <tt class="py-docstring">"""Instantiate a Credentials object from a JSON description of it.</tt> </tt>
-<a name="L234"></a><tt class="py-lineno"> 234</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L235"></a><tt class="py-lineno"> 235</tt>  <tt class="py-line"><tt class="py-docstring">    The JSON should have been produced by calling .to_json() on the object.</tt> </tt>
-<a name="L236"></a><tt class="py-lineno"> 236</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line"><tt class="py-docstring">      data: dict, A deserialized JSON object.</tt> </tt>
-<a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line"><tt class="py-docstring">      An instance of a Credentials subclass.</tt> </tt>
-<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-37" class="py-name"><a title="oauth2client.client.Credentials" class="py-name" href="#" onclick="return doclink('link-37', 'Credentials', 'link-32');">Credentials</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L244"></a><tt class="py-lineno"> 244</tt>  <tt class="py-line"> </tt>
-<a name="Flow"></a><div id="Flow-def"><a name="L245"></a><tt class="py-lineno"> 245</tt>  <tt class="py-line"> </tt>
-<a name="L246"></a><tt class="py-lineno"> 246</tt> <a class="py-toggle" href="#" id="Flow-toggle" onclick="return toggle('Flow');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.client.Flow-class.html">Flow</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Flow-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="Flow-expanded"><a name="L247"></a><tt class="py-lineno"> 247</tt>  <tt class="py-line">  <tt class="py-docstring">"""Base class for all Flow objects."""</tt> </tt>
-<a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line"> </tt>
-<a name="Storage"></a><div id="Storage-def"><a name="L250"></a><tt class="py-lineno"> 250</tt>  <tt class="py-line"> </tt>
-<a name="L251"></a><tt class="py-lineno"> 251</tt> <a class="py-toggle" href="#" id="Storage-toggle" onclick="return toggle('Storage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.client.Storage-class.html">Storage</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="Storage-expanded"><a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">  <tt class="py-docstring">"""Base class for all Storage objects.</tt> </tt>
-<a name="L253"></a><tt class="py-lineno"> 253</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line"><tt class="py-docstring">  Store and retrieve a single credential. This class supports locking</tt> </tt>
-<a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line"><tt class="py-docstring">  such that multiple processes and threads can operate on a single</tt> </tt>
-<a name="L256"></a><tt class="py-lineno"> 256</tt>  <tt class="py-line"><tt class="py-docstring">  store.</tt> </tt>
-<a name="L257"></a><tt class="py-lineno"> 257</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line"> </tt>
-<a name="Storage.acquire_lock"></a><div id="Storage.acquire_lock-def"><a name="L259"></a><tt class="py-lineno"> 259</tt> <a class="py-toggle" href="#" id="Storage.acquire_lock-toggle" onclick="return toggle('Storage.acquire_lock');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.Storage-class.html#acquire_lock">acquire_lock</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.acquire_lock-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Storage.acquire_lock-expanded"><a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line">    <tt class="py-docstring">"""Acquires any lock necessary to access this Storage.</tt> </tt>
-<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line"><tt class="py-docstring">    This lock is not reentrant.</tt> </tt>
-<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line">    <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L265"></a><tt class="py-lineno"> 265</tt>  <tt class="py-line"> </tt>
-<a name="Storage.release_lock"></a><div id="Storage.release_lock-def"><a name="L266"></a><tt class="py-lineno"> 266</tt> <a class="py-toggle" href="#" id="Storage.release_lock-toggle" onclick="return toggle('Storage.release_lock');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.Storage-class.html#release_lock">release_lock</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.release_lock-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Storage.release_lock-expanded"><a name="L267"></a><tt class="py-lineno"> 267</tt>  <tt class="py-line">    <tt class="py-docstring">"""Release the Storage lock.</tt> </tt>
-<a name="L268"></a><tt class="py-lineno"> 268</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L269"></a><tt class="py-lineno"> 269</tt>  <tt class="py-line"><tt class="py-docstring">    Trying to release a lock that isn't held will result in a</tt> </tt>
-<a name="L270"></a><tt class="py-lineno"> 270</tt>  <tt class="py-line"><tt class="py-docstring">    RuntimeError.</tt> </tt>
-<a name="L271"></a><tt class="py-lineno"> 271</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L272"></a><tt class="py-lineno"> 272</tt>  <tt class="py-line">    <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line"> </tt>
-<a name="Storage.locked_get"></a><div id="Storage.locked_get-def"><a name="L274"></a><tt class="py-lineno"> 274</tt> <a class="py-toggle" href="#" id="Storage.locked_get-toggle" onclick="return toggle('Storage.locked_get');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.Storage-class.html#locked_get">locked_get</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.locked_get-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Storage.locked_get-expanded"><a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line">    <tt class="py-docstring">"""Retrieve credential.</tt> </tt>
-<a name="L276"></a><tt class="py-lineno"> 276</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L277"></a><tt class="py-lineno"> 277</tt>  <tt class="py-line"><tt class="py-docstring">    The Storage lock must be held when this is called.</tt> </tt>
-<a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L280"></a><tt class="py-lineno"> 280</tt>  <tt class="py-line"><tt class="py-docstring">      oauth2client.client.Credentials</tt> </tt>
-<a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line">    <tt id="link-38" class="py-name"><a title="apiclient.model._abstract
-oauth2client.client._abstract" class="py-name" href="#" onclick="return doclink('link-38', '_abstract', 'link-26');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line"> </tt>
-<a name="Storage.locked_put"></a><div id="Storage.locked_put-def"><a name="L284"></a><tt class="py-lineno"> 284</tt> <a class="py-toggle" href="#" id="Storage.locked_put-toggle" onclick="return toggle('Storage.locked_put');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.Storage-class.html#locked_put">locked_put</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">credentials</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.locked_put-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Storage.locked_put-expanded"><a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line">    <tt class="py-docstring">"""Write a credential.</tt> </tt>
-<a name="L286"></a><tt class="py-lineno"> 286</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line"><tt class="py-docstring">    The Storage lock must be held when this is called.</tt> </tt>
-<a name="L288"></a><tt class="py-lineno"> 288</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line"><tt class="py-docstring">      credentials: Credentials, the credentials to store.</tt> </tt>
-<a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line">    <tt id="link-39" class="py-name"><a title="apiclient.model._abstract
-oauth2client.client._abstract" class="py-name" href="#" onclick="return doclink('link-39', '_abstract', 'link-26');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line"> </tt>
-<a name="Storage.locked_delete"></a><div id="Storage.locked_delete-def"><a name="L294"></a><tt class="py-lineno"> 294</tt> <a class="py-toggle" href="#" id="Storage.locked_delete-toggle" onclick="return toggle('Storage.locked_delete');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.Storage-class.html#locked_delete">locked_delete</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.locked_delete-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Storage.locked_delete-expanded"><a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line">    <tt class="py-docstring">"""Delete a credential.</tt> </tt>
-<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line"><tt class="py-docstring">    The Storage lock must be held when this is called.</tt> </tt>
-<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line">    <tt id="link-40" class="py-name"><a title="apiclient.model._abstract
-oauth2client.client._abstract" class="py-name" href="#" onclick="return doclink('link-40', '_abstract', 'link-26');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L300"></a><tt class="py-lineno"> 300</tt>  <tt class="py-line"> </tt>
-<a name="Storage.get"></a><div id="Storage.get-def"><a name="L301"></a><tt class="py-lineno"> 301</tt> <a class="py-toggle" href="#" id="Storage.get-toggle" onclick="return toggle('Storage.get');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.Storage-class.html#get">get</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.get-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Storage.get-expanded"><a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line">    <tt class="py-docstring">"""Retrieve credential.</tt> </tt>
-<a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-line"><tt class="py-docstring">    The Storage lock must *not* be held when this is called.</tt> </tt>
-<a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L307"></a><tt class="py-lineno"> 307</tt>  <tt class="py-line"><tt class="py-docstring">      oauth2client.client.Credentials</tt> </tt>
-<a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L309"></a><tt class="py-lineno"> 309</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Method oauth2client.client.Storage.acquire_lock()=oauth2client.client.Storage-class.html#acquire_lock,Method oauth2client.file.Storage.acquire_lock()=oauth2client.file.Storage-class.html#acquire_lock,Method oauth2client.keyring_storage.Storage.acquire_lock()=oauth2client.keyring_storage.Storage-class.html#acquire_lock,Method oauth2client.multistore_file._MultiStore._Storage.acquire_lock()=oauth2client.multistore_file._MultiStore._Storage-class.html#acquire_lock"><a title="oauth2client.client.Storage.acquire_lock
-oauth2client.file.Storage.acquire_lock
-oauth2client.keyring_storage.Storage.acquire_lock
-oauth2client.multistore_file._MultiStore._Storage.acquire_lock" class="py-name" href="#" onclick="return doclink('link-41', 'acquire_lock', 'link-41');">acquire_lock</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L310"></a><tt class="py-lineno"> 310</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L311"></a><tt class="py-lineno"> 311</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Method oauth2client.appengine.StorageByKeyName.locked_get()=oauth2client.appengine.StorageByKeyName-class.html#locked_get,Method oauth2client.client.Storage.locked_get()=oauth2client.client.Storage-class.html#locked_get,Method oauth2client.django_orm.Storage.locked_get()=oauth2client.django_orm.Storage-class.html#locked_get,Method oauth2client.file.Storage.locked_get()=oauth2client.file.Storage-class.html#locked_get,Method oauth2client.keyring_storage.Storage.locked_get()=oauth2client.keyring_storage.Storage-class.html#locked_get,Method oauth2client.multistore_file._MultiStore._Storage.locked_get()=oauth2client.multistore_file._MultiStore._Storage-class.html#locked_get"><a title="oauth2client.appengine.StorageByKeyName.locked_get
-oauth2client.client.Storage.locked_get
-oauth2client.django_orm.Storage.locked_get
-oauth2client.file.Storage.locked_get
-oauth2client.keyring_storage.Storage.locked_get
-oauth2client.multistore_file._MultiStore._Storage.locked_get" class="py-name" href="#" onclick="return doclink('link-42', 'locked_get', 'link-42');">locked_get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line">    <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name" targets="Method oauth2client.client.Storage.release_lock()=oauth2client.client.Storage-class.html#release_lock,Method oauth2client.file.Storage.release_lock()=oauth2client.file.Storage-class.html#release_lock,Method oauth2client.keyring_storage.Storage.release_lock()=oauth2client.keyring_storage.Storage-class.html#release_lock,Method oauth2client.multistore_file._MultiStore._Storage.release_lock()=oauth2client.multistore_file._MultiStore._Storage-class.html#release_lock"><a title="oauth2client.client.Storage.release_lock
-oauth2client.file.Storage.release_lock
-oauth2client.keyring_storage.Storage.release_lock
-oauth2client.multistore_file._MultiStore._Storage.release_lock" class="py-name" href="#" onclick="return doclink('link-43', 'release_lock', 'link-43');">release_lock</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L314"></a><tt class="py-lineno"> 314</tt>  <tt class="py-line"> </tt>
-<a name="Storage.put"></a><div id="Storage.put-def"><a name="L315"></a><tt class="py-lineno"> 315</tt> <a class="py-toggle" href="#" id="Storage.put-toggle" onclick="return toggle('Storage.put');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.Storage-class.html#put">put</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">credentials</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.put-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Storage.put-expanded"><a name="L316"></a><tt class="py-lineno"> 316</tt>  <tt class="py-line">    <tt class="py-docstring">"""Write a credential.</tt> </tt>
-<a name="L317"></a><tt class="py-lineno"> 317</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L318"></a><tt class="py-lineno"> 318</tt>  <tt class="py-line"><tt class="py-docstring">    The Storage lock must be held when this is called.</tt> </tt>
-<a name="L319"></a><tt class="py-lineno"> 319</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L320"></a><tt class="py-lineno"> 320</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L321"></a><tt class="py-lineno"> 321</tt>  <tt class="py-line"><tt class="py-docstring">      credentials: Credentials, the credentials to store.</tt> </tt>
-<a name="L322"></a><tt class="py-lineno"> 322</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L323"></a><tt class="py-lineno"> 323</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="oauth2client.client.Storage.acquire_lock
-oauth2client.file.Storage.acquire_lock
-oauth2client.keyring_storage.Storage.acquire_lock
-oauth2client.multistore_file._MultiStore._Storage.acquire_lock" class="py-name" href="#" onclick="return doclink('link-44', 'acquire_lock', 'link-41');">acquire_lock</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L324"></a><tt class="py-lineno"> 324</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L325"></a><tt class="py-lineno"> 325</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="Method oauth2client.appengine.StorageByKeyName.locked_put()=oauth2client.appengine.StorageByKeyName-class.html#locked_put,Method oauth2client.client.Storage.locked_put()=oauth2client.client.Storage-class.html#locked_put,Method oauth2client.django_orm.Storage.locked_put()=oauth2client.django_orm.Storage-class.html#locked_put,Method oauth2client.file.Storage.locked_put()=oauth2client.file.Storage-class.html#locked_put,Method oauth2client.keyring_storage.Storage.locked_put()=oauth2client.keyring_storage.Storage-class.html#locked_put,Method oauth2client.multistore_file._MultiStore._Storage.locked_put()=oauth2client.multistore_file._MultiStore._Storage-class.html#locked_put"><a title="oauth2client.appengine.StorageByKeyName.locked_put
-oauth2client.client.Storage.locked_put
-oauth2client.django_orm.Storage.locked_put
-oauth2client.file.Storage.locked_put
-oauth2client.keyring_storage.Storage.locked_put
-oauth2client.multistore_file._MultiStore._Storage.locked_put" class="py-name" href="#" onclick="return doclink('link-45', 'locked_put', 'link-45');">locked_put</a></tt><tt class="py-op">(</tt><tt id="link-46" class="py-name" targets="Variable oauth2client.appengine.CredentialsModel.credentials=oauth2client.appengine.CredentialsModel-class.html#credentials,Variable oauth2client.appengine.CredentialsNDBModel.credentials=oauth2client.appengine.CredentialsNDBModel-class.html#credentials,Variable oauth2client.appengine.OAuth2Decorator.credentials=oauth2client.appengine.OAuth2Decorator-class.html#credentials"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-46', 'credentials', 'link-46');">credentials</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line">    <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L327"></a><tt class="py-lineno"> 327</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="oauth2client.client.Storage.release_lock
-oauth2client.file.Storage.release_lock
-oauth2client.keyring_storage.Storage.release_lock
-oauth2client.multistore_file._MultiStore._Storage.release_lock" class="py-name" href="#" onclick="return doclink('link-47', 'release_lock', 'link-43');">release_lock</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L328"></a><tt class="py-lineno"> 328</tt>  <tt class="py-line"> </tt>
-<a name="Storage.delete"></a><div id="Storage.delete-def"><a name="L329"></a><tt class="py-lineno"> 329</tt> <a class="py-toggle" href="#" id="Storage.delete-toggle" onclick="return toggle('Storage.delete');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.Storage-class.html#delete">delete</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.delete-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Storage.delete-expanded"><a name="L330"></a><tt class="py-lineno"> 330</tt>  <tt class="py-line">    <tt class="py-docstring">"""Delete credential.</tt> </tt>
-<a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L332"></a><tt class="py-lineno"> 332</tt>  <tt class="py-line"><tt class="py-docstring">    Frees any resources associated with storing the credential.</tt> </tt>
-<a name="L333"></a><tt class="py-lineno"> 333</tt>  <tt class="py-line"><tt class="py-docstring">    The Storage lock must *not* be held when this is called.</tt> </tt>
-<a name="L334"></a><tt class="py-lineno"> 334</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L335"></a><tt class="py-lineno"> 335</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L336"></a><tt class="py-lineno"> 336</tt>  <tt class="py-line"><tt class="py-docstring">      None</tt> </tt>
-<a name="L337"></a><tt class="py-lineno"> 337</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L338"></a><tt class="py-lineno"> 338</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="oauth2client.client.Storage.acquire_lock
-oauth2client.file.Storage.acquire_lock
-oauth2client.keyring_storage.Storage.acquire_lock
-oauth2client.multistore_file._MultiStore._Storage.acquire_lock" class="py-name" href="#" onclick="return doclink('link-48', 'acquire_lock', 'link-41');">acquire_lock</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L340"></a><tt class="py-lineno"> 340</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name" targets="Method oauth2client.appengine.StorageByKeyName.locked_delete()=oauth2client.appengine.StorageByKeyName-class.html#locked_delete,Method oauth2client.client.Storage.locked_delete()=oauth2client.client.Storage-class.html#locked_delete,Method oauth2client.django_orm.Storage.locked_delete()=oauth2client.django_orm.Storage-class.html#locked_delete,Method oauth2client.file.Storage.locked_delete()=oauth2client.file.Storage-class.html#locked_delete,Method oauth2client.keyring_storage.Storage.locked_delete()=oauth2client.keyring_storage.Storage-class.html#locked_delete,Method oauth2client.multistore_file._MultiStore._Storage.locked_delete()=oauth2client.multistore_file._MultiStore._Storage-class.html#locked_delete"><a title="oauth2client.appengine.StorageByKeyName.locked_delete
-oauth2client.client.Storage.locked_delete
-oauth2client.django_orm.Storage.locked_delete
-oauth2client.file.Storage.locked_delete
-oauth2client.keyring_storage.Storage.locked_delete
-oauth2client.multistore_file._MultiStore._Storage.locked_delete" class="py-name" href="#" onclick="return doclink('link-49', 'locked_delete', 'link-49');">locked_delete</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L341"></a><tt class="py-lineno"> 341</tt>  <tt class="py-line">    <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="oauth2client.client.Storage.release_lock
-oauth2client.file.Storage.release_lock
-oauth2client.keyring_storage.Storage.release_lock
-oauth2client.multistore_file._MultiStore._Storage.release_lock" class="py-name" href="#" onclick="return doclink('link-50', 'release_lock', 'link-43');">release_lock</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L343"></a><tt class="py-lineno"> 343</tt>  <tt class="py-line"> </tt>
-<a name="clean_headers"></a><div id="clean_headers-def"><a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line"> </tt>
-<a name="L345"></a><tt class="py-lineno"> 345</tt> <a class="py-toggle" href="#" id="clean_headers-toggle" onclick="return toggle('clean_headers');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client-module.html#clean_headers">clean_headers</a><tt class="py-op">(</tt><tt class="py-param">headers</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="clean_headers-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="clean_headers-expanded"><a name="L346"></a><tt class="py-lineno"> 346</tt>  <tt class="py-line">  <tt class="py-docstring">"""Forces header keys and values to be strings, i.e not unicode.</tt> </tt>
-<a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line"><tt class="py-docstring">  The httplib module just concats the header keys and values in a way that may</tt> </tt>
-<a name="L349"></a><tt class="py-lineno"> 349</tt>  <tt class="py-line"><tt class="py-docstring">  make the message header a unicode string, which, if it then tries to</tt> </tt>
-<a name="L350"></a><tt class="py-lineno"> 350</tt>  <tt class="py-line"><tt class="py-docstring">  contatenate to a binary request body may result in a unicode decode error.</tt> </tt>
-<a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L352"></a><tt class="py-lineno"> 352</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L353"></a><tt class="py-lineno"> 353</tt>  <tt class="py-line"><tt class="py-docstring">    headers: dict, A dictionary of headers.</tt> </tt>
-<a name="L354"></a><tt class="py-lineno"> 354</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L355"></a><tt class="py-lineno"> 355</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L356"></a><tt class="py-lineno"> 356</tt>  <tt class="py-line"><tt class="py-docstring">    The same dictionary but with all the keys converted to strings.</tt> </tt>
-<a name="L357"></a><tt class="py-lineno"> 357</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L358"></a><tt class="py-lineno"> 358</tt>  <tt class="py-line">  <tt class="py-name">clean</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line">  <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L360"></a><tt class="py-lineno"> 360</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">k</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line">      <tt class="py-name">clean</tt><tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">k</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">v</tt><tt class="py-op">)</tt> </tt>
-<a name="L362"></a><tt class="py-lineno"> 362</tt>  <tt class="py-line">  <tt class="py-keyword">except</tt> <tt class="py-name">UnicodeEncodeError</tt><tt class="py-op">:</tt> </tt>
-<a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-51" class="py-name" targets="Class oauth2client.client.NonAsciiHeaderError=oauth2client.client.NonAsciiHeaderError-class.html"><a title="oauth2client.client.NonAsciiHeaderError" class="py-name" href="#" onclick="return doclink('link-51', 'NonAsciiHeaderError', 'link-51');">NonAsciiHeaderError</a></tt><tt class="py-op">(</tt><tt class="py-name">k</tt> <tt class="py-op">+</tt> <tt class="py-string">': '</tt> <tt class="py-op">+</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> </tt>
-<a name="L364"></a><tt class="py-lineno"> 364</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">clean</tt> </tt>
-</div><a name="L365"></a><tt class="py-lineno"> 365</tt>  <tt class="py-line"> </tt>
-<a name="_update_query_params"></a><div id="_update_query_params-def"><a name="L366"></a><tt class="py-lineno"> 366</tt>  <tt class="py-line"> </tt>
-<a name="L367"></a><tt class="py-lineno"> 367</tt> <a class="py-toggle" href="#" id="_update_query_params-toggle" onclick="return toggle('_update_query_params');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client-module.html#_update_query_params">_update_query_params</a><tt class="py-op">(</tt><tt class="py-param">uri</tt><tt class="py-op">,</tt> <tt class="py-param">params</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_update_query_params-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_update_query_params-expanded"><a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line">  <tt class="py-docstring">"""Updates a URI with new query parameters.</tt> </tt>
-<a name="L369"></a><tt class="py-lineno"> 369</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line"><tt class="py-docstring">    uri: string, A valid URI, with potential existing query parameters.</tt> </tt>
-<a name="L372"></a><tt class="py-lineno"> 372</tt>  <tt class="py-line"><tt class="py-docstring">    params: dict, A dictionary of query parameters.</tt> </tt>
-<a name="L373"></a><tt class="py-lineno"> 373</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L375"></a><tt class="py-lineno"> 375</tt>  <tt class="py-line"><tt class="py-docstring">    The same URI but with the new query parameters added.</tt> </tt>
-<a name="L376"></a><tt class="py-lineno"> 376</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line">  <tt class="py-name">parts</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlparse</tt><tt class="py-op">(</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L378"></a><tt class="py-lineno"> 378</tt>  <tt class="py-line">  <tt id="link-52" class="py-name" targets="Variable oauth2client.tools.ClientRedirectServer.query_params=oauth2client.tools.ClientRedirectServer-class.html#query_params"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-52', 'query_params', 'link-52');">query_params</a></tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">parse_qsl</tt><tt class="py-op">(</tt><tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-comment"># 4 is the index of the query part</tt> </tt>
-<a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line">  <tt id="link-53" class="py-name"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-53', 'query_params', 'link-52');">query_params</a></tt><tt class="py-op">.</tt><tt id="link-54" class="py-name" targets="Method apiclient.channel.Channel.update()=apiclient.channel.Channel-class.html#update"><a title="apiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-54', 'update', 'link-54');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
-<a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line">  <tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt id="link-55" class="py-name"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-55', 'query_params', 'link-52');">query_params</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L381"></a><tt class="py-lineno"> 381</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlunparse</tt><tt class="py-op">(</tt><tt class="py-name">parts</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L382"></a><tt class="py-lineno"> 382</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Credentials"></a><div id="OAuth2Credentials-def"><a name="L383"></a><tt class="py-lineno"> 383</tt>  <tt class="py-line"> </tt>
-<a name="L384"></a><tt class="py-lineno"> 384</tt> <a class="py-toggle" href="#" id="OAuth2Credentials-toggle" onclick="return toggle('OAuth2Credentials');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a><tt class="py-op">(</tt><tt class="py-base-class">Credentials</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="OAuth2Credentials-expanded"><a name="L385"></a><tt class="py-lineno"> 385</tt>  <tt class="py-line">  <tt class="py-docstring">"""Credentials object for OAuth 2.0.</tt> </tt>
-<a name="L386"></a><tt class="py-lineno"> 386</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line"><tt class="py-docstring">  Credentials can be applied to an httplib2.Http object using the authorize()</tt> </tt>
-<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line"><tt class="py-docstring">  method, which then adds the OAuth 2.0 access token to each request.</tt> </tt>
-<a name="L389"></a><tt class="py-lineno"> 389</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L390"></a><tt class="py-lineno"> 390</tt>  <tt class="py-line"><tt class="py-docstring">  OAuth2Credentials objects may be safely pickled and unpickled.</tt> </tt>
-<a name="L391"></a><tt class="py-lineno"> 391</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L392"></a><tt class="py-lineno"> 392</tt>  <tt class="py-line"> </tt>
-<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Function oauth2client.util.positional()=oauth2client.util-module.html#positional"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-56', 'positional', 'link-56');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">8</tt><tt class="py-op">)</tt> </tt>
-<a name="OAuth2Credentials.__init__"></a><div id="OAuth2Credentials.__init__-def"><a name="L394"></a><tt class="py-lineno"> 394</tt> <a class="py-toggle" href="#" id="OAuth2Credentials.__init__-toggle" onclick="return toggle('OAuth2Credentials.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">access_token</tt><tt class="py-op">,</tt> <tt class="py-param">client_id</tt><tt class="py-op">,</tt> <tt class="py-param">client_secret</tt><tt class="py-op">,</tt> <tt class="py-param">refresh_token</tt><tt class="py-op">,</tt> </tt>
-<a name="L395"></a><tt class="py-lineno"> 395</tt>  <tt class="py-line">               <tt class="py-param">token_expiry</tt><tt class="py-op">,</tt> <tt class="py-param">token_uri</tt><tt class="py-op">,</tt> <tt class="py-param">user_agent</tt><tt class="py-op">,</tt> <tt class="py-param">revoke_uri</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L396"></a><tt class="py-lineno"> 396</tt>  <tt class="py-line">               <tt class="py-param">id_token</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">token_response</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2Credentials.__init__-expanded"><a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create an instance of OAuth2Credentials.</tt> </tt>
-<a name="L398"></a><tt class="py-lineno"> 398</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L399"></a><tt class="py-lineno"> 399</tt>  <tt class="py-line"><tt class="py-docstring">    This constructor is not usually called by the user, instead</tt> </tt>
-<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line"><tt class="py-docstring">    OAuth2Credentials objects are instantiated by the OAuth2WebServerFlow.</tt> </tt>
-<a name="L401"></a><tt class="py-lineno"> 401</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L402"></a><tt class="py-lineno"> 402</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L403"></a><tt class="py-lineno"> 403</tt>  <tt class="py-line"><tt class="py-docstring">      access_token: string, access token.</tt> </tt>
-<a name="L404"></a><tt class="py-lineno"> 404</tt>  <tt class="py-line"><tt class="py-docstring">      client_id: string, client identifier.</tt> </tt>
-<a name="L405"></a><tt class="py-lineno"> 405</tt>  <tt class="py-line"><tt class="py-docstring">      client_secret: string, client secret.</tt> </tt>
-<a name="L406"></a><tt class="py-lineno"> 406</tt>  <tt class="py-line"><tt class="py-docstring">      refresh_token: string, refresh token.</tt> </tt>
-<a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line"><tt class="py-docstring">      token_expiry: datetime, when the access_token expires.</tt> </tt>
-<a name="L408"></a><tt class="py-lineno"> 408</tt>  <tt class="py-line"><tt class="py-docstring">      token_uri: string, URI of token endpoint.</tt> </tt>
-<a name="L409"></a><tt class="py-lineno"> 409</tt>  <tt class="py-line"><tt class="py-docstring">      user_agent: string, The HTTP User-Agent to provide for this application.</tt> </tt>
-<a name="L410"></a><tt class="py-lineno"> 410</tt>  <tt class="py-line"><tt class="py-docstring">      revoke_uri: string, URI for revoke endpoint. Defaults to None; a token</tt> </tt>
-<a name="L411"></a><tt class="py-lineno"> 411</tt>  <tt class="py-line"><tt class="py-docstring">        can't be revoked if this is None.</tt> </tt>
-<a name="L412"></a><tt class="py-lineno"> 412</tt>  <tt class="py-line"><tt class="py-docstring">      id_token: object, The identity of the resource owner.</tt> </tt>
-<a name="L413"></a><tt class="py-lineno"> 413</tt>  <tt class="py-line"><tt class="py-docstring">      token_response: dict, the decoded response to the token request. None</tt> </tt>
-<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line"><tt class="py-docstring">        if a token hasn't been requested yet. Stored because some providers</tt> </tt>
-<a name="L415"></a><tt class="py-lineno"> 415</tt>  <tt class="py-line"><tt class="py-docstring">        (e.g. wordpress.com) include extra fields that clients may want.</tt> </tt>
-<a name="L416"></a><tt class="py-lineno"> 416</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L417"></a><tt class="py-lineno"> 417</tt>  <tt class="py-line"><tt class="py-docstring">    Notes:</tt> </tt>
-<a name="L418"></a><tt class="py-lineno"> 418</tt>  <tt class="py-line"><tt class="py-docstring">      store: callable, A callable that when passed a Credential</tt> </tt>
-<a name="L419"></a><tt class="py-lineno"> 419</tt>  <tt class="py-line"><tt class="py-docstring">        will store the credential back to where it came from.</tt> </tt>
-<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line"><tt class="py-docstring">        This is needed to store the latest access_token if it</tt> </tt>
-<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line"><tt class="py-docstring">        has expired and been refreshed.</tt> </tt>
-<a name="L422"></a><tt class="py-lineno"> 422</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">access_token</tt> <tt class="py-op">=</tt> <tt class="py-name">access_token</tt> </tt>
-<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_id</tt> <tt class="py-op">=</tt> <tt class="py-name">client_id</tt> </tt>
-<a name="L425"></a><tt class="py-lineno"> 425</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_secret</tt> <tt class="py-op">=</tt> <tt class="py-name">client_secret</tt> </tt>
-<a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">refresh_token</tt> <tt class="py-op">=</tt> <tt class="py-name">refresh_token</tt> </tt>
-<a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">store</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L428"></a><tt class="py-lineno"> 428</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">token_expiry</tt> <tt class="py-op">=</tt> <tt class="py-name">token_expiry</tt> </tt>
-<a name="L429"></a><tt class="py-lineno"> 429</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">token_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">token_uri</tt> </tt>
-<a name="L430"></a><tt class="py-lineno"> 430</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_agent</tt> <tt class="py-op">=</tt> <tt class="py-name">user_agent</tt> </tt>
-<a name="L431"></a><tt class="py-lineno"> 431</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">revoke_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">revoke_uri</tt> </tt>
-<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">id_token</tt> <tt class="py-op">=</tt> <tt class="py-name">id_token</tt> </tt>
-<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">token_response</tt> <tt class="py-op">=</tt> <tt class="py-name">token_response</tt> </tt>
-<a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line"> </tt>
-<a name="L435"></a><tt class="py-lineno"> 435</tt>  <tt class="py-line">    <tt class="py-comment"># True if the credentials have been revoked or expired and can't be</tt> </tt>
-<a name="L436"></a><tt class="py-lineno"> 436</tt>  <tt class="py-line">    <tt class="py-comment"># refreshed.</tt> </tt>
-<a name="L437"></a><tt class="py-lineno"> 437</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">invalid</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L438"></a><tt class="py-lineno"> 438</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Credentials.authorize"></a><div id="OAuth2Credentials.authorize-def"><a name="L439"></a><tt class="py-lineno"> 439</tt> <a class="py-toggle" href="#" id="OAuth2Credentials.authorize-toggle" onclick="return toggle('OAuth2Credentials.authorize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html#authorize">authorize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials.authorize-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2Credentials.authorize-expanded"><a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line">    <tt class="py-docstring">"""Authorize an httplib2.Http instance with these credentials.</tt> </tt>
-<a name="L441"></a><tt class="py-lineno"> 441</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line"><tt class="py-docstring">    The modified http.request method will add authentication headers to each</tt> </tt>
-<a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line"><tt class="py-docstring">    request and will refresh access_tokens when a 401 is received on a</tt> </tt>
-<a name="L444"></a><tt class="py-lineno"> 444</tt>  <tt class="py-line"><tt class="py-docstring">    request. In addition the http.request method has a credentials property,</tt> </tt>
-<a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line"><tt class="py-docstring">    http.request.credentials, which is the Credentials object that authorized</tt> </tt>
-<a name="L446"></a><tt class="py-lineno"> 446</tt>  <tt class="py-line"><tt class="py-docstring">    it.</tt> </tt>
-<a name="L447"></a><tt class="py-lineno"> 447</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L448"></a><tt class="py-lineno"> 448</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L449"></a><tt class="py-lineno"> 449</tt>  <tt class="py-line"><tt class="py-docstring">       http: An instance of httplib2.Http</tt> </tt>
-<a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line"><tt class="py-docstring">         or something that acts like it.</tt> </tt>
-<a name="L451"></a><tt class="py-lineno"> 451</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L452"></a><tt class="py-lineno"> 452</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L453"></a><tt class="py-lineno"> 453</tt>  <tt class="py-line"><tt class="py-docstring">       A modified instance of http that was passed in.</tt> </tt>
-<a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line"><tt class="py-docstring">    Example:</tt> </tt>
-<a name="L456"></a><tt class="py-lineno"> 456</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L457"></a><tt class="py-lineno"> 457</tt>  <tt class="py-line"><tt class="py-docstring">      h = httplib2.Http()</tt> </tt>
-<a name="L458"></a><tt class="py-lineno"> 458</tt>  <tt class="py-line"><tt class="py-docstring">      h = credentials.authorize(h)</tt> </tt>
-<a name="L459"></a><tt class="py-lineno"> 459</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line"><tt class="py-docstring">    You can't create a new OAuth subclass of httplib2.Authenication</tt> </tt>
-<a name="L461"></a><tt class="py-lineno"> 461</tt>  <tt class="py-line"><tt class="py-docstring">    because it never gets passed the absolute URI, which is needed for</tt> </tt>
-<a name="L462"></a><tt class="py-lineno"> 462</tt>  <tt class="py-line"><tt class="py-docstring">    signing. So instead we have to overload 'request' with a closure</tt> </tt>
-<a name="L463"></a><tt class="py-lineno"> 463</tt>  <tt class="py-line"><tt class="py-docstring">    that adds in the Authorization header and then calls the original</tt> </tt>
-<a name="L464"></a><tt class="py-lineno"> 464</tt>  <tt class="py-line"><tt class="py-docstring">    version of 'request()'.</tt> </tt>
-<a name="L465"></a><tt class="py-lineno"> 465</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L466"></a><tt class="py-lineno"> 466</tt>  <tt class="py-line">    <tt class="py-name">request_orig</tt> <tt class="py-op">=</tt> <tt id="link-57" class="py-name" targets="Module apiclient.http=apiclient.http-module.html,Method oauth2client.appengine.OAuth2Decorator.http()=oauth2client.appengine.OAuth2Decorator-class.html#http"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-57', 'http', 'link-57');">http</a></tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Method apiclient.http.HttpMock.request()=apiclient.http.HttpMock-class.html#request,Method apiclient.http.HttpMockSequence.request()=apiclient.http.HttpMockSequence-class.html#request,Method apiclient.model.BaseModel.request()=apiclient.model.BaseModel-class.html#request,Method apiclient.model.Model.request()=apiclient.model.Model-class.html#request"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-58', 'request', 'link-58');">request</a></tt> </tt>
-<a name="L467"></a><tt class="py-lineno"> 467</tt>  <tt class="py-line"> </tt>
-<a name="L468"></a><tt class="py-lineno"> 468</tt>  <tt class="py-line">    <tt class="py-comment"># The closure that will replace 'httplib2.Http.request'.</tt> </tt>
-<a name="L469"></a><tt class="py-lineno"> 469</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-59', 'positional', 'link-56');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line">    <tt class="py-keyword">def</tt> <tt class="py-def-name">new_request</tt><tt class="py-op">(</tt><tt class="py-param">uri</tt><tt class="py-op">,</tt> <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L471"></a><tt class="py-lineno"> 471</tt>  <tt class="py-line">                    <tt class="py-param">redirections</tt><tt class="py-op">=</tt><tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">DEFAULT_MAX_REDIRECTS</tt><tt class="py-op">,</tt> </tt>
-<a name="L472"></a><tt class="py-lineno"> 472</tt>  <tt class="py-line">                    <tt class="py-param">connection_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L473"></a><tt class="py-lineno"> 473</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">access_token</tt><tt class="py-op">:</tt> </tt>
-<a name="L474"></a><tt class="py-lineno"> 474</tt>  <tt class="py-line">        <tt id="link-60" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-60', 'logger', 'link-19');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Attempting refresh to obtain initial access_token'</tt><tt class="py-op">)</tt> </tt>
-<a name="L475"></a><tt class="py-lineno"> 475</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name" targets="Method oauth2client.appengine.AppAssertionCredentials._refresh()=oauth2client.appengine.AppAssertionCredentials-class.html#_refresh,Method oauth2client.client.AccessTokenCredentials._refresh()=oauth2client.client.AccessTokenCredentials-class.html#_refresh,Method oauth2client.client.OAuth2Credentials._refresh()=oauth2client.client.OAuth2Credentials-class.html#_refresh,Method oauth2client.gce.AppAssertionCredentials._refresh()=oauth2client.gce.AppAssertionCredentials-class.html#_refresh"><a title="oauth2client.appengine.AppAssertionCredentials._refresh
-oauth2client.client.AccessTokenCredentials._refresh
-oauth2client.client.OAuth2Credentials._refresh
-oauth2client.gce.AppAssertionCredentials._refresh" class="py-name" href="#" onclick="return doclink('link-61', '_refresh', 'link-61');">_refresh</a></tt><tt class="py-op">(</tt><tt class="py-name">request_orig</tt><tt class="py-op">)</tt> </tt>
-<a name="L476"></a><tt class="py-lineno"> 476</tt>  <tt class="py-line"> </tt>
-<a name="L477"></a><tt class="py-lineno"> 477</tt>  <tt class="py-line">      <tt class="py-comment"># Modify the request headers to add the appropriate</tt> </tt>
-<a name="L478"></a><tt class="py-lineno"> 478</tt>  <tt class="py-line">      <tt class="py-comment"># Authorization header.</tt> </tt>
-<a name="L479"></a><tt class="py-lineno"> 479</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">headers</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line">        <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L481"></a><tt class="py-lineno"> 481</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name" targets="Method oauth2client.client.Credentials.apply()=oauth2client.client.Credentials-class.html#apply,Method oauth2client.client.OAuth2Credentials.apply()=oauth2client.client.OAuth2Credentials-class.html#apply"><a title="oauth2client.client.Credentials.apply
-oauth2client.client.OAuth2Credentials.apply" class="py-name" href="#" onclick="return doclink('link-62', 'apply', 'link-62');">apply</a></tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L482"></a><tt class="py-lineno"> 482</tt>  <tt class="py-line"> </tt>
-<a name="L483"></a><tt class="py-lineno"> 483</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_agent</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'user-agent'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
-<a name="L485"></a><tt class="py-lineno"> 485</tt>  <tt class="py-line">          <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_agent</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> <tt class="py-op">+</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> </tt>
-<a name="L486"></a><tt class="py-lineno"> 486</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line">          <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_agent</tt> </tt>
-<a name="L488"></a><tt class="py-lineno"> 488</tt>  <tt class="py-line"> </tt>
-<a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">request_orig</tt><tt class="py-op">(</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">,</tt> <tt id="link-63" class="py-name" targets="Method apiclient.channel.Channel.body()=apiclient.channel.Channel-class.html#body"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-63', 'body', 'link-63');">body</a></tt><tt class="py-op">,</tt> <tt id="link-64" class="py-name" targets="Function oauth2client.client.clean_headers()=oauth2client.client-module.html#clean_headers"><a title="oauth2client.client.clean_headers" class="py-name" href="#" onclick="return doclink('link-64', 'clean_headers', 'link-64');">clean_headers</a></tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L490"></a><tt class="py-lineno"> 490</tt>  <tt class="py-line">                                   <tt class="py-name">redirections</tt><tt class="py-op">,</tt> <tt class="py-name">connection_type</tt><tt class="py-op">)</tt> </tt>
-<a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line"> </tt>
-<a name="L492"></a><tt class="py-lineno"> 492</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-keyword">in</tt> <tt id="link-65" class="py-name"><a title="oauth2client.client.REFRESH_STATUS_CODES" class="py-name" href="#" onclick="return doclink('link-65', 'REFRESH_STATUS_CODES', 'link-23');">REFRESH_STATUS_CODES</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L493"></a><tt class="py-lineno"> 493</tt>  <tt class="py-line">        <tt id="link-66" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-66', 'logger', 'link-19');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Refreshing due to a %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L494"></a><tt class="py-lineno"> 494</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="oauth2client.appengine.AppAssertionCredentials._refresh
-oauth2client.client.AccessTokenCredentials._refresh
-oauth2client.client.OAuth2Credentials._refresh
-oauth2client.gce.AppAssertionCredentials._refresh" class="py-name" href="#" onclick="return doclink('link-67', '_refresh', 'link-61');">_refresh</a></tt><tt class="py-op">(</tt><tt class="py-name">request_orig</tt><tt class="py-op">)</tt> </tt>
-<a name="L495"></a><tt class="py-lineno"> 495</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="oauth2client.client.Credentials.apply
-oauth2client.client.OAuth2Credentials.apply" class="py-name" href="#" onclick="return doclink('link-68', 'apply', 'link-62');">apply</a></tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">request_orig</tt><tt class="py-op">(</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">,</tt> <tt id="link-69" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-69', 'body', 'link-63');">body</a></tt><tt class="py-op">,</tt> <tt id="link-70" class="py-name"><a title="oauth2client.client.clean_headers" class="py-name" href="#" onclick="return doclink('link-70', 'clean_headers', 'link-64');">clean_headers</a></tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L497"></a><tt class="py-lineno"> 497</tt>  <tt class="py-line">                            <tt class="py-name">redirections</tt><tt class="py-op">,</tt> <tt class="py-name">connection_type</tt><tt class="py-op">)</tt> </tt>
-<a name="L498"></a><tt class="py-lineno"> 498</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L499"></a><tt class="py-lineno"> 499</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line"> </tt>
-<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line">    <tt class="py-comment"># Replace the request method with our own closure.</tt> </tt>
-<a name="L502"></a><tt class="py-lineno"> 502</tt>  <tt class="py-line">    <tt id="link-71" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-71', 'http', 'link-57');">http</a></tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-72', 'request', 'link-58');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_request</tt> </tt>
-<a name="L503"></a><tt class="py-lineno"> 503</tt>  <tt class="py-line"> </tt>
-<a name="L504"></a><tt class="py-lineno"> 504</tt>  <tt class="py-line">    <tt class="py-comment"># Set credentials as a property of the request method.</tt> </tt>
-<a name="L505"></a><tt class="py-lineno"> 505</tt>  <tt class="py-line">    <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt id="link-73" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-73', 'http', 'link-57');">http</a></tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-74', 'request', 'link-58');">request</a></tt><tt class="py-op">,</tt> <tt class="py-string">'credentials'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line"> </tt>
-<a name="L507"></a><tt class="py-lineno"> 507</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-75" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-75', 'http', 'link-57');">http</a></tt> </tt>
-</div><a name="L508"></a><tt class="py-lineno"> 508</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Credentials.refresh"></a><div id="OAuth2Credentials.refresh-def"><a name="L509"></a><tt class="py-lineno"> 509</tt> <a class="py-toggle" href="#" id="OAuth2Credentials.refresh-toggle" onclick="return toggle('OAuth2Credentials.refresh');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html#refresh">refresh</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials.refresh-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2Credentials.refresh-expanded"><a name="L510"></a><tt class="py-lineno"> 510</tt>  <tt class="py-line">    <tt class="py-docstring">"""Forces a refresh of the access_token.</tt> </tt>
-<a name="L511"></a><tt class="py-lineno"> 511</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L512"></a><tt class="py-lineno"> 512</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used to make the refresh</tt> </tt>
-<a name="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line"><tt class="py-docstring">        request.</tt> </tt>
-<a name="L515"></a><tt class="py-lineno"> 515</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L516"></a><tt class="py-lineno"> 516</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="oauth2client.appengine.AppAssertionCredentials._refresh
-oauth2client.client.AccessTokenCredentials._refresh
-oauth2client.client.OAuth2Credentials._refresh
-oauth2client.gce.AppAssertionCredentials._refresh" class="py-name" href="#" onclick="return doclink('link-76', '_refresh', 'link-61');">_refresh</a></tt><tt class="py-op">(</tt><tt id="link-77" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-77', 'http', 'link-57');">http</a></tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-78', 'request', 'link-58');">request</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L517"></a><tt class="py-lineno"> 517</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Credentials.revoke"></a><div id="OAuth2Credentials.revoke-def"><a name="L518"></a><tt class="py-lineno"> 518</tt> <a class="py-toggle" href="#" id="OAuth2Credentials.revoke-toggle" onclick="return toggle('OAuth2Credentials.revoke');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html#revoke">revoke</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials.revoke-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2Credentials.revoke-expanded"><a name="L519"></a><tt class="py-lineno"> 519</tt>  <tt class="py-line">    <tt class="py-docstring">"""Revokes a refresh_token and makes the credentials void.</tt> </tt>
-<a name="L520"></a><tt class="py-lineno"> 520</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L521"></a><tt class="py-lineno"> 521</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L522"></a><tt class="py-lineno"> 522</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used to make the revoke</tt> </tt>
-<a name="L523"></a><tt class="py-lineno"> 523</tt>  <tt class="py-line"><tt class="py-docstring">        request.</tt> </tt>
-<a name="L524"></a><tt class="py-lineno"> 524</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L525"></a><tt class="py-lineno"> 525</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name" targets="Method oauth2client.client.AccessTokenCredentials._revoke()=oauth2client.client.AccessTokenCredentials-class.html#_revoke,Method oauth2client.client.AssertionCredentials._revoke()=oauth2client.client.AssertionCredentials-class.html#_revoke,Method oauth2client.client.OAuth2Credentials._revoke()=oauth2client.client.OAuth2Credentials-class.html#_revoke"><a title="oauth2client.client.AccessTokenCredentials._revoke
-oauth2client.client.AssertionCredentials._revoke
-oauth2client.client.OAuth2Credentials._revoke" class="py-name" href="#" onclick="return doclink('link-79', '_revoke', 'link-79');">_revoke</a></tt><tt class="py-op">(</tt><tt id="link-80" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-80', 'http', 'link-57');">http</a></tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-81', 'request', 'link-58');">request</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L526"></a><tt class="py-lineno"> 526</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Credentials.apply"></a><div id="OAuth2Credentials.apply-def"><a name="L527"></a><tt class="py-lineno"> 527</tt> <a class="py-toggle" href="#" id="OAuth2Credentials.apply-toggle" onclick="return toggle('OAuth2Credentials.apply');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html#apply">apply</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials.apply-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2Credentials.apply-expanded"><a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line">    <tt class="py-docstring">"""Add the authorization to the headers.</tt> </tt>
-<a name="L529"></a><tt class="py-lineno"> 529</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L530"></a><tt class="py-lineno"> 530</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L531"></a><tt class="py-lineno"> 531</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, the headers to add the Authorization header to.</tt> </tt>
-<a name="L532"></a><tt class="py-lineno"> 532</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L533"></a><tt class="py-lineno"> 533</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'Authorization'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'Bearer '</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">access_token</tt> </tt>
-</div><a name="L534"></a><tt class="py-lineno"> 534</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Credentials.to_json"></a><div id="OAuth2Credentials.to_json-def"><a name="L535"></a><tt class="py-lineno"> 535</tt> <a class="py-toggle" href="#" id="OAuth2Credentials.to_json-toggle" onclick="return toggle('OAuth2Credentials.to_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html#to_json">to_json</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials.to_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2Credentials.to_json-expanded"><a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="apiclient.http.MediaUpload._to_json
-oauth2client.client.Credentials._to_json" class="py-name" href="#" onclick="return doclink('link-82', '_to_json', 'link-31');">_to_json</a></tt><tt class="py-op">(</tt><tt id="link-83" class="py-name"><a title="oauth2client.client.Credentials" class="py-name" href="#" onclick="return doclink('link-83', 'Credentials', 'link-32');">Credentials</a></tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS" class="py-name" href="#" onclick="return doclink('link-84', 'NON_SERIALIZED_MEMBERS', 'link-25');">NON_SERIALIZED_MEMBERS</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L537"></a><tt class="py-lineno"> 537</tt>  <tt class="py-line"> </tt>
-<a name="L538"></a><tt class="py-lineno"> 538</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">classmethod</tt> </tt>
-<a name="OAuth2Credentials.from_json"></a><div id="OAuth2Credentials.from_json-def"><a name="L539"></a><tt class="py-lineno"> 539</tt> <a class="py-toggle" href="#" id="OAuth2Credentials.from_json-toggle" onclick="return toggle('OAuth2Credentials.from_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html#from_json">from_json</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials.from_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2Credentials.from_json-expanded"><a name="L540"></a><tt class="py-lineno"> 540</tt>  <tt class="py-line">    <tt class="py-docstring">"""Instantiate a Credentials object from a JSON description of it. The JSON</tt> </tt>
-<a name="L541"></a><tt class="py-lineno"> 541</tt>  <tt class="py-line"><tt class="py-docstring">    should have been produced by calling .to_json() on the object.</tt> </tt>
-<a name="L542"></a><tt class="py-lineno"> 542</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L544"></a><tt class="py-lineno"> 544</tt>  <tt class="py-line"><tt class="py-docstring">      data: dict, A deserialized JSON object.</tt> </tt>
-<a name="L545"></a><tt class="py-lineno"> 545</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L546"></a><tt class="py-lineno"> 546</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line"><tt class="py-docstring">      An instance of a Credentials subclass.</tt> </tt>
-<a name="L548"></a><tt class="py-lineno"> 548</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line">    <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-85', 'loads', 'link-34');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'token_expiry'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">data</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'token_expiry'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L551"></a><tt class="py-lineno"> 551</tt>  <tt class="py-line">        <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line">        <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'token_expiry'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">strptime</tt><tt class="py-op">(</tt> </tt>
-<a name="L554"></a><tt class="py-lineno"> 554</tt>  <tt class="py-line">            <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'token_expiry'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-86" class="py-name"><a title="oauth2client.client.EXPIRY_FORMAT" class="py-name" href="#" onclick="return doclink('link-86', 'EXPIRY_FORMAT', 'link-20');">EXPIRY_FORMAT</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L555"></a><tt class="py-lineno"> 555</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L556"></a><tt class="py-lineno"> 556</tt>  <tt class="py-line">        <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'token_expiry'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L557"></a><tt class="py-lineno"> 557</tt>  <tt class="py-line">    <tt class="py-name">retval</tt> <tt class="py-op">=</tt> <tt class="py-name">cls</tt><tt class="py-op">(</tt> </tt>
-<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line">        <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'access_token'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L559"></a><tt class="py-lineno"> 559</tt>  <tt class="py-line">        <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'client_id'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">        <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'client_secret'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line">        <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'refresh_token'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line">        <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'token_expiry'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">        <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'token_uri'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line">        <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'user_agent'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line">        <tt class="py-name">revoke_uri</tt><tt class="py-op">=</tt><tt class="py-name">data</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-87', 'get', 'link-24');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'revoke_uri'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line">        <tt class="py-name">id_token</tt><tt class="py-op">=</tt><tt class="py-name">data</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-88', 'get', 'link-24');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'id_token'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line">        <tt class="py-name">token_response</tt><tt class="py-op">=</tt><tt class="py-name">data</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-89', 'get', 'link-24');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'token_response'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line">    <tt class="py-name">retval</tt><tt class="py-op">.</tt><tt class="py-name">invalid</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'invalid'</tt><tt class="py-op">]</tt> </tt>
-<a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">retval</tt> </tt>
-</div><a name="L570"></a><tt class="py-lineno"> 570</tt>  <tt class="py-line"> </tt>
-<a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="OAuth2Credentials.access_token_expired"></a><div id="OAuth2Credentials.access_token_expired-def"><a name="L572"></a><tt class="py-lineno"> 572</tt> <a class="py-toggle" href="#" id="OAuth2Credentials.access_token_expired-toggle" onclick="return toggle('OAuth2Credentials.access_token_expired');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html#access_token_expired">access_token_expired</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials.access_token_expired-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2Credentials.access_token_expired-expanded"><a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line">    <tt class="py-docstring">"""True if the credential is expired or invalid.</tt> </tt>
-<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line"><tt class="py-docstring">    If the token_expiry isn't set, we assume the token doesn't expire.</tt> </tt>
-<a name="L576"></a><tt class="py-lineno"> 576</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">invalid</tt><tt class="py-op">:</tt> </tt>
-<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line"> </tt>
-<a name="L580"></a><tt class="py-lineno"> 580</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">token_expiry</tt><tt class="py-op">:</tt> </tt>
-<a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L582"></a><tt class="py-lineno"> 582</tt>  <tt class="py-line"> </tt>
-<a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line">    <tt class="py-name">now</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">utcnow</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">now</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">token_expiry</tt><tt class="py-op">:</tt> </tt>
-<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line">      <tt id="link-90" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-90', 'logger', 'link-19');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'access_token is expired. Now: %s, token_expiry: %s'</tt><tt class="py-op">,</tt> </tt>
-<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line">                  <tt class="py-name">now</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">token_expiry</tt><tt class="py-op">)</tt> </tt>
-<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Credentials.set_store"></a><div id="OAuth2Credentials.set_store-def"><a name="L590"></a><tt class="py-lineno"> 590</tt> <a class="py-toggle" href="#" id="OAuth2Credentials.set_store-toggle" onclick="return toggle('OAuth2Credentials.set_store');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html#set_store">set_store</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">store</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials.set_store-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2Credentials.set_store-expanded"><a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line">    <tt class="py-docstring">"""Set the Storage for the credential.</tt> </tt>
-<a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L593"></a><tt class="py-lineno"> 593</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line"><tt class="py-docstring">      store: Storage, an implementation of Stroage object.</tt> </tt>
-<a name="L595"></a><tt class="py-lineno"> 595</tt>  <tt class="py-line"><tt class="py-docstring">        This is needed to store the latest access_token if it</tt> </tt>
-<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line"><tt class="py-docstring">        has expired and been refreshed. This implementation uses</tt> </tt>
-<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line"><tt class="py-docstring">        locking to check for updates before updating the</tt> </tt>
-<a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line"><tt class="py-docstring">        access_token.</tt> </tt>
-<a name="L599"></a><tt class="py-lineno"> 599</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L600"></a><tt class="py-lineno"> 600</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">store</tt> <tt class="py-op">=</tt> <tt class="py-name">store</tt> </tt>
-</div><a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Credentials._updateFromCredential"></a><div id="OAuth2Credentials._updateFromCredential-def"><a name="L602"></a><tt class="py-lineno"> 602</tt> <a class="py-toggle" href="#" id="OAuth2Credentials._updateFromCredential-toggle" onclick="return toggle('OAuth2Credentials._updateFromCredential');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html#_updateFromCredential">_updateFromCredential</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">other</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials._updateFromCredential-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2Credentials._updateFromCredential-expanded"><a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line">    <tt class="py-docstring">"""Update this Credential from another instance."""</tt> </tt>
-<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="apiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-91', 'update', 'link-54');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">other</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name" targets="Method apiclient.discovery.Resource.__getstate__()=apiclient.discovery.Resource-class.html#__getstate__,Method oauth2client.client.OAuth2Credentials.__getstate__()=oauth2client.client.OAuth2Credentials-class.html#__getstate__"><a title="apiclient.discovery.Resource.__getstate__
-oauth2client.client.OAuth2Credentials.__getstate__" class="py-name" href="#" onclick="return doclink('link-92', '__getstate__', 'link-92');">__getstate__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L605"></a><tt class="py-lineno"> 605</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Credentials.__getstate__"></a><div id="OAuth2Credentials.__getstate__-def"><a name="L606"></a><tt class="py-lineno"> 606</tt> <a class="py-toggle" href="#" id="OAuth2Credentials.__getstate__-toggle" onclick="return toggle('OAuth2Credentials.__getstate__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html#__getstate__">__getstate__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials.__getstate__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2Credentials.__getstate__-expanded"><a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">    <tt class="py-docstring">"""Trim the state down to something that can be pickled."""</tt> </tt>
-<a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line">    <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">)</tt> </tt>
-<a name="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'store'</tt><tt class="py-op">]</tt> </tt>
-<a name="L610"></a><tt class="py-lineno"> 610</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">d</tt> </tt>
-</div><a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Credentials.__setstate__"></a><div id="OAuth2Credentials.__setstate__-def"><a name="L612"></a><tt class="py-lineno"> 612</tt> <a class="py-toggle" href="#" id="OAuth2Credentials.__setstate__-toggle" onclick="return toggle('OAuth2Credentials.__setstate__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html#__setstate__">__setstate__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">state</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials.__setstate__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2Credentials.__setstate__-expanded"><a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line">    <tt class="py-docstring">"""Reconstitute the state of the object from being pickled."""</tt> </tt>
-<a name="L614"></a><tt class="py-lineno"> 614</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="apiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-93', 'update', 'link-54');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">state</tt><tt class="py-op">)</tt> </tt>
-<a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">store</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L616"></a><tt class="py-lineno"> 616</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Credentials._generate_refresh_request_body"></a><div id="OAuth2Credentials._generate_refresh_request_body-def"><a name="L617"></a><tt class="py-lineno"> 617</tt> <a class="py-toggle" href="#" id="OAuth2Credentials._generate_refresh_request_body-toggle" onclick="return toggle('OAuth2Credentials._generate_refresh_request_body');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_body">_generate_refresh_request_body</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials._generate_refresh_request_body-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2Credentials._generate_refresh_request_body-expanded"><a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line">    <tt class="py-docstring">"""Generate the body that will be used in the refresh request."""</tt> </tt>
-<a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line">    <tt id="link-94" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-94', 'body', 'link-63');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-op">{</tt> </tt>
-<a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line">        <tt class="py-string">'grant_type'</tt><tt class="py-op">:</tt> <tt class="py-string">'refresh_token'</tt><tt class="py-op">,</tt> </tt>
-<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line">        <tt class="py-string">'client_id'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_id</tt><tt class="py-op">,</tt> </tt>
-<a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line">        <tt class="py-string">'client_secret'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_secret</tt><tt class="py-op">,</tt> </tt>
-<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line">        <tt class="py-string">'refresh_token'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">refresh_token</tt><tt class="py-op">,</tt> </tt>
-<a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-line">        <tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-95" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-95', 'body', 'link-63');">body</a></tt> </tt>
-</div><a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Credentials._generate_refresh_request_headers"></a><div id="OAuth2Credentials._generate_refresh_request_headers-def"><a name="L627"></a><tt class="py-lineno"> 627</tt> <a class="py-toggle" href="#" id="OAuth2Credentials._generate_refresh_request_headers-toggle" onclick="return toggle('OAuth2Credentials._generate_refresh_request_headers');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_headers">_generate_refresh_request_headers</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials._generate_refresh_request_headers-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2Credentials._generate_refresh_request_headers-expanded"><a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line">    <tt class="py-docstring">"""Generate the headers that will be used in the refresh request."""</tt> </tt>
-<a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line">        <tt class="py-string">'content-type'</tt><tt class="py-op">:</tt> <tt class="py-string">'application/x-www-form-urlencoded'</tt><tt class="py-op">,</tt> </tt>
-<a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line">    <tt class="py-op">}</tt> </tt>
-<a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line"> </tt>
-<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_agent</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L634"></a><tt class="py-lineno"> 634</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_agent</tt> </tt>
-<a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line"> </tt>
-<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">headers</tt> </tt>
-</div><a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Credentials._refresh"></a><div id="OAuth2Credentials._refresh-def"><a name="L638"></a><tt class="py-lineno"> 638</tt> <a class="py-toggle" href="#" id="OAuth2Credentials._refresh-toggle" onclick="return toggle('OAuth2Credentials._refresh');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html#_refresh">_refresh</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http_request</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials._refresh-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2Credentials._refresh-expanded"><a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line">    <tt class="py-docstring">"""Refreshes the access_token.</tt> </tt>
-<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line"><tt class="py-docstring">    This method first checks by reading the Storage object if available.</tt> </tt>
-<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line"><tt class="py-docstring">    If a refresh is still needed, it holds the Storage lock until the</tt> </tt>
-<a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line"><tt class="py-docstring">    refresh is completed.</tt> </tt>
-<a name="L644"></a><tt class="py-lineno"> 644</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line"><tt class="py-docstring">      http_request: callable, a callable that matches the method signature of</tt> </tt>
-<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line"><tt class="py-docstring">        httplib2.Http.request, used to make the refresh request.</tt> </tt>
-<a name="L648"></a><tt class="py-lineno"> 648</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line"><tt class="py-docstring">      AccessTokenRefreshError: When the refresh fails.</tt> </tt>
-<a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">store</tt><tt class="py-op">:</tt> </tt>
-<a name="L653"></a><tt class="py-lineno"> 653</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name" targets="Method oauth2client.client.OAuth2Credentials._do_refresh_request()=oauth2client.client.OAuth2Credentials-class.html#_do_refresh_request"><a title="oauth2client.client.OAuth2Credentials._do_refresh_request" class="py-name" href="#" onclick="return doclink('link-96', '_do_refresh_request', 'link-96');">_do_refresh_request</a></tt><tt class="py-op">(</tt><tt class="py-name">http_request</tt><tt class="py-op">)</tt> </tt>
-<a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">store</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="oauth2client.client.Storage.acquire_lock
-oauth2client.file.Storage.acquire_lock
-oauth2client.keyring_storage.Storage.acquire_lock
-oauth2client.multistore_file._MultiStore._Storage.acquire_lock" class="py-name" href="#" onclick="return doclink('link-97', 'acquire_lock', 'link-41');">acquire_lock</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line">        <tt class="py-name">new_cred</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">store</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="oauth2client.appengine.StorageByKeyName.locked_get
-oauth2client.client.Storage.locked_get
-oauth2client.django_orm.Storage.locked_get
-oauth2client.file.Storage.locked_get
-oauth2client.keyring_storage.Storage.locked_get
-oauth2client.multistore_file._MultiStore._Storage.locked_get" class="py-name" href="#" onclick="return doclink('link-98', 'locked_get', 'link-42');">locked_get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">new_cred</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">new_cred</tt><tt class="py-op">.</tt><tt class="py-name">invalid</tt> <tt class="py-keyword">and</tt> </tt>
-<a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line">            <tt class="py-name">new_cred</tt><tt class="py-op">.</tt><tt class="py-name">access_token</tt> <tt class="py-op">!=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">access_token</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line">          <tt id="link-99" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-99', 'logger', 'link-19');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Updated access_token read from Storage'</tt><tt class="py-op">)</tt> </tt>
-<a name="L661"></a><tt class="py-lineno"> 661</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name" targets="Method oauth2client.client.OAuth2Credentials._updateFromCredential()=oauth2client.client.OAuth2Credentials-class.html#_updateFromCredential"><a title="oauth2client.client.OAuth2Credentials._updateFromCredential" class="py-name" href="#" onclick="return doclink('link-100', '_updateFromCredential', 'link-100');">_updateFromCredential</a></tt><tt class="py-op">(</tt><tt class="py-name">new_cred</tt><tt class="py-op">)</tt> </tt>
-<a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L663"></a><tt class="py-lineno"> 663</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="oauth2client.client.OAuth2Credentials._do_refresh_request" class="py-name" href="#" onclick="return doclink('link-101', '_do_refresh_request', 'link-96');">_do_refresh_request</a></tt><tt class="py-op">(</tt><tt class="py-name">http_request</tt><tt class="py-op">)</tt> </tt>
-<a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line">      <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L665"></a><tt class="py-lineno"> 665</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">store</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="oauth2client.client.Storage.release_lock
-oauth2client.file.Storage.release_lock
-oauth2client.keyring_storage.Storage.release_lock
-oauth2client.multistore_file._MultiStore._Storage.release_lock" class="py-name" href="#" onclick="return doclink('link-102', 'release_lock', 'link-43');">release_lock</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L666"></a><tt class="py-lineno"> 666</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Credentials._do_refresh_request"></a><div id="OAuth2Credentials._do_refresh_request-def"><a name="L667"></a><tt class="py-lineno"> 667</tt> <a class="py-toggle" href="#" id="OAuth2Credentials._do_refresh_request-toggle" onclick="return toggle('OAuth2Credentials._do_refresh_request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html#_do_refresh_request">_do_refresh_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http_request</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials._do_refresh_request-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2Credentials._do_refresh_request-expanded"><a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line">    <tt class="py-docstring">"""Refresh the access_token using the refresh_token.</tt> </tt>
-<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line"><tt class="py-docstring">      http_request: callable, a callable that matches the method signature of</tt> </tt>
-<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line"><tt class="py-docstring">        httplib2.Http.request, used to make the refresh request.</tt> </tt>
-<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line"><tt class="py-docstring">      AccessTokenRefreshError: When the refresh fails.</tt> </tt>
-<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line">    <tt id="link-103" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-103', 'body', 'link-63');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name" targets="Method oauth2client.client.AssertionCredentials._generate_refresh_request_body()=oauth2client.client.AssertionCredentials-class.html#_generate_refresh_request_body,Method oauth2client.client.OAuth2Credentials._generate_refresh_request_body()=oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_body"><a title="oauth2client.client.AssertionCredentials._generate_refresh_request_body
-oauth2client.client.OAuth2Credentials._generate_refresh_request_body" class="py-name" href="#" onclick="return doclink('link-104', '_generate_refresh_request_body', 'link-104');">_generate_refresh_request_body</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name" targets="Method oauth2client.client.OAuth2Credentials._generate_refresh_request_headers()=oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_headers"><a title="oauth2client.client.OAuth2Credentials._generate_refresh_request_headers" class="py-name" href="#" onclick="return doclink('link-105', '_generate_refresh_request_headers', 'link-105');">_generate_refresh_request_headers</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line"> </tt>
-<a name="L680"></a><tt class="py-lineno"> 680</tt>  <tt class="py-line">    <tt id="link-106" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-106', 'logger', 'link-19');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Refreshing access_token'</tt><tt class="py-op">)</tt> </tt>
-<a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">http_request</tt><tt class="py-op">(</tt> </tt>
-<a name="L682"></a><tt class="py-lineno"> 682</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">token_uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-string">'POST'</tt><tt class="py-op">,</tt> <tt id="link-107" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-107', 'body', 'link-63');">body</a></tt><tt class="py-op">=</tt><tt id="link-108" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-108', 'body', 'link-63');">body</a></tt><tt class="py-op">,</tt> <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">200</tt><tt class="py-op">:</tt> </tt>
-<a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line">      <tt class="py-comment"># TODO(jcgregorio) Raise an error if loads fails?</tt> </tt>
-<a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line">      <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-109', 'loads', 'link-34');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">token_response</tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt> </tt>
-<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">access_token</tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'access_token'</tt><tt class="py-op">]</tt> </tt>
-<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">refresh_token</tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-110', 'get', 'link-24');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'refresh_token'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">refresh_token</tt><tt class="py-op">)</tt> </tt>
-<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'expires_in'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">d</tt><tt class="py-op">:</tt> </tt>
-<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">token_expiry</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">timedelta</tt><tt class="py-op">(</tt> </tt>
-<a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line">            <tt class="py-name">seconds</tt><tt class="py-op">=</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'expires_in'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">utcnow</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L692"></a><tt class="py-lineno"> 692</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">token_expiry</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L694"></a><tt class="py-lineno"> 694</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">store</tt><tt class="py-op">:</tt> </tt>
-<a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">store</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="oauth2client.appengine.StorageByKeyName.locked_put
-oauth2client.client.Storage.locked_put
-oauth2client.django_orm.Storage.locked_put
-oauth2client.file.Storage.locked_put
-oauth2client.keyring_storage.Storage.locked_put
-oauth2client.multistore_file._MultiStore._Storage.locked_put" class="py-name" href="#" onclick="return doclink('link-111', 'locked_put', 'link-45');">locked_put</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line">      <tt class="py-comment"># An {'error':...} response body means the token is expired or revoked,</tt> </tt>
-<a name="L698"></a><tt class="py-lineno"> 698</tt>  <tt class="py-line">      <tt class="py-comment"># so we flag the credentials as such.</tt> </tt>
-<a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line">      <tt id="link-112" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-112', 'logger', 'link-19');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Failed to retrieve access token: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line">      <tt class="py-name">error_msg</tt> <tt class="py-op">=</tt> <tt class="py-string">'Invalid response %s.'</tt> <tt class="py-op">%</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'status'</tt><tt class="py-op">]</tt> </tt>
-<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-113', 'loads', 'link-34');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'error'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">d</tt><tt class="py-op">:</tt> </tt>
-<a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line">          <tt class="py-name">error_msg</tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'error'</tt><tt class="py-op">]</tt> </tt>
-<a name="L705"></a><tt class="py-lineno"> 705</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">invalid</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">store</tt><tt class="py-op">:</tt> </tt>
-<a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">store</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="oauth2client.appengine.StorageByKeyName.locked_put
-oauth2client.client.Storage.locked_put
-oauth2client.django_orm.Storage.locked_put
-oauth2client.file.Storage.locked_put
-oauth2client.keyring_storage.Storage.locked_put
-oauth2client.multistore_file._MultiStore._Storage.locked_put" class="py-name" href="#" onclick="return doclink('link-114', 'locked_put', 'link-45');">locked_put</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L708"></a><tt class="py-lineno"> 708</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt> <tt class="py-name">StandardError</tt><tt class="py-op">:</tt> </tt>
-<a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
-<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-115" class="py-name" targets="Class oauth2client.client.AccessTokenRefreshError=oauth2client.client.AccessTokenRefreshError-class.html"><a title="oauth2client.client.AccessTokenRefreshError" class="py-name" href="#" onclick="return doclink('link-115', 'AccessTokenRefreshError', 'link-115');">AccessTokenRefreshError</a></tt><tt class="py-op">(</tt><tt class="py-name">error_msg</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Credentials._revoke"></a><div id="OAuth2Credentials._revoke-def"><a name="L712"></a><tt class="py-lineno"> 712</tt> <a class="py-toggle" href="#" id="OAuth2Credentials._revoke-toggle" onclick="return toggle('OAuth2Credentials._revoke');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html#_revoke">_revoke</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http_request</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials._revoke-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2Credentials._revoke-expanded"><a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line">    <tt class="py-docstring">"""Revokes the refresh_token and deletes the store if available.</tt> </tt>
-<a name="L714"></a><tt class="py-lineno"> 714</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line"><tt class="py-docstring">      http_request: callable, a callable that matches the method signature of</tt> </tt>
-<a name="L717"></a><tt class="py-lineno"> 717</tt>  <tt class="py-line"><tt class="py-docstring">        httplib2.Http.request, used to make the revoke request.</tt> </tt>
-<a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L719"></a><tt class="py-lineno"> 719</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name" targets="Method oauth2client.client.OAuth2Credentials._do_revoke()=oauth2client.client.OAuth2Credentials-class.html#_do_revoke"><a title="oauth2client.client.OAuth2Credentials._do_revoke" class="py-name" href="#" onclick="return doclink('link-116', '_do_revoke', 'link-116');">_do_revoke</a></tt><tt class="py-op">(</tt><tt class="py-name">http_request</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">refresh_token</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2Credentials._do_revoke"></a><div id="OAuth2Credentials._do_revoke-def"><a name="L721"></a><tt class="py-lineno"> 721</tt> <a class="py-toggle" href="#" id="OAuth2Credentials._do_revoke-toggle" onclick="return toggle('OAuth2Credentials._do_revoke');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2Credentials-class.html#_do_revoke">_do_revoke</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http_request</tt><tt class="py-op">,</tt> <tt class="py-param">token</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2Credentials._do_revoke-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2Credentials._do_revoke-expanded"><a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line">    <tt class="py-docstring">"""Revokes the credentials and deletes the store if available.</tt> </tt>
-<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line"><tt class="py-docstring">      http_request: callable, a callable that matches the method signature of</tt> </tt>
-<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line"><tt class="py-docstring">        httplib2.Http.request, used to make the refresh request.</tt> </tt>
-<a name="L727"></a><tt class="py-lineno"> 727</tt>  <tt class="py-line"><tt class="py-docstring">      token: A string used as the token to be revoked. Can be either an</tt> </tt>
-<a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line"><tt class="py-docstring">        access_token or refresh_token.</tt> </tt>
-<a name="L729"></a><tt class="py-lineno"> 729</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L730"></a><tt class="py-lineno"> 730</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line"><tt class="py-docstring">      TokenRevokeError: If the revoke request does not return with a 200 OK.</tt> </tt>
-<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line">    <tt id="link-117" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-117', 'logger', 'link-19');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Revoking token'</tt><tt class="py-op">)</tt> </tt>
-<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line">    <tt id="link-118" class="py-name"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-118', 'query_params', 'link-52');">query_params</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'token'</tt><tt class="py-op">:</tt> <tt class="py-name">token</tt><tt class="py-op">}</tt> </tt>
-<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line">    <tt class="py-name">token_revoke_uri</tt> <tt class="py-op">=</tt> <tt id="link-119" class="py-name" targets="Function oauth2client.client._update_query_params()=oauth2client.client-module.html#_update_query_params"><a title="oauth2client.client._update_query_params" class="py-name" href="#" onclick="return doclink('link-119', '_update_query_params', 'link-119');">_update_query_params</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">revoke_uri</tt><tt class="py-op">,</tt> <tt id="link-120" class="py-name"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-120', 'query_params', 'link-52');">query_params</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">http_request</tt><tt class="py-op">(</tt><tt class="py-name">token_revoke_uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">200</tt><tt class="py-op">:</tt> </tt>
-<a name="L738"></a><tt class="py-lineno"> 738</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">invalid</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L739"></a><tt class="py-lineno"> 739</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L740"></a><tt class="py-lineno"> 740</tt>  <tt class="py-line">      <tt class="py-name">error_msg</tt> <tt class="py-op">=</tt> <tt class="py-string">'Invalid response %s.'</tt> <tt class="py-op">%</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> </tt>
-<a name="L741"></a><tt class="py-lineno"> 741</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L742"></a><tt class="py-lineno"> 742</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-121', 'loads', 'link-34');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'error'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">d</tt><tt class="py-op">:</tt> </tt>
-<a name="L744"></a><tt class="py-lineno"> 744</tt>  <tt class="py-line">          <tt class="py-name">error_msg</tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'error'</tt><tt class="py-op">]</tt> </tt>
-<a name="L745"></a><tt class="py-lineno"> 745</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt> <tt class="py-name">StandardError</tt><tt class="py-op">:</tt> </tt>
-<a name="L746"></a><tt class="py-lineno"> 746</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
-<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-122" class="py-name" targets="Class oauth2client.client.TokenRevokeError=oauth2client.client.TokenRevokeError-class.html"><a title="oauth2client.client.TokenRevokeError" class="py-name" href="#" onclick="return doclink('link-122', 'TokenRevokeError', 'link-122');">TokenRevokeError</a></tt><tt class="py-op">(</tt><tt class="py-name">error_msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line"> </tt>
-<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">store</tt><tt class="py-op">:</tt> </tt>
-<a name="L750"></a><tt class="py-lineno"> 750</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">store</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name" targets="Method oauth2client.client.MemoryCache.delete()=oauth2client.client.MemoryCache-class.html#delete,Method oauth2client.client.Storage.delete()=oauth2client.client.Storage-class.html#delete"><a title="oauth2client.client.MemoryCache.delete
-oauth2client.client.Storage.delete" class="py-name" href="#" onclick="return doclink('link-123', 'delete', 'link-123');">delete</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line"> </tt>
-<a name="AccessTokenCredentials"></a><div id="AccessTokenCredentials-def"><a name="L752"></a><tt class="py-lineno"> 752</tt>  <tt class="py-line"> </tt>
-<a name="L753"></a><tt class="py-lineno"> 753</tt> <a class="py-toggle" href="#" id="AccessTokenCredentials-toggle" onclick="return toggle('AccessTokenCredentials');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.client.AccessTokenCredentials-class.html">AccessTokenCredentials</a><tt class="py-op">(</tt><tt class="py-base-class">OAuth2Credentials</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AccessTokenCredentials-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="AccessTokenCredentials-expanded"><a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line">  <tt class="py-docstring">"""Credentials object for OAuth 2.0.</tt> </tt>
-<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line"><tt class="py-docstring">  Credentials can be applied to an httplib2.Http object using the</tt> </tt>
-<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line"><tt class="py-docstring">  authorize() method, which then signs each request from that object</tt> </tt>
-<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line"><tt class="py-docstring">  with the OAuth 2.0 access token. This set of credentials is for the</tt> </tt>
-<a name="L759"></a><tt class="py-lineno"> 759</tt>  <tt class="py-line"><tt class="py-docstring">  use case where you have acquired an OAuth 2.0 access_token from</tt> </tt>
-<a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line"><tt class="py-docstring">  another place such as a JavaScript client or another web</tt> </tt>
-<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line"><tt class="py-docstring">  application, and wish to use it from Python. Because only the</tt> </tt>
-<a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line"><tt class="py-docstring">  access_token is present it can not be refreshed and will in time</tt> </tt>
-<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line"><tt class="py-docstring">  expire.</tt> </tt>
-<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L765"></a><tt class="py-lineno"> 765</tt>  <tt class="py-line"><tt class="py-docstring">  AccessTokenCredentials objects may be safely pickled and unpickled.</tt> </tt>
-<a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line"><tt class="py-docstring">  Usage:</tt> </tt>
-<a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line"><tt class="py-docstring">    credentials = AccessTokenCredentials('&lt;an access token&gt;',</tt> </tt>
-<a name="L769"></a><tt class="py-lineno"> 769</tt>  <tt class="py-line"><tt class="py-docstring">      'my-user-agent/1.0')</tt> </tt>
-<a name="L770"></a><tt class="py-lineno"> 770</tt>  <tt class="py-line"><tt class="py-docstring">    http = httplib2.Http()</tt> </tt>
-<a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line"><tt class="py-docstring">    http = credentials.authorize(http)</tt> </tt>
-<a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line"><tt class="py-docstring">  Exceptions:</tt> </tt>
-<a name="L774"></a><tt class="py-lineno"> 774</tt>  <tt class="py-line"><tt class="py-docstring">    AccessTokenCredentialsExpired: raised when the access_token expires or is</tt> </tt>
-<a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line"><tt class="py-docstring">      revoked.</tt> </tt>
-<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line"> </tt>
-<a name="AccessTokenCredentials.__init__"></a><div id="AccessTokenCredentials.__init__-def"><a name="L778"></a><tt class="py-lineno"> 778</tt> <a class="py-toggle" href="#" id="AccessTokenCredentials.__init__-toggle" onclick="return toggle('AccessTokenCredentials.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.AccessTokenCredentials-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">access_token</tt><tt class="py-op">,</tt> <tt class="py-param">user_agent</tt><tt class="py-op">,</tt> <tt class="py-param">revoke_uri</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AccessTokenCredentials.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="AccessTokenCredentials.__init__-expanded"><a name="L779"></a><tt class="py-lineno"> 779</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create an instance of OAuth2Credentials</tt> </tt>
-<a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L781"></a><tt class="py-lineno"> 781</tt>  <tt class="py-line"><tt class="py-docstring">    This is one of the few types if Credentials that you should contrust,</tt> </tt>
-<a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line"><tt class="py-docstring">    Credentials objects are usually instantiated by a Flow.</tt> </tt>
-<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L784"></a><tt class="py-lineno"> 784</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line"><tt class="py-docstring">      access_token: string, access token.</tt> </tt>
-<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line"><tt class="py-docstring">      user_agent: string, The HTTP User-Agent to provide for this application.</tt> </tt>
-<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line"><tt class="py-docstring">      revoke_uri: string, URI for revoke endpoint. Defaults to None; a token</tt> </tt>
-<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line"><tt class="py-docstring">        can't be revoked if this is None.</tt> </tt>
-<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-124" class="py-name" targets="Class oauth2client.client.AccessTokenCredentials=oauth2client.client.AccessTokenCredentials-class.html"><a title="oauth2client.client.AccessTokenCredentials" class="py-name" href="#" onclick="return doclink('link-124', 'AccessTokenCredentials', 'link-124');">AccessTokenCredentials</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name" targets="Method apiclient.channel.Channel.__init__()=apiclient.channel.Channel-class.html#__init__,Method apiclient.channel.Notification.__init__()=apiclient.channel.Notification-class.html#__init__,Method apiclient.discovery.Resource.__init__()=apiclient.discovery.Resource-class.html#__init__,Method apiclient.discovery.ResourceMethodParameters.__init__()=apiclient.discovery.ResourceMethodParameters-class.html#__init__,Method apiclient.errors.BatchError.__init__()=apiclient.errors.BatchError-class.html#__init__,Method apiclient.errors.HttpError.__init__()=apiclient.errors.HttpError-class.html#__init__,Method apiclient.errors.UnexpectedBodyError.__init__()=apiclient.errors.UnexpectedBodyError-class.html#__init__,Method apiclient.errors.UnexpectedMethodError.__init__()=apiclient.errors.UnexpectedMethodError-class.html#__init__,Method apiclient.http.BatchHttpRequest.__init__()=apiclient.http.BatchHttpRequest-class.html#__init__,Method apiclient.http.HttpMock.__init__()=apiclient.http.HttpMock-class.html#__init__,Method apiclient.http.HttpMockSequence.__init__()=apiclient.http.HttpMockSequence-class.html#__init__,Method apiclient.http.HttpRequest.__init__()=apiclient.http.HttpRequest-class.html#__init__,Method apiclient.http.HttpRequestMock.__init__()=apiclient.http.HttpRequestMock-class.html#__init__,Method apiclient.http.MediaDownloadProgress.__init__()=apiclient.http.MediaDownloadProgress-class.html#__init__,Method apiclient.http.MediaFileUpload.__init__()=apiclient.http.MediaFileUpload-class.html#__init__,Method apiclient.http.MediaInMemoryUpload.__init__()=apiclient.http.MediaInMemoryUpload-class.html#__init__,Method apiclient.http.MediaIoBaseDownload.__init__()=apiclient.http.MediaIoBaseDownload-class.html#__init__,Method apiclient.http.MediaIoBaseUpload.__init__()=apiclient.http.MediaIoBaseUpload-class.html#__init__,Method apiclient.http.MediaUploadProgress.__init__()=apiclient.http.MediaUploadProgress-class.html#__init__,Method apiclient.http.RequestMockBuilder.__init__()=apiclient.http.RequestMockBuilder-class.html#__init__,Method apiclient.http._StreamSlice.__init__()=apiclient.http._StreamSlice-class.html#__init__,Method apiclient.model.JsonModel.__init__()=apiclient.model.JsonModel-class.html#__init__,Method apiclient.model.ProtocolBufferModel.__init__()=apiclient.model.ProtocolBufferModel-class.html#__init__,Method apiclient.schema.Schemas.__init__()=apiclient.schema.Schemas-class.html#__init__,Method apiclient.schema._SchemaToStruct.__init__()=apiclient.schema._SchemaToStruct-class.html#__init__,Method oauth2client.appengine.AppAssertionCredentials.__init__()=oauth2client.appengine.AppAssertionCredentials-class.html#__init__,Method oauth2client.appengine.OAuth2Decorator.__init__()=oauth2client.appengine.OAuth2Decorator-class.html#__init__,Method oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__()=oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html#__init__,Method oauth2client.appengine.StorageByKeyName.__init__()=oauth2client.appengine.StorageByKeyName-class.html#__init__,Method oauth2client.client.AccessTokenCredentials.__init__()=oauth2client.client.AccessTokenCredentials-class.html#__init__,Method oauth2client.client.AssertionCredentials.__init__()=oauth2client.client.AssertionCredentials-class.html#__init__,Method oauth2client.client.MemoryCache.__init__()=oauth2client.client.MemoryCache-class.html#__init__,Method oauth2client.client.OAuth2Credentials.__init__()=oauth2client.client.OAuth2Credentials-class.html#__init__,Method oauth2client.client.OAuth2WebServerFlow.__init__()=oauth2client.client.OAuth2WebServerFlow-class.html#__init__,Method oauth2client.client.SignedJwtAssertionCredentials.__init__()=oauth2client.client.SignedJwtAssertionCredentials-class.html#__init__,Method oauth2client.django_orm.CredentialsField.__init__()=oauth2client.django_orm.CredentialsField-class.html#__init__,Method oauth2client.django_orm.FlowField.__init__()=oauth2client.django_orm.FlowField-class.html#__init__,Method oauth2client.django_orm.Storage.__init__()=oauth2client.django_orm.Storage-class.html#__init__,Method oauth2client.file.Storage.__init__()=oauth2client.file.Storage-class.html#__init__,Method oauth2client.gce.AppAssertionCredentials.__init__()=oauth2client.gce.AppAssertionCredentials-class.html#__init__,Method oauth2client.keyring_storage.Storage.__init__()=oauth2client.keyring_storage.Storage-class.html#__init__,Method oauth2client.locked_file.LockedFile.__init__()=oauth2client.locked_file.LockedFile-class.html#__init__,Method oauth2client.locked_file._Opener.__init__()=oauth2client.locked_file._Opener-class.html#__init__,Method oauth2client.multistore_file._MultiStore._Storage.__init__()=oauth2client.multistore_file._MultiStore._Storage-class.html#__init__,Method oauth2client.multistore_file._MultiStore.__init__()=oauth2client.multistore_file._MultiStore-class.html#__init__"><a title="apiclient.channel.Channel.__init__
-apiclient.channel.Notification.__init__
-apiclient.discovery.Resource.__init__
-apiclient.discovery.ResourceMethodParameters.__init__
-apiclient.errors.BatchError.__init__
-apiclient.errors.HttpError.__init__
-apiclient.errors.UnexpectedBodyError.__init__
-apiclient.errors.UnexpectedMethodError.__init__
-apiclient.http.BatchHttpRequest.__init__
-apiclient.http.HttpMock.__init__
-apiclient.http.HttpMockSequence.__init__
-apiclient.http.HttpRequest.__init__
-apiclient.http.HttpRequestMock.__init__
-apiclient.http.MediaDownloadProgress.__init__
-apiclient.http.MediaFileUpload.__init__
-apiclient.http.MediaInMemoryUpload.__init__
-apiclient.http.MediaIoBaseDownload.__init__
-apiclient.http.MediaIoBaseUpload.__init__
-apiclient.http.MediaUploadProgress.__init__
-apiclient.http.RequestMockBuilder.__init__
-apiclient.http._StreamSlice.__init__
-apiclient.model.JsonModel.__init__
-apiclient.model.ProtocolBufferModel.__init__
-apiclient.schema.Schemas.__init__
-apiclient.schema._SchemaToStruct.__init__
-oauth2client.appengine.AppAssertionCredentials.__init__
-oauth2client.appengine.OAuth2Decorator.__init__
-oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__
-oauth2client.appengine.StorageByKeyName.__init__
-oauth2client.client.AccessTokenCredentials.__init__
-oauth2client.client.AssertionCredentials.__init__
-oauth2client.client.MemoryCache.__init__
-oauth2client.client.OAuth2Credentials.__init__
-oauth2client.client.OAuth2WebServerFlow.__init__
-oauth2client.client.SignedJwtAssertionCredentials.__init__
-oauth2client.django_orm.CredentialsField.__init__
-oauth2client.django_orm.FlowField.__init__
-oauth2client.django_orm.Storage.__init__
-oauth2client.file.Storage.__init__
-oauth2client.gce.AppAssertionCredentials.__init__
-oauth2client.keyring_storage.Storage.__init__
-oauth2client.locked_file.LockedFile.__init__
-oauth2client.locked_file._Opener.__init__
-oauth2client.multistore_file._MultiStore._Storage.__init__
-oauth2client.multistore_file._MultiStore.__init__" class="py-name" href="#" onclick="return doclink('link-125', '__init__', 'link-125');">__init__</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L791"></a><tt class="py-lineno"> 791</tt>  <tt class="py-line">        <tt class="py-name">access_token</tt><tt class="py-op">,</tt> </tt>
-<a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line">        <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line">        <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L794"></a><tt class="py-lineno"> 794</tt>  <tt class="py-line">        <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line">        <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L796"></a><tt class="py-lineno"> 796</tt>  <tt class="py-line">        <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line">        <tt class="py-name">user_agent</tt><tt class="py-op">,</tt> </tt>
-<a name="L798"></a><tt class="py-lineno"> 798</tt>  <tt class="py-line">        <tt class="py-name">revoke_uri</tt><tt class="py-op">=</tt><tt class="py-name">revoke_uri</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line"> </tt>
-<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line"> </tt>
-<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">classmethod</tt> </tt>
-<a name="AccessTokenCredentials.from_json"></a><div id="AccessTokenCredentials.from_json-def"><a name="L802"></a><tt class="py-lineno"> 802</tt> <a class="py-toggle" href="#" id="AccessTokenCredentials.from_json-toggle" onclick="return toggle('AccessTokenCredentials.from_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.AccessTokenCredentials-class.html#from_json">from_json</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AccessTokenCredentials.from_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="AccessTokenCredentials.from_json-expanded"><a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line">    <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-126', 'loads', 'link-34');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line">    <tt class="py-name">retval</tt> <tt class="py-op">=</tt> <tt id="link-127" class="py-name"><a title="oauth2client.client.AccessTokenCredentials" class="py-name" href="#" onclick="return doclink('link-127', 'AccessTokenCredentials', 'link-124');">AccessTokenCredentials</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L805"></a><tt class="py-lineno"> 805</tt>  <tt class="py-line">        <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'access_token'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L806"></a><tt class="py-lineno"> 806</tt>  <tt class="py-line">        <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'user_agent'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">retval</tt> </tt>
-</div><a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line"> </tt>
-<a name="AccessTokenCredentials._refresh"></a><div id="AccessTokenCredentials._refresh-def"><a name="L809"></a><tt class="py-lineno"> 809</tt> <a class="py-toggle" href="#" id="AccessTokenCredentials._refresh-toggle" onclick="return toggle('AccessTokenCredentials._refresh');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.AccessTokenCredentials-class.html#_refresh">_refresh</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http_request</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AccessTokenCredentials._refresh-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="AccessTokenCredentials._refresh-expanded"><a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-128" class="py-name" targets="Class oauth2client.client.AccessTokenCredentialsError=oauth2client.client.AccessTokenCredentialsError-class.html"><a title="oauth2client.client.AccessTokenCredentialsError" class="py-name" href="#" onclick="return doclink('link-128', 'AccessTokenCredentialsError', 'link-128');">AccessTokenCredentialsError</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line">        <tt class="py-string">'The access_token is expired or invalid and can\'t be refreshed.'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line"> </tt>
-<a name="AccessTokenCredentials._revoke"></a><div id="AccessTokenCredentials._revoke-def"><a name="L813"></a><tt class="py-lineno"> 813</tt> <a class="py-toggle" href="#" id="AccessTokenCredentials._revoke-toggle" onclick="return toggle('AccessTokenCredentials._revoke');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.AccessTokenCredentials-class.html#_revoke">_revoke</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http_request</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AccessTokenCredentials._revoke-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="AccessTokenCredentials._revoke-expanded"><a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line">    <tt class="py-docstring">"""Revokes the access_token and deletes the store if available.</tt> </tt>
-<a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L816"></a><tt class="py-lineno"> 816</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line"><tt class="py-docstring">      http_request: callable, a callable that matches the method signature of</tt> </tt>
-<a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line"><tt class="py-docstring">        httplib2.Http.request, used to make the revoke request.</tt> </tt>
-<a name="L819"></a><tt class="py-lineno"> 819</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="oauth2client.client.OAuth2Credentials._do_revoke" class="py-name" href="#" onclick="return doclink('link-129', '_do_revoke', 'link-116');">_do_revoke</a></tt><tt class="py-op">(</tt><tt class="py-name">http_request</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">access_token</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line"> </tt>
-<a name="AssertionCredentials"></a><div id="AssertionCredentials-def"><a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line"> </tt>
-<a name="L823"></a><tt class="py-lineno"> 823</tt> <a class="py-toggle" href="#" id="AssertionCredentials-toggle" onclick="return toggle('AssertionCredentials');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.client.AssertionCredentials-class.html">AssertionCredentials</a><tt class="py-op">(</tt><tt class="py-base-class">OAuth2Credentials</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AssertionCredentials-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="AssertionCredentials-expanded"><a name="L824"></a><tt class="py-lineno"> 824</tt>  <tt class="py-line">  <tt class="py-docstring">"""Abstract Credentials object used for OAuth 2.0 assertion grants.</tt> </tt>
-<a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L826"></a><tt class="py-lineno"> 826</tt>  <tt class="py-line"><tt class="py-docstring">  This credential does not require a flow to instantiate because it</tt> </tt>
-<a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line"><tt class="py-docstring">  represents a two legged flow, and therefore has all of the required</tt> </tt>
-<a name="L828"></a><tt class="py-lineno"> 828</tt>  <tt class="py-line"><tt class="py-docstring">  information to generate and refresh its own access tokens. It must</tt> </tt>
-<a name="L829"></a><tt class="py-lineno"> 829</tt>  <tt class="py-line"><tt class="py-docstring">  be subclassed to generate the appropriate assertion string.</tt> </tt>
-<a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line"><tt class="py-docstring">  AssertionCredentials objects may be safely pickled and unpickled.</tt> </tt>
-<a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line"> </tt>
-<a name="L834"></a><tt class="py-lineno"> 834</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-130', 'positional', 'link-56');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="AssertionCredentials.__init__"></a><div id="AssertionCredentials.__init__-def"><a name="L835"></a><tt class="py-lineno"> 835</tt> <a class="py-toggle" href="#" id="AssertionCredentials.__init__-toggle" onclick="return toggle('AssertionCredentials.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.AssertionCredentials-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">assertion_type</tt><tt class="py-op">,</tt> <tt class="py-param">user_agent</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line">               <tt class="py-param">token_uri</tt><tt class="py-op">=</tt><tt id="link-131" class="py-name"><a title="oauth2client.GOOGLE_TOKEN_URI" class="py-name" href="#" onclick="return doclink('link-131', 'GOOGLE_TOKEN_URI', 'link-6');">GOOGLE_TOKEN_URI</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L837"></a><tt class="py-lineno"> 837</tt>  <tt class="py-line">               <tt class="py-param">revoke_uri</tt><tt class="py-op">=</tt><tt id="link-132" class="py-name"><a title="oauth2client.GOOGLE_REVOKE_URI" class="py-name" href="#" onclick="return doclink('link-132', 'GOOGLE_REVOKE_URI', 'link-4');">GOOGLE_REVOKE_URI</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line">               <tt class="py-op">**</tt><tt class="py-param">unused_kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AssertionCredentials.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="AssertionCredentials.__init__-expanded"><a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for AssertionFlowCredentials.</tt> </tt>
-<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line"><tt class="py-docstring">      assertion_type: string, assertion type that will be declared to the auth</tt> </tt>
-<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line"><tt class="py-docstring">        server</tt> </tt>
-<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line"><tt class="py-docstring">      user_agent: string, The HTTP User-Agent to provide for this application.</tt> </tt>
-<a name="L845"></a><tt class="py-lineno"> 845</tt>  <tt class="py-line"><tt class="py-docstring">      token_uri: string, URI for token endpoint. For convenience</tt> </tt>
-<a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line"><tt class="py-docstring">        defaults to Google's endpoints but any OAuth 2.0 provider can be used.</tt> </tt>
-<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line"><tt class="py-docstring">      revoke_uri: string, URI for revoke endpoint.</tt> </tt>
-<a name="L848"></a><tt class="py-lineno"> 848</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-133" class="py-name" targets="Class oauth2client.client.AssertionCredentials=oauth2client.client.AssertionCredentials-class.html"><a title="oauth2client.client.AssertionCredentials" class="py-name" href="#" onclick="return doclink('link-133', 'AssertionCredentials', 'link-133');">AssertionCredentials</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="apiclient.channel.Channel.__init__
-apiclient.channel.Notification.__init__
-apiclient.discovery.Resource.__init__
-apiclient.discovery.ResourceMethodParameters.__init__
-apiclient.errors.BatchError.__init__
-apiclient.errors.HttpError.__init__
-apiclient.errors.UnexpectedBodyError.__init__
-apiclient.errors.UnexpectedMethodError.__init__
-apiclient.http.BatchHttpRequest.__init__
-apiclient.http.HttpMock.__init__
-apiclient.http.HttpMockSequence.__init__
-apiclient.http.HttpRequest.__init__
-apiclient.http.HttpRequestMock.__init__
-apiclient.http.MediaDownloadProgress.__init__
-apiclient.http.MediaFileUpload.__init__
-apiclient.http.MediaInMemoryUpload.__init__
-apiclient.http.MediaIoBaseDownload.__init__
-apiclient.http.MediaIoBaseUpload.__init__
-apiclient.http.MediaUploadProgress.__init__
-apiclient.http.RequestMockBuilder.__init__
-apiclient.http._StreamSlice.__init__
-apiclient.model.JsonModel.__init__
-apiclient.model.ProtocolBufferModel.__init__
-apiclient.schema.Schemas.__init__
-apiclient.schema._SchemaToStruct.__init__
-oauth2client.appengine.AppAssertionCredentials.__init__
-oauth2client.appengine.OAuth2Decorator.__init__
-oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__
-oauth2client.appengine.StorageByKeyName.__init__
-oauth2client.client.AccessTokenCredentials.__init__
-oauth2client.client.AssertionCredentials.__init__
-oauth2client.client.MemoryCache.__init__
-oauth2client.client.OAuth2Credentials.__init__
-oauth2client.client.OAuth2WebServerFlow.__init__
-oauth2client.client.SignedJwtAssertionCredentials.__init__
-oauth2client.django_orm.CredentialsField.__init__
-oauth2client.django_orm.FlowField.__init__
-oauth2client.django_orm.Storage.__init__
-oauth2client.file.Storage.__init__
-oauth2client.gce.AppAssertionCredentials.__init__
-oauth2client.keyring_storage.Storage.__init__
-oauth2client.locked_file.LockedFile.__init__
-oauth2client.locked_file._Opener.__init__
-oauth2client.multistore_file._MultiStore._Storage.__init__
-oauth2client.multistore_file._MultiStore.__init__" class="py-name" href="#" onclick="return doclink('link-134', '__init__', 'link-125');">__init__</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line">        <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line">        <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line">        <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line">        <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line">        <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L855"></a><tt class="py-lineno"> 855</tt>  <tt class="py-line">        <tt class="py-name">token_uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L856"></a><tt class="py-lineno"> 856</tt>  <tt class="py-line">        <tt class="py-name">user_agent</tt><tt class="py-op">,</tt> </tt>
-<a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line">        <tt class="py-name">revoke_uri</tt><tt class="py-op">=</tt><tt class="py-name">revoke_uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertion_type</tt> <tt class="py-op">=</tt> <tt class="py-name">assertion_type</tt> </tt>
-</div><a name="L859"></a><tt class="py-lineno"> 859</tt>  <tt class="py-line"> </tt>
-<a name="AssertionCredentials._generate_refresh_request_body"></a><div id="AssertionCredentials._generate_refresh_request_body-def"><a name="L860"></a><tt class="py-lineno"> 860</tt> <a class="py-toggle" href="#" id="AssertionCredentials._generate_refresh_request_body-toggle" onclick="return toggle('AssertionCredentials._generate_refresh_request_body');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.AssertionCredentials-class.html#_generate_refresh_request_body">_generate_refresh_request_body</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AssertionCredentials._generate_refresh_request_body-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="AssertionCredentials._generate_refresh_request_body-expanded"><a name="L861"></a><tt class="py-lineno"> 861</tt>  <tt class="py-line">    <tt class="py-name">assertion</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name" targets="Method oauth2client.client.AssertionCredentials._generate_assertion()=oauth2client.client.AssertionCredentials-class.html#_generate_assertion,Method oauth2client.client.SignedJwtAssertionCredentials._generate_assertion()=oauth2client.client.SignedJwtAssertionCredentials-class.html#_generate_assertion"><a title="oauth2client.client.AssertionCredentials._generate_assertion
-oauth2client.client.SignedJwtAssertionCredentials._generate_assertion" class="py-name" href="#" onclick="return doclink('link-135', '_generate_assertion', 'link-135');">_generate_assertion</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line"> </tt>
-<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line">    <tt id="link-136" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-136', 'body', 'link-63');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-op">{</tt> </tt>
-<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line">        <tt class="py-string">'assertion'</tt><tt class="py-op">:</tt> <tt class="py-name">assertion</tt><tt class="py-op">,</tt> </tt>
-<a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line">        <tt class="py-string">'grant_type'</tt><tt class="py-op">:</tt> <tt class="py-string">'urn:ietf:params:oauth:grant-type:jwt-bearer'</tt><tt class="py-op">,</tt> </tt>
-<a name="L866"></a><tt class="py-lineno"> 866</tt>  <tt class="py-line">        <tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line"> </tt>
-<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-137" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-137', 'body', 'link-63');">body</a></tt> </tt>
-</div><a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line"> </tt>
-<a name="AssertionCredentials._generate_assertion"></a><div id="AssertionCredentials._generate_assertion-def"><a name="L870"></a><tt class="py-lineno"> 870</tt> <a class="py-toggle" href="#" id="AssertionCredentials._generate_assertion-toggle" onclick="return toggle('AssertionCredentials._generate_assertion');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.AssertionCredentials-class.html#_generate_assertion">_generate_assertion</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AssertionCredentials._generate_assertion-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="AssertionCredentials._generate_assertion-expanded"><a name="L871"></a><tt class="py-lineno"> 871</tt>  <tt class="py-line">    <tt class="py-docstring">"""Generate the assertion string that will be used in the access token</tt> </tt>
-<a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line"><tt class="py-docstring">    request.</tt> </tt>
-<a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L874"></a><tt class="py-lineno"> 874</tt>  <tt class="py-line">    <tt id="link-138" class="py-name"><a title="apiclient.model._abstract
-oauth2client.client._abstract" class="py-name" href="#" onclick="return doclink('link-138', '_abstract', 'link-26');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line"> </tt>
-<a name="AssertionCredentials._revoke"></a><div id="AssertionCredentials._revoke-def"><a name="L876"></a><tt class="py-lineno"> 876</tt> <a class="py-toggle" href="#" id="AssertionCredentials._revoke-toggle" onclick="return toggle('AssertionCredentials._revoke');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.AssertionCredentials-class.html#_revoke">_revoke</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http_request</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AssertionCredentials._revoke-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="AssertionCredentials._revoke-expanded"><a name="L877"></a><tt class="py-lineno"> 877</tt>  <tt class="py-line">    <tt class="py-docstring">"""Revokes the access_token and deletes the store if available.</tt> </tt>
-<a name="L878"></a><tt class="py-lineno"> 878</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L880"></a><tt class="py-lineno"> 880</tt>  <tt class="py-line"><tt class="py-docstring">      http_request: callable, a callable that matches the method signature of</tt> </tt>
-<a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line"><tt class="py-docstring">        httplib2.Http.request, used to make the revoke request.</tt> </tt>
-<a name="L882"></a><tt class="py-lineno"> 882</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="oauth2client.client.OAuth2Credentials._do_revoke" class="py-name" href="#" onclick="return doclink('link-139', '_do_revoke', 'link-116');">_do_revoke</a></tt><tt class="py-op">(</tt><tt class="py-name">http_request</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">access_token</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line"> </tt>
-<a name="L885"></a><tt class="py-lineno"> 885</tt>  <tt class="py-line"> </tt>
-<a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt id="link-140" class="py-name"><a title="oauth2client.client.HAS_CRYPTO" class="py-name" href="#" onclick="return doclink('link-140', 'HAS_CRYPTO', 'link-12');">HAS_CRYPTO</a></tt><tt class="py-op">:</tt> </tt>
-<a name="SignedJwtAssertionCredentials"></a><div id="SignedJwtAssertionCredentials-def"><a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line">  <tt class="py-comment"># PyOpenSSL and PyCrypto are not prerequisites for oauth2client, so if it is</tt> </tt>
-<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line">  <tt class="py-comment"># missing then don't create the SignedJwtAssertionCredentials or the</tt> </tt>
-<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line">  <tt class="py-comment"># verify_id_token() method.</tt> </tt>
-<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line"> </tt>
-<a name="L891"></a><tt class="py-lineno"> 891</tt> <a class="py-toggle" href="#" id="SignedJwtAssertionCredentials-toggle" onclick="return toggle('SignedJwtAssertionCredentials');">-</a><tt class="py-line">  <tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.client.SignedJwtAssertionCredentials-class.html">SignedJwtAssertionCredentials</a><tt class="py-op">(</tt><tt class="py-base-class">AssertionCredentials</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SignedJwtAssertionCredentials-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="SignedJwtAssertionCredentials-expanded"><a name="L892"></a><tt class="py-lineno"> 892</tt>  <tt class="py-line">    <tt class="py-docstring">"""Credentials object used for OAuth 2.0 Signed JWT assertion grants.</tt> </tt>
-<a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line"><tt class="py-docstring">    This credential does not require a flow to instantiate because it represents</tt> </tt>
-<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line"><tt class="py-docstring">    a two legged flow, and therefore has all of the required information to</tt> </tt>
-<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line"><tt class="py-docstring">    generate and refresh its own access tokens.</tt> </tt>
-<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line"><tt class="py-docstring">    SignedJwtAssertionCredentials requires either PyOpenSSL, or PyCrypto 2.6 or</tt> </tt>
-<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line"><tt class="py-docstring">    later. For App Engine you may also consider using AppAssertionCredentials.</tt> </tt>
-<a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L901"></a><tt class="py-lineno"> 901</tt>  <tt class="py-line"> </tt>
-<a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line">    <tt id="link-141" class="py-name" targets="Variable oauth2client.client.SignedJwtAssertionCredentials.MAX_TOKEN_LIFETIME_SECS=oauth2client.client.SignedJwtAssertionCredentials-class.html#MAX_TOKEN_LIFETIME_SECS,Variable oauth2client.crypt.MAX_TOKEN_LIFETIME_SECS=oauth2client.crypt-module.html#MAX_TOKEN_LIFETIME_SECS"><a title="oauth2client.client.SignedJwtAssertionCredentials.MAX_TOKEN_LIFETIME_SECS
-oauth2client.crypt.MAX_TOKEN_LIFETIME_SECS" class="py-name" href="#" onclick="return doclink('link-141', 'MAX_TOKEN_LIFETIME_SECS', 'link-141');">MAX_TOKEN_LIFETIME_SECS</a></tt> <tt class="py-op">=</tt> <tt class="py-number">3600</tt> <tt class="py-comment"># 1 hour in seconds</tt> </tt>
-<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line"> </tt>
-<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-142', 'positional', 'link-56');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="SignedJwtAssertionCredentials.__init__"></a><div id="SignedJwtAssertionCredentials.__init__-def"><a name="L905"></a><tt class="py-lineno"> 905</tt> <a class="py-toggle" href="#" id="SignedJwtAssertionCredentials.__init__-toggle" onclick="return toggle('SignedJwtAssertionCredentials.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.SignedJwtAssertionCredentials-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> </tt>
-<a name="L906"></a><tt class="py-lineno"> 906</tt>  <tt class="py-line">        <tt class="py-param">service_account_name</tt><tt class="py-op">,</tt> </tt>
-<a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line">        <tt class="py-param">private_key</tt><tt class="py-op">,</tt> </tt>
-<a name="L908"></a><tt class="py-lineno"> 908</tt>  <tt class="py-line">        <tt class="py-param">scope</tt><tt class="py-op">,</tt> </tt>
-<a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line">        <tt class="py-param">private_key_password</tt><tt class="py-op">=</tt><tt class="py-string">'notasecret'</tt><tt class="py-op">,</tt> </tt>
-<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line">        <tt class="py-param">user_agent</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line">        <tt class="py-param">token_uri</tt><tt class="py-op">=</tt><tt id="link-143" class="py-name"><a title="oauth2client.GOOGLE_TOKEN_URI" class="py-name" href="#" onclick="return doclink('link-143', 'GOOGLE_TOKEN_URI', 'link-6');">GOOGLE_TOKEN_URI</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line">        <tt class="py-param">revoke_uri</tt><tt class="py-op">=</tt><tt id="link-144" class="py-name"><a title="oauth2client.GOOGLE_REVOKE_URI" class="py-name" href="#" onclick="return doclink('link-144', 'GOOGLE_REVOKE_URI', 'link-4');">GOOGLE_REVOKE_URI</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L913"></a><tt class="py-lineno"> 913</tt>  <tt class="py-line">        <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SignedJwtAssertionCredentials.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++++"></div><div id="SignedJwtAssertionCredentials.__init__-expanded"><a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line">      <tt class="py-docstring">"""Constructor for SignedJwtAssertionCredentials.</tt> </tt>
-<a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line"><tt class="py-docstring">        service_account_name: string, id for account, usually an email address.</tt> </tt>
-<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line"><tt class="py-docstring">        private_key: string, private key in PKCS12 or PEM format.</tt> </tt>
-<a name="L919"></a><tt class="py-lineno"> 919</tt>  <tt class="py-line"><tt class="py-docstring">        scope: string or iterable of strings, scope(s) of the credentials being</tt> </tt>
-<a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line"><tt class="py-docstring">          requested.</tt> </tt>
-<a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line"><tt class="py-docstring">        private_key_password: string, password for private_key, unused if</tt> </tt>
-<a name="L922"></a><tt class="py-lineno"> 922</tt>  <tt class="py-line"><tt class="py-docstring">          private_key is in PEM format.</tt> </tt>
-<a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line"><tt class="py-docstring">        user_agent: string, HTTP User-Agent to provide for this application.</tt> </tt>
-<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line"><tt class="py-docstring">        token_uri: string, URI for token endpoint. For convenience</tt> </tt>
-<a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line"><tt class="py-docstring">          defaults to Google's endpoints but any OAuth 2.0 provider can be used.</tt> </tt>
-<a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line"><tt class="py-docstring">        revoke_uri: string, URI for revoke endpoint.</tt> </tt>
-<a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line"><tt class="py-docstring">        kwargs: kwargs, Additional parameters to add to the JWT token, for</tt> </tt>
-<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line"><tt class="py-docstring">          example sub=joe@xample.org."""</tt> </tt>
-<a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line"> </tt>
-<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line">      <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-145" class="py-name" targets="Class oauth2client.client.SignedJwtAssertionCredentials=oauth2client.client.SignedJwtAssertionCredentials-class.html"><a title="oauth2client.client.SignedJwtAssertionCredentials" class="py-name" href="#" onclick="return doclink('link-145', 'SignedJwtAssertionCredentials', 'link-145');">SignedJwtAssertionCredentials</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="apiclient.channel.Channel.__init__
-apiclient.channel.Notification.__init__
-apiclient.discovery.Resource.__init__
-apiclient.discovery.ResourceMethodParameters.__init__
-apiclient.errors.BatchError.__init__
-apiclient.errors.HttpError.__init__
-apiclient.errors.UnexpectedBodyError.__init__
-apiclient.errors.UnexpectedMethodError.__init__
-apiclient.http.BatchHttpRequest.__init__
-apiclient.http.HttpMock.__init__
-apiclient.http.HttpMockSequence.__init__
-apiclient.http.HttpRequest.__init__
-apiclient.http.HttpRequestMock.__init__
-apiclient.http.MediaDownloadProgress.__init__
-apiclient.http.MediaFileUpload.__init__
-apiclient.http.MediaInMemoryUpload.__init__
-apiclient.http.MediaIoBaseDownload.__init__
-apiclient.http.MediaIoBaseUpload.__init__
-apiclient.http.MediaUploadProgress.__init__
-apiclient.http.RequestMockBuilder.__init__
-apiclient.http._StreamSlice.__init__
-apiclient.model.JsonModel.__init__
-apiclient.model.ProtocolBufferModel.__init__
-apiclient.schema.Schemas.__init__
-apiclient.schema._SchemaToStruct.__init__
-oauth2client.appengine.AppAssertionCredentials.__init__
-oauth2client.appengine.OAuth2Decorator.__init__
-oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__
-oauth2client.appengine.StorageByKeyName.__init__
-oauth2client.client.AccessTokenCredentials.__init__
-oauth2client.client.AssertionCredentials.__init__
-oauth2client.client.MemoryCache.__init__
-oauth2client.client.OAuth2Credentials.__init__
-oauth2client.client.OAuth2WebServerFlow.__init__
-oauth2client.client.SignedJwtAssertionCredentials.__init__
-oauth2client.django_orm.CredentialsField.__init__
-oauth2client.django_orm.FlowField.__init__
-oauth2client.django_orm.Storage.__init__
-oauth2client.file.Storage.__init__
-oauth2client.gce.AppAssertionCredentials.__init__
-oauth2client.keyring_storage.Storage.__init__
-oauth2client.locked_file.LockedFile.__init__
-oauth2client.locked_file._Opener.__init__
-oauth2client.multistore_file._MultiStore._Storage.__init__
-oauth2client.multistore_file._MultiStore.__init__" class="py-name" href="#" onclick="return doclink('link-146', '__init__', 'link-125');">__init__</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line">          <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line">          <tt class="py-name">user_agent</tt><tt class="py-op">=</tt><tt class="py-name">user_agent</tt><tt class="py-op">,</tt> </tt>
-<a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line">          <tt class="py-name">token_uri</tt><tt class="py-op">=</tt><tt class="py-name">token_uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L934"></a><tt class="py-lineno"> 934</tt>  <tt class="py-line">          <tt class="py-name">revoke_uri</tt><tt class="py-op">=</tt><tt class="py-name">revoke_uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L935"></a><tt class="py-lineno"> 935</tt>  <tt class="py-line">          <tt class="py-op">)</tt> </tt>
-<a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line"> </tt>
-<a name="L937"></a><tt class="py-lineno"> 937</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">scope</tt> <tt class="py-op">=</tt> <tt id="link-147" class="py-name"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-147', 'util', 'link-8');">util</a></tt><tt class="py-op">.</tt><tt id="link-148" class="py-name" targets="Function oauth2client.util.scopes_to_string()=oauth2client.util-module.html#scopes_to_string"><a title="oauth2client.util.scopes_to_string" class="py-name" href="#" onclick="return doclink('link-148', 'scopes_to_string', 'link-148');">scopes_to_string</a></tt><tt class="py-op">(</tt><tt class="py-name">scope</tt><tt class="py-op">)</tt> </tt>
-<a name="L938"></a><tt class="py-lineno"> 938</tt>  <tt class="py-line"> </tt>
-<a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line">      <tt class="py-comment"># Keep base64 encoded so it can be stored in JSON.</tt> </tt>
-<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">private_key</tt> <tt class="py-op">=</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">b64encode</tt><tt class="py-op">(</tt><tt class="py-name">private_key</tt><tt class="py-op">)</tt> </tt>
-<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line"> </tt>
-<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">private_key_password</tt> <tt class="py-op">=</tt> <tt class="py-name">private_key_password</tt> </tt>
-<a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">service_account_name</tt> <tt class="py-op">=</tt> <tt class="py-name">service_account_name</tt> </tt>
-<a name="L944"></a><tt class="py-lineno"> 944</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">kwargs</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt> </tt>
-</div><a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line"> </tt>
-<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">classmethod</tt> </tt>
-<a name="SignedJwtAssertionCredentials.from_json"></a><div id="SignedJwtAssertionCredentials.from_json-def"><a name="L947"></a><tt class="py-lineno"> 947</tt> <a class="py-toggle" href="#" id="SignedJwtAssertionCredentials.from_json-toggle" onclick="return toggle('SignedJwtAssertionCredentials.from_json');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.SignedJwtAssertionCredentials-class.html#from_json">from_json</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SignedJwtAssertionCredentials.from_json-collapsed" style="display:none;" pad="++++" indent="++++++++++"></div><div id="SignedJwtAssertionCredentials.from_json-expanded"><a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line">      <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-149', 'loads', 'link-34');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line">      <tt class="py-name">retval</tt> <tt class="py-op">=</tt> <tt id="link-150" class="py-name"><a title="oauth2client.client.SignedJwtAssertionCredentials" class="py-name" href="#" onclick="return doclink('link-150', 'SignedJwtAssertionCredentials', 'link-145');">SignedJwtAssertionCredentials</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L950"></a><tt class="py-lineno"> 950</tt>  <tt class="py-line">          <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'service_account_name'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line">          <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">b64decode</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'private_key'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line">          <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'scope'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line">          <tt class="py-name">private_key_password</tt><tt class="py-op">=</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'private_key_password'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line">          <tt class="py-name">user_agent</tt><tt class="py-op">=</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'user_agent'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line">          <tt class="py-name">token_uri</tt><tt class="py-op">=</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'token_uri'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line">          <tt class="py-op">**</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'kwargs'</tt><tt class="py-op">]</tt> </tt>
-<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line">          <tt class="py-op">)</tt> </tt>
-<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line">      <tt class="py-name">retval</tt><tt class="py-op">.</tt><tt class="py-name">invalid</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'invalid'</tt><tt class="py-op">]</tt> </tt>
-<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line">      <tt class="py-name">retval</tt><tt class="py-op">.</tt><tt class="py-name">access_token</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'access_token'</tt><tt class="py-op">]</tt> </tt>
-<a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">retval</tt> </tt>
-</div><a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line"> </tt>
-<a name="SignedJwtAssertionCredentials._generate_assertion"></a><div id="SignedJwtAssertionCredentials._generate_assertion-def"><a name="L962"></a><tt class="py-lineno"> 962</tt> <a class="py-toggle" href="#" id="SignedJwtAssertionCredentials._generate_assertion-toggle" onclick="return toggle('SignedJwtAssertionCredentials._generate_assertion');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.SignedJwtAssertionCredentials-class.html#_generate_assertion">_generate_assertion</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SignedJwtAssertionCredentials._generate_assertion-collapsed" style="display:none;" pad="++++" indent="++++++++++"></div><div id="SignedJwtAssertionCredentials._generate_assertion-expanded"><a name="L963"></a><tt class="py-lineno"> 963</tt>  <tt class="py-line">      <tt class="py-docstring">"""Generate the assertion that will be used in the request."""</tt> </tt>
-<a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line">      <tt class="py-name">now</tt> <tt class="py-op">=</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L965"></a><tt class="py-lineno"> 965</tt>  <tt class="py-line">      <tt class="py-name">payload</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line">          <tt class="py-string">'aud'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">token_uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line">          <tt class="py-string">'scope'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">scope</tt><tt class="py-op">,</tt> </tt>
-<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line">          <tt class="py-string">'iat'</tt><tt class="py-op">:</tt> <tt class="py-name">now</tt><tt class="py-op">,</tt> </tt>
-<a name="L969"></a><tt class="py-lineno"> 969</tt>  <tt class="py-line">          <tt class="py-string">'exp'</tt><tt class="py-op">:</tt> <tt class="py-name">now</tt> <tt class="py-op">+</tt> <tt id="link-151" class="py-name"><a title="oauth2client.client.SignedJwtAssertionCredentials" class="py-name" href="#" onclick="return doclink('link-151', 'SignedJwtAssertionCredentials', 'link-145');">SignedJwtAssertionCredentials</a></tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="oauth2client.client.SignedJwtAssertionCredentials.MAX_TOKEN_LIFETIME_SECS
-oauth2client.crypt.MAX_TOKEN_LIFETIME_SECS" class="py-name" href="#" onclick="return doclink('link-152', 'MAX_TOKEN_LIFETIME_SECS', 'link-141');">MAX_TOKEN_LIFETIME_SECS</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line">          <tt class="py-string">'iss'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">service_account_name</tt> </tt>
-<a name="L971"></a><tt class="py-lineno"> 971</tt>  <tt class="py-line">      <tt class="py-op">}</tt> </tt>
-<a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line">      <tt class="py-name">payload</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="apiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-153', 'update', 'link-54');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L973"></a><tt class="py-lineno"> 973</tt>  <tt class="py-line">      <tt id="link-154" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-154', 'logger', 'link-19');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">payload</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L974"></a><tt class="py-lineno"> 974</tt>  <tt class="py-line"> </tt>
-<a name="L975"></a><tt class="py-lineno"> 975</tt>  <tt class="py-line">      <tt class="py-name">private_key</tt> <tt class="py-op">=</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">b64decode</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">private_key</tt><tt class="py-op">)</tt> </tt>
-<a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-155" class="py-name"><a title="oauth2client.crypt" class="py-name" href="#" onclick="return doclink('link-155', 'crypt', 'link-14');">crypt</a></tt><tt class="py-op">.</tt><tt id="link-156" class="py-name" targets="Function oauth2client.crypt.make_signed_jwt()=oauth2client.crypt-module.html#make_signed_jwt"><a title="oauth2client.crypt.make_signed_jwt" class="py-name" href="#" onclick="return doclink('link-156', 'make_signed_jwt', 'link-156');">make_signed_jwt</a></tt><tt class="py-op">(</tt><tt id="link-157" class="py-name"><a title="oauth2client.crypt" class="py-name" href="#" onclick="return doclink('link-157', 'crypt', 'link-14');">crypt</a></tt><tt class="py-op">.</tt><tt id="link-158" class="py-name" targets="Variable oauth2client.crypt.Signer=oauth2client.crypt-module.html#Signer"><a title="oauth2client.crypt.Signer" class="py-name" href="#" onclick="return doclink('link-158', 'Signer', 'link-158');">Signer</a></tt><tt class="py-op">.</tt><tt class="py-name">from_string</tt><tt class="py-op">(</tt> </tt>
-<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line">          <tt class="py-name">private_key</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">private_key_password</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">payload</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line"> </tt>
-<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line">  <tt class="py-comment"># Only used in verify_id_token(), which is always calling to the same URI</tt> </tt>
-<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line">  <tt class="py-comment"># for the certs.</tt> </tt>
-<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line">  <tt id="link-159" class="py-name" targets="Variable oauth2client.client._cached_http=oauth2client.client-module.html#_cached_http"><a title="oauth2client.client._cached_http" class="py-name" href="#" onclick="return doclink('link-159', '_cached_http', 'link-159');">_cached_http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Http</tt><tt class="py-op">(</tt><tt id="link-160" class="py-name" targets="Class oauth2client.client.MemoryCache=oauth2client.client.MemoryCache-class.html"><a title="oauth2client.client.MemoryCache" class="py-name" href="#" onclick="return doclink('link-160', 'MemoryCache', 'link-160');">MemoryCache</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line"> </tt>
-<a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-161', 'positional', 'link-56');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="verify_id_token"></a><div id="verify_id_token-def"><a name="L984"></a><tt class="py-lineno"> 984</tt> <a class="py-toggle" href="#" id="verify_id_token-toggle" onclick="return toggle('verify_id_token');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client-module.html#verify_id_token">verify_id_token</a><tt class="py-op">(</tt><tt class="py-param">id_token</tt><tt class="py-op">,</tt> <tt class="py-param">audience</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line">      <tt class="py-param">cert_uri</tt><tt class="py-op">=</tt><tt id="link-162" class="py-name"><a title="oauth2client.client.ID_TOKEN_VERIFICATON_CERTS" class="py-name" href="#" onclick="return doclink('link-162', 'ID_TOKEN_VERIFICATON_CERTS', 'link-21');">ID_TOKEN_VERIFICATON_CERTS</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="verify_id_token-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="verify_id_token-expanded"><a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line">    <tt class="py-docstring">"""Verifies a signed JWT id_token.</tt> </tt>
-<a name="L987"></a><tt class="py-lineno"> 987</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line"><tt class="py-docstring">    This function requires PyOpenSSL and because of that it does not work on</tt> </tt>
-<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line"><tt class="py-docstring">    App Engine.</tt> </tt>
-<a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line"><tt class="py-docstring">      id_token: string, A Signed JWT.</tt> </tt>
-<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line"><tt class="py-docstring">      audience: string, The audience 'aud' that the token should be for.</tt> </tt>
-<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, instance to use to make the HTTP request. Callers</tt> </tt>
-<a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line"><tt class="py-docstring">        should supply an instance that has caching enabled.</tt> </tt>
-<a name="L996"></a><tt class="py-lineno"> 996</tt>  <tt class="py-line"><tt class="py-docstring">      cert_uri: string, URI of the certificates in JSON format to</tt> </tt>
-<a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line"><tt class="py-docstring">        verify the JWT against.</tt> </tt>
-<a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line"><tt class="py-docstring">      The deserialized JSON in the JWT.</tt> </tt>
-<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line"><tt class="py-docstring">      oauth2client.crypt.AppIdentityError if the JWT fails to verify.</tt> </tt>
-<a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-163" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-163', 'http', 'link-57');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line">      <tt id="link-164" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-164', 'http', 'link-57');">http</a></tt> <tt class="py-op">=</tt> <tt id="link-165" class="py-name"><a title="oauth2client.client._cached_http" class="py-name" href="#" onclick="return doclink('link-165', '_cached_http', 'link-159');">_cached_http</a></tt> </tt>
-<a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line"> </tt>
-<a name="L1008"></a><tt class="py-lineno">1008</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-166" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-166', 'http', 'link-57');">http</a></tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-167', 'request', 'link-58');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">cert_uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line"> </tt>
-<a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">200</tt><tt class="py-op">:</tt> </tt>
-<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line">      <tt class="py-name">certs</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-168', 'loads', 'link-34');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-169" class="py-name"><a title="oauth2client.crypt" class="py-name" href="#" onclick="return doclink('link-169', 'crypt', 'link-14');">crypt</a></tt><tt class="py-op">.</tt><tt id="link-170" class="py-name" targets="Function oauth2client.crypt.verify_signed_jwt_with_certs()=oauth2client.crypt-module.html#verify_signed_jwt_with_certs"><a title="oauth2client.crypt.verify_signed_jwt_with_certs" class="py-name" href="#" onclick="return doclink('link-170', 'verify_signed_jwt_with_certs', 'link-170');">verify_signed_jwt_with_certs</a></tt><tt class="py-op">(</tt><tt class="py-name">id_token</tt><tt class="py-op">,</tt> <tt class="py-name">certs</tt><tt class="py-op">,</tt> <tt class="py-name">audience</tt><tt class="py-op">)</tt> </tt>
-<a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1014"></a><tt class="py-lineno">1014</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-171" class="py-name" targets="Class oauth2client.client.VerifyJwtTokenError=oauth2client.client.VerifyJwtTokenError-class.html"><a title="oauth2client.client.VerifyJwtTokenError" class="py-name" href="#" onclick="return doclink('link-171', 'VerifyJwtTokenError', 'link-171');">VerifyJwtTokenError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Status code: %d'</tt> <tt class="py-op">%</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1015"></a><tt class="py-lineno">1015</tt>  <tt class="py-line"> </tt>
-<a name="_urlsafe_b64decode"></a><div id="_urlsafe_b64decode-def"><a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line"> </tt>
-<a name="L1017"></a><tt class="py-lineno">1017</tt> <a class="py-toggle" href="#" id="_urlsafe_b64decode-toggle" onclick="return toggle('_urlsafe_b64decode');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client-module.html#_urlsafe_b64decode">_urlsafe_b64decode</a><tt class="py-op">(</tt><tt class="py-param">b64string</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_urlsafe_b64decode-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_urlsafe_b64decode-expanded"><a name="L1018"></a><tt class="py-lineno">1018</tt>  <tt class="py-line">  <tt class="py-comment"># Guard against unicode strings, which base64 can't handle.</tt> </tt>
-<a name="L1019"></a><tt class="py-lineno">1019</tt>  <tt class="py-line">  <tt class="py-name">b64string</tt> <tt class="py-op">=</tt> <tt class="py-name">b64string</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'ascii'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1020"></a><tt class="py-lineno">1020</tt>  <tt class="py-line">  <tt class="py-name">padded</tt> <tt class="py-op">=</tt> <tt class="py-name">b64string</tt> <tt class="py-op">+</tt> <tt class="py-string">'='</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-number">4</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">b64string</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="L1021"></a><tt class="py-lineno">1021</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">urlsafe_b64decode</tt><tt class="py-op">(</tt><tt class="py-name">padded</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1022"></a><tt class="py-lineno">1022</tt>  <tt class="py-line"> </tt>
-<a name="_extract_id_token"></a><div id="_extract_id_token-def"><a name="L1023"></a><tt class="py-lineno">1023</tt>  <tt class="py-line"> </tt>
-<a name="L1024"></a><tt class="py-lineno">1024</tt> <a class="py-toggle" href="#" id="_extract_id_token-toggle" onclick="return toggle('_extract_id_token');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client-module.html#_extract_id_token">_extract_id_token</a><tt class="py-op">(</tt><tt class="py-param">id_token</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_extract_id_token-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_extract_id_token-expanded"><a name="L1025"></a><tt class="py-lineno">1025</tt>  <tt class="py-line">  <tt class="py-docstring">"""Extract the JSON payload from a JWT.</tt> </tt>
-<a name="L1026"></a><tt class="py-lineno">1026</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line"><tt class="py-docstring">  Does the extraction w/o checking the signature.</tt> </tt>
-<a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1029"></a><tt class="py-lineno">1029</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line"><tt class="py-docstring">    id_token: string, OAuth 2.0 id_token.</tt> </tt>
-<a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line"><tt class="py-docstring">    object, The deserialized JSON payload.</tt> </tt>
-<a name="L1034"></a><tt class="py-lineno">1034</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L1035"></a><tt class="py-lineno">1035</tt>  <tt class="py-line">  <tt class="py-name">segments</tt> <tt class="py-op">=</tt> <tt class="py-name">id_token</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line"> </tt>
-<a name="L1037"></a><tt class="py-lineno">1037</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">segments</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-172" class="py-name"><a title="oauth2client.client.VerifyJwtTokenError" class="py-name" href="#" onclick="return doclink('link-172', 'VerifyJwtTokenError', 'link-171');">VerifyJwtTokenError</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line">      <tt class="py-string">'Wrong number of segments in token: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">id_token</tt><tt class="py-op">)</tt> </tt>
-<a name="L1040"></a><tt class="py-lineno">1040</tt>  <tt class="py-line"> </tt>
-<a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-173', 'loads', 'link-34');">loads</a></tt><tt class="py-op">(</tt><tt id="link-174" class="py-name" targets="Function oauth2client.client._urlsafe_b64decode()=oauth2client.client-module.html#_urlsafe_b64decode,Function oauth2client.crypt._urlsafe_b64decode()=oauth2client.crypt-module.html#_urlsafe_b64decode"><a title="oauth2client.client._urlsafe_b64decode
-oauth2client.crypt._urlsafe_b64decode" class="py-name" href="#" onclick="return doclink('link-174', '_urlsafe_b64decode', 'link-174');">_urlsafe_b64decode</a></tt><tt class="py-op">(</tt><tt class="py-name">segments</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1042"></a><tt class="py-lineno">1042</tt>  <tt class="py-line"> </tt>
-<a name="_parse_exchange_token_response"></a><div id="_parse_exchange_token_response-def"><a name="L1043"></a><tt class="py-lineno">1043</tt>  <tt class="py-line"> </tt>
-<a name="L1044"></a><tt class="py-lineno">1044</tt> <a class="py-toggle" href="#" id="_parse_exchange_token_response-toggle" onclick="return toggle('_parse_exchange_token_response');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client-module.html#_parse_exchange_token_response">_parse_exchange_token_response</a><tt class="py-op">(</tt><tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_parse_exchange_token_response-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_parse_exchange_token_response-expanded"><a name="L1045"></a><tt class="py-lineno">1045</tt>  <tt class="py-line">  <tt class="py-docstring">"""Parses response of an exchange token request.</tt> </tt>
-<a name="L1046"></a><tt class="py-lineno">1046</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1047"></a><tt class="py-lineno">1047</tt>  <tt class="py-line"><tt class="py-docstring">  Most providers return JSON but some (e.g. Facebook) return a</tt> </tt>
-<a name="L1048"></a><tt class="py-lineno">1048</tt>  <tt class="py-line"><tt class="py-docstring">  url-encoded string.</tt> </tt>
-<a name="L1049"></a><tt class="py-lineno">1049</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1050"></a><tt class="py-lineno">1050</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L1051"></a><tt class="py-lineno">1051</tt>  <tt class="py-line"><tt class="py-docstring">    content: The body of a response</tt> </tt>
-<a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1053"></a><tt class="py-lineno">1053</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L1054"></a><tt class="py-lineno">1054</tt>  <tt class="py-line"><tt class="py-docstring">    Content as a dictionary object. Note that the dict could be empty,</tt> </tt>
-<a name="L1055"></a><tt class="py-lineno">1055</tt>  <tt class="py-line"><tt class="py-docstring">    i.e. {}. That basically indicates a failure.</tt> </tt>
-<a name="L1056"></a><tt class="py-lineno">1056</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L1057"></a><tt class="py-lineno">1057</tt>  <tt class="py-line">  <tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L1058"></a><tt class="py-lineno">1058</tt>  <tt class="py-line">  <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1059"></a><tt class="py-lineno">1059</tt>  <tt class="py-line">    <tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-175', 'loads', 'link-34');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L1060"></a><tt class="py-lineno">1060</tt>  <tt class="py-line">  <tt class="py-keyword">except</tt> <tt class="py-name">StandardError</tt><tt class="py-op">:</tt> </tt>
-<a name="L1061"></a><tt class="py-lineno">1061</tt>  <tt class="py-line">    <tt class="py-comment"># different JSON libs raise different exceptions,</tt> </tt>
-<a name="L1062"></a><tt class="py-lineno">1062</tt>  <tt class="py-line">    <tt class="py-comment"># so we just do a catch-all here</tt> </tt>
-<a name="L1063"></a><tt class="py-lineno">1063</tt>  <tt class="py-line">    <tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">parse_qsl</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1064"></a><tt class="py-lineno">1064</tt>  <tt class="py-line"> </tt>
-<a name="L1065"></a><tt class="py-lineno">1065</tt>  <tt class="py-line">  <tt class="py-comment"># some providers respond with 'expires', others with 'expires_in'</tt> </tt>
-<a name="L1066"></a><tt class="py-lineno">1066</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'expires'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resp</tt><tt class="py-op">:</tt> </tt>
-<a name="L1067"></a><tt class="py-lineno">1067</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'expires_in'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-string">'expires'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1068"></a><tt class="py-lineno">1068</tt>  <tt class="py-line"> </tt>
-<a name="L1069"></a><tt class="py-lineno">1069</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">resp</tt> </tt>
-</div><a name="L1070"></a><tt class="py-lineno">1070</tt>  <tt class="py-line"> </tt>
-<a name="credentials_from_code"></a><div id="credentials_from_code-def"><a name="L1071"></a><tt class="py-lineno">1071</tt>  <tt class="py-line"> </tt>
-<a name="L1072"></a><tt class="py-lineno">1072</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-176', 'positional', 'link-56');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="L1073"></a><tt class="py-lineno">1073</tt> <a class="py-toggle" href="#" id="credentials_from_code-toggle" onclick="return toggle('credentials_from_code');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client-module.html#credentials_from_code">credentials_from_code</a><tt class="py-op">(</tt><tt class="py-param">client_id</tt><tt class="py-op">,</tt> <tt class="py-param">client_secret</tt><tt class="py-op">,</tt> <tt class="py-param">scope</tt><tt class="py-op">,</tt> <tt class="py-param">code</tt><tt class="py-op">,</tt> </tt>
-<a name="L1074"></a><tt class="py-lineno">1074</tt>  <tt class="py-line">                          <tt class="py-param">redirect_uri</tt><tt class="py-op">=</tt><tt class="py-string">'postmessage'</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1075"></a><tt class="py-lineno">1075</tt>  <tt class="py-line">                          <tt class="py-param">user_agent</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">token_uri</tt><tt class="py-op">=</tt><tt id="link-177" class="py-name"><a title="oauth2client.GOOGLE_TOKEN_URI" class="py-name" href="#" onclick="return doclink('link-177', 'GOOGLE_TOKEN_URI', 'link-6');">GOOGLE_TOKEN_URI</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1076"></a><tt class="py-lineno">1076</tt>  <tt class="py-line">                          <tt class="py-param">auth_uri</tt><tt class="py-op">=</tt><tt id="link-178" class="py-name"><a title="oauth2client.GOOGLE_AUTH_URI" class="py-name" href="#" onclick="return doclink('link-178', 'GOOGLE_AUTH_URI', 'link-2');">GOOGLE_AUTH_URI</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1077"></a><tt class="py-lineno">1077</tt>  <tt class="py-line">                          <tt class="py-param">revoke_uri</tt><tt class="py-op">=</tt><tt id="link-179" class="py-name"><a title="oauth2client.GOOGLE_REVOKE_URI" class="py-name" href="#" onclick="return doclink('link-179', 'GOOGLE_REVOKE_URI', 'link-4');">GOOGLE_REVOKE_URI</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="credentials_from_code-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="credentials_from_code-expanded"><a name="L1078"></a><tt class="py-lineno">1078</tt>  <tt class="py-line">  <tt class="py-docstring">"""Exchanges an authorization code for an OAuth2Credentials object.</tt> </tt>
-<a name="L1079"></a><tt class="py-lineno">1079</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1080"></a><tt class="py-lineno">1080</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L1081"></a><tt class="py-lineno">1081</tt>  <tt class="py-line"><tt class="py-docstring">    client_id: string, client identifier.</tt> </tt>
-<a name="L1082"></a><tt class="py-lineno">1082</tt>  <tt class="py-line"><tt class="py-docstring">    client_secret: string, client secret.</tt> </tt>
-<a name="L1083"></a><tt class="py-lineno">1083</tt>  <tt class="py-line"><tt class="py-docstring">    scope: string or iterable of strings, scope(s) to request.</tt> </tt>
-<a name="L1084"></a><tt class="py-lineno">1084</tt>  <tt class="py-line"><tt class="py-docstring">    code: string, An authroization code, most likely passed down from</tt> </tt>
-<a name="L1085"></a><tt class="py-lineno">1085</tt>  <tt class="py-line"><tt class="py-docstring">      the client</tt> </tt>
-<a name="L1086"></a><tt class="py-lineno">1086</tt>  <tt class="py-line"><tt class="py-docstring">    redirect_uri: string, this is generally set to 'postmessage' to match the</tt> </tt>
-<a name="L1087"></a><tt class="py-lineno">1087</tt>  <tt class="py-line"><tt class="py-docstring">      redirect_uri that the client specified</tt> </tt>
-<a name="L1088"></a><tt class="py-lineno">1088</tt>  <tt class="py-line"><tt class="py-docstring">    http: httplib2.Http, optional http instance to use to do the fetch</tt> </tt>
-<a name="L1089"></a><tt class="py-lineno">1089</tt>  <tt class="py-line"><tt class="py-docstring">    token_uri: string, URI for token endpoint. For convenience</tt> </tt>
-<a name="L1090"></a><tt class="py-lineno">1090</tt>  <tt class="py-line"><tt class="py-docstring">      defaults to Google's endpoints but any OAuth 2.0 provider can be used.</tt> </tt>
-<a name="L1091"></a><tt class="py-lineno">1091</tt>  <tt class="py-line"><tt class="py-docstring">    auth_uri: string, URI for authorization endpoint. For convenience</tt> </tt>
-<a name="L1092"></a><tt class="py-lineno">1092</tt>  <tt class="py-line"><tt class="py-docstring">      defaults to Google's endpoints but any OAuth 2.0 provider can be used.</tt> </tt>
-<a name="L1093"></a><tt class="py-lineno">1093</tt>  <tt class="py-line"><tt class="py-docstring">    revoke_uri: string, URI for revoke endpoint. For convenience</tt> </tt>
-<a name="L1094"></a><tt class="py-lineno">1094</tt>  <tt class="py-line"><tt class="py-docstring">      defaults to Google's endpoints but any OAuth 2.0 provider can be used.</tt> </tt>
-<a name="L1095"></a><tt class="py-lineno">1095</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1096"></a><tt class="py-lineno">1096</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L1097"></a><tt class="py-lineno">1097</tt>  <tt class="py-line"><tt class="py-docstring">    An OAuth2Credentials object.</tt> </tt>
-<a name="L1098"></a><tt class="py-lineno">1098</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1099"></a><tt class="py-lineno">1099</tt>  <tt class="py-line"><tt class="py-docstring">  Raises:</tt> </tt>
-<a name="L1100"></a><tt class="py-lineno">1100</tt>  <tt class="py-line"><tt class="py-docstring">    FlowExchangeError if the authorization code cannot be exchanged for an</tt> </tt>
-<a name="L1101"></a><tt class="py-lineno">1101</tt>  <tt class="py-line"><tt class="py-docstring">     access token</tt> </tt>
-<a name="L1102"></a><tt class="py-lineno">1102</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L1103"></a><tt class="py-lineno">1103</tt>  <tt class="py-line">  <tt id="link-180" class="py-name" targets="Variable oauth2client.appengine.OAuth2Decorator.flow=oauth2client.appengine.OAuth2Decorator-class.html#flow"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-180', 'flow', 'link-180');">flow</a></tt> <tt class="py-op">=</tt> <tt id="link-181" class="py-name" targets="Class oauth2client.client.OAuth2WebServerFlow=oauth2client.client.OAuth2WebServerFlow-class.html"><a title="oauth2client.client.OAuth2WebServerFlow" class="py-name" href="#" onclick="return doclink('link-181', 'OAuth2WebServerFlow', 'link-181');">OAuth2WebServerFlow</a></tt><tt class="py-op">(</tt><tt class="py-name">client_id</tt><tt class="py-op">,</tt> <tt class="py-name">client_secret</tt><tt class="py-op">,</tt> <tt class="py-name">scope</tt><tt class="py-op">,</tt> </tt>
-<a name="L1104"></a><tt class="py-lineno">1104</tt>  <tt class="py-line">                             <tt class="py-name">redirect_uri</tt><tt class="py-op">=</tt><tt class="py-name">redirect_uri</tt><tt class="py-op">,</tt> <tt class="py-name">user_agent</tt><tt class="py-op">=</tt><tt class="py-name">user_agent</tt><tt class="py-op">,</tt> </tt>
-<a name="L1105"></a><tt class="py-lineno">1105</tt>  <tt class="py-line">                             <tt class="py-name">auth_uri</tt><tt class="py-op">=</tt><tt class="py-name">auth_uri</tt><tt class="py-op">,</tt> <tt class="py-name">token_uri</tt><tt class="py-op">=</tt><tt class="py-name">token_uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L1106"></a><tt class="py-lineno">1106</tt>  <tt class="py-line">                             <tt class="py-name">revoke_uri</tt><tt class="py-op">=</tt><tt class="py-name">revoke_uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L1107"></a><tt class="py-lineno">1107</tt>  <tt class="py-line"> </tt>
-<a name="L1108"></a><tt class="py-lineno">1108</tt>  <tt class="py-line">  <tt id="link-182" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-182', 'credentials', 'link-46');">credentials</a></tt> <tt class="py-op">=</tt> <tt id="link-183" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-183', 'flow', 'link-180');">flow</a></tt><tt class="py-op">.</tt><tt id="link-184" class="py-name" targets="Method oauth2client.client.OAuth2WebServerFlow.step2_exchange()=oauth2client.client.OAuth2WebServerFlow-class.html#step2_exchange"><a title="oauth2client.client.OAuth2WebServerFlow.step2_exchange" class="py-name" href="#" onclick="return doclink('link-184', 'step2_exchange', 'link-184');">step2_exchange</a></tt><tt class="py-op">(</tt><tt class="py-name">code</tt><tt class="py-op">,</tt> <tt id="link-185" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-185', 'http', 'link-57');">http</a></tt><tt class="py-op">=</tt><tt id="link-186" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-186', 'http', 'link-57');">http</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1109"></a><tt class="py-lineno">1109</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-187" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-187', 'credentials', 'link-46');">credentials</a></tt> </tt>
-</div><a name="L1110"></a><tt class="py-lineno">1110</tt>  <tt class="py-line"> </tt>
-<a name="credentials_from_clientsecrets_and_code"></a><div id="credentials_from_clientsecrets_and_code-def"><a name="L1111"></a><tt class="py-lineno">1111</tt>  <tt class="py-line"> </tt>
-<a name="L1112"></a><tt class="py-lineno">1112</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-188', 'positional', 'link-56');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
-<a name="L1113"></a><tt class="py-lineno">1113</tt> <a class="py-toggle" href="#" id="credentials_from_clientsecrets_and_code-toggle" onclick="return toggle('credentials_from_clientsecrets_and_code');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client-module.html#credentials_from_clientsecrets_and_code">credentials_from_clientsecrets_and_code</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">scope</tt><tt class="py-op">,</tt> <tt class="py-param">code</tt><tt class="py-op">,</tt> </tt>
-<a name="L1114"></a><tt class="py-lineno">1114</tt>  <tt class="py-line">                                            <tt class="py-param">message</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1115"></a><tt class="py-lineno">1115</tt>  <tt class="py-line">                                            <tt class="py-param">redirect_uri</tt><tt class="py-op">=</tt><tt class="py-string">'postmessage'</tt><tt class="py-op">,</tt> </tt>
-<a name="L1116"></a><tt class="py-lineno">1116</tt>  <tt class="py-line">                                            <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1117"></a><tt class="py-lineno">1117</tt>  <tt class="py-line">                                            <tt class="py-param">cache</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="credentials_from_clientsecrets_and_code-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="credentials_from_clientsecrets_and_code-expanded"><a name="L1118"></a><tt class="py-lineno">1118</tt>  <tt class="py-line">  <tt class="py-docstring">"""Returns OAuth2Credentials from a clientsecrets file and an auth code.</tt> </tt>
-<a name="L1119"></a><tt class="py-lineno">1119</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1120"></a><tt class="py-lineno">1120</tt>  <tt class="py-line"><tt class="py-docstring">  Will create the right kind of Flow based on the contents of the clientsecrets</tt> </tt>
-<a name="L1121"></a><tt class="py-lineno">1121</tt>  <tt class="py-line"><tt class="py-docstring">  file or will raise InvalidClientSecretsError for unknown types of Flows.</tt> </tt>
-<a name="L1122"></a><tt class="py-lineno">1122</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1123"></a><tt class="py-lineno">1123</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L1124"></a><tt class="py-lineno">1124</tt>  <tt class="py-line"><tt class="py-docstring">    filename: string, File name of clientsecrets.</tt> </tt>
-<a name="L1125"></a><tt class="py-lineno">1125</tt>  <tt class="py-line"><tt class="py-docstring">    scope: string or iterable of strings, scope(s) to request.</tt> </tt>
-<a name="L1126"></a><tt class="py-lineno">1126</tt>  <tt class="py-line"><tt class="py-docstring">    code: string, An authorization code, most likely passed down from</tt> </tt>
-<a name="L1127"></a><tt class="py-lineno">1127</tt>  <tt class="py-line"><tt class="py-docstring">      the client</tt> </tt>
-<a name="L1128"></a><tt class="py-lineno">1128</tt>  <tt class="py-line"><tt class="py-docstring">    message: string, A friendly string to display to the user if the</tt> </tt>
-<a name="L1129"></a><tt class="py-lineno">1129</tt>  <tt class="py-line"><tt class="py-docstring">      clientsecrets file is missing or invalid. If message is provided then</tt> </tt>
-<a name="L1130"></a><tt class="py-lineno">1130</tt>  <tt class="py-line"><tt class="py-docstring">      sys.exit will be called in the case of an error. If message in not</tt> </tt>
-<a name="L1131"></a><tt class="py-lineno">1131</tt>  <tt class="py-line"><tt class="py-docstring">      provided then clientsecrets.InvalidClientSecretsError will be raised.</tt> </tt>
-<a name="L1132"></a><tt class="py-lineno">1132</tt>  <tt class="py-line"><tt class="py-docstring">    redirect_uri: string, this is generally set to 'postmessage' to match the</tt> </tt>
-<a name="L1133"></a><tt class="py-lineno">1133</tt>  <tt class="py-line"><tt class="py-docstring">      redirect_uri that the client specified</tt> </tt>
-<a name="L1134"></a><tt class="py-lineno">1134</tt>  <tt class="py-line"><tt class="py-docstring">    http: httplib2.Http, optional http instance to use to do the fetch</tt> </tt>
-<a name="L1135"></a><tt class="py-lineno">1135</tt>  <tt class="py-line"><tt class="py-docstring">    cache: An optional cache service client that implements get() and set()</tt> </tt>
-<a name="L1136"></a><tt class="py-lineno">1136</tt>  <tt class="py-line"><tt class="py-docstring">      methods. See clientsecrets.loadfile() for details.</tt> </tt>
-<a name="L1137"></a><tt class="py-lineno">1137</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1138"></a><tt class="py-lineno">1138</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L1139"></a><tt class="py-lineno">1139</tt>  <tt class="py-line"><tt class="py-docstring">    An OAuth2Credentials object.</tt> </tt>
-<a name="L1140"></a><tt class="py-lineno">1140</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1141"></a><tt class="py-lineno">1141</tt>  <tt class="py-line"><tt class="py-docstring">  Raises:</tt> </tt>
-<a name="L1142"></a><tt class="py-lineno">1142</tt>  <tt class="py-line"><tt class="py-docstring">    FlowExchangeError if the authorization code cannot be exchanged for an</tt> </tt>
-<a name="L1143"></a><tt class="py-lineno">1143</tt>  <tt class="py-line"><tt class="py-docstring">     access token</tt> </tt>
-<a name="L1144"></a><tt class="py-lineno">1144</tt>  <tt class="py-line"><tt class="py-docstring">    UnknownClientSecretsFlowError if the file describes an unknown kind of Flow.</tt> </tt>
-<a name="L1145"></a><tt class="py-lineno">1145</tt>  <tt class="py-line"><tt class="py-docstring">    clientsecrets.InvalidClientSecretsError if the clientsecrets file is</tt> </tt>
-<a name="L1146"></a><tt class="py-lineno">1146</tt>  <tt class="py-line"><tt class="py-docstring">      invalid.</tt> </tt>
-<a name="L1147"></a><tt class="py-lineno">1147</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L1148"></a><tt class="py-lineno">1148</tt>  <tt class="py-line">  <tt id="link-189" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-189', 'flow', 'link-180');">flow</a></tt> <tt class="py-op">=</tt> <tt id="link-190" class="py-name" targets="Function oauth2client.client.flow_from_clientsecrets()=oauth2client.client-module.html#flow_from_clientsecrets"><a title="oauth2client.client.flow_from_clientsecrets" class="py-name" href="#" onclick="return doclink('link-190', 'flow_from_clientsecrets', 'link-190');">flow_from_clientsecrets</a></tt><tt class="py-op">(</tt><tt id="link-191" class="py-name" targets="Method oauth2client.locked_file.LockedFile.filename()=oauth2client.locked_file.LockedFile-class.html#filename,Method oauth2client.locked_file._Opener.filename()=oauth2client.locked_file._Opener-class.html#filename"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-191', 'filename', 'link-191');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">scope</tt><tt class="py-op">,</tt> <tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">message</tt><tt class="py-op">,</tt> <tt class="py-name">cache</tt><tt class="py-op">=</tt><tt class="py-name">cache</tt><tt class="py-op">,</tt> </tt>
-<a name="L1149"></a><tt class="py-lineno">1149</tt>  <tt class="py-line">                                 <tt class="py-name">redirect_uri</tt><tt class="py-op">=</tt><tt class="py-name">redirect_uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L1150"></a><tt class="py-lineno">1150</tt>  <tt class="py-line">  <tt id="link-192" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-192', 'credentials', 'link-46');">credentials</a></tt> <tt class="py-op">=</tt> <tt id="link-193" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-193', 'flow', 'link-180');">flow</a></tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="oauth2client.client.OAuth2WebServerFlow.step2_exchange" class="py-name" href="#" onclick="return doclink('link-194', 'step2_exchange', 'link-184');">step2_exchange</a></tt><tt class="py-op">(</tt><tt class="py-name">code</tt><tt class="py-op">,</tt> <tt id="link-195" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-195', 'http', 'link-57');">http</a></tt><tt class="py-op">=</tt><tt id="link-196" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-196', 'http', 'link-57');">http</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1151"></a><tt class="py-lineno">1151</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-197" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-197', 'credentials', 'link-46');">credentials</a></tt> </tt>
-</div><a name="L1152"></a><tt class="py-lineno">1152</tt>  <tt class="py-line"> </tt>
-<a name="OAuth2WebServerFlow"></a><div id="OAuth2WebServerFlow-def"><a name="L1153"></a><tt class="py-lineno">1153</tt>  <tt class="py-line"> </tt>
-<a name="L1154"></a><tt class="py-lineno">1154</tt> <a class="py-toggle" href="#" id="OAuth2WebServerFlow-toggle" onclick="return toggle('OAuth2WebServerFlow');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.client.OAuth2WebServerFlow-class.html">OAuth2WebServerFlow</a><tt class="py-op">(</tt><tt class="py-base-class">Flow</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2WebServerFlow-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="OAuth2WebServerFlow-expanded"><a name="L1155"></a><tt class="py-lineno">1155</tt>  <tt class="py-line">  <tt class="py-docstring">"""Does the Web Server Flow for OAuth 2.0.</tt> </tt>
-<a name="L1156"></a><tt class="py-lineno">1156</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1157"></a><tt class="py-lineno">1157</tt>  <tt class="py-line"><tt class="py-docstring">  OAuth2WebServerFlow objects may be safely pickled and unpickled.</tt> </tt>
-<a name="L1158"></a><tt class="py-lineno">1158</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L1159"></a><tt class="py-lineno">1159</tt>  <tt class="py-line"> </tt>
-<a name="L1160"></a><tt class="py-lineno">1160</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-198', 'positional', 'link-56');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="OAuth2WebServerFlow.__init__"></a><div id="OAuth2WebServerFlow.__init__-def"><a name="L1161"></a><tt class="py-lineno">1161</tt> <a class="py-toggle" href="#" id="OAuth2WebServerFlow.__init__-toggle" onclick="return toggle('OAuth2WebServerFlow.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2WebServerFlow-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">client_id</tt><tt class="py-op">,</tt> <tt class="py-param">client_secret</tt><tt class="py-op">,</tt> <tt class="py-param">scope</tt><tt class="py-op">,</tt> </tt>
-<a name="L1162"></a><tt class="py-lineno">1162</tt>  <tt class="py-line">               <tt class="py-param">redirect_uri</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1163"></a><tt class="py-lineno">1163</tt>  <tt class="py-line">               <tt class="py-param">user_agent</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1164"></a><tt class="py-lineno">1164</tt>  <tt class="py-line">               <tt class="py-param">auth_uri</tt><tt class="py-op">=</tt><tt id="link-199" class="py-name"><a title="oauth2client.GOOGLE_AUTH_URI" class="py-name" href="#" onclick="return doclink('link-199', 'GOOGLE_AUTH_URI', 'link-2');">GOOGLE_AUTH_URI</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1165"></a><tt class="py-lineno">1165</tt>  <tt class="py-line">               <tt class="py-param">token_uri</tt><tt class="py-op">=</tt><tt id="link-200" class="py-name"><a title="oauth2client.GOOGLE_TOKEN_URI" class="py-name" href="#" onclick="return doclink('link-200', 'GOOGLE_TOKEN_URI', 'link-6');">GOOGLE_TOKEN_URI</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1166"></a><tt class="py-lineno">1166</tt>  <tt class="py-line">               <tt class="py-param">revoke_uri</tt><tt class="py-op">=</tt><tt id="link-201" class="py-name"><a title="oauth2client.GOOGLE_REVOKE_URI" class="py-name" href="#" onclick="return doclink('link-201', 'GOOGLE_REVOKE_URI', 'link-4');">GOOGLE_REVOKE_URI</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1167"></a><tt class="py-lineno">1167</tt>  <tt class="py-line">               <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2WebServerFlow.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2WebServerFlow.__init__-expanded"><a name="L1168"></a><tt class="py-lineno">1168</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for OAuth2WebServerFlow.</tt> </tt>
-<a name="L1169"></a><tt class="py-lineno">1169</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1170"></a><tt class="py-lineno">1170</tt>  <tt class="py-line"><tt class="py-docstring">    The kwargs argument is used to set extra query parameters on the</tt> </tt>
-<a name="L1171"></a><tt class="py-lineno">1171</tt>  <tt class="py-line"><tt class="py-docstring">    auth_uri. For example, the access_type and approval_prompt</tt> </tt>
-<a name="L1172"></a><tt class="py-lineno">1172</tt>  <tt class="py-line"><tt class="py-docstring">    query parameters can be set via kwargs.</tt> </tt>
-<a name="L1173"></a><tt class="py-lineno">1173</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1174"></a><tt class="py-lineno">1174</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1175"></a><tt class="py-lineno">1175</tt>  <tt class="py-line"><tt class="py-docstring">      client_id: string, client identifier.</tt> </tt>
-<a name="L1176"></a><tt class="py-lineno">1176</tt>  <tt class="py-line"><tt class="py-docstring">      client_secret: string client secret.</tt> </tt>
-<a name="L1177"></a><tt class="py-lineno">1177</tt>  <tt class="py-line"><tt class="py-docstring">      scope: string or iterable of strings, scope(s) of the credentials being</tt> </tt>
-<a name="L1178"></a><tt class="py-lineno">1178</tt>  <tt class="py-line"><tt class="py-docstring">        requested.</tt> </tt>
-<a name="L1179"></a><tt class="py-lineno">1179</tt>  <tt class="py-line"><tt class="py-docstring">      redirect_uri: string, Either the string 'urn:ietf:wg:oauth:2.0:oob' for</tt> </tt>
-<a name="L1180"></a><tt class="py-lineno">1180</tt>  <tt class="py-line"><tt class="py-docstring">        a non-web-based application, or a URI that handles the callback from</tt> </tt>
-<a name="L1181"></a><tt class="py-lineno">1181</tt>  <tt class="py-line"><tt class="py-docstring">        the authorization server.</tt> </tt>
-<a name="L1182"></a><tt class="py-lineno">1182</tt>  <tt class="py-line"><tt class="py-docstring">      user_agent: string, HTTP User-Agent to provide for this application.</tt> </tt>
-<a name="L1183"></a><tt class="py-lineno">1183</tt>  <tt class="py-line"><tt class="py-docstring">      auth_uri: string, URI for authorization endpoint. For convenience</tt> </tt>
-<a name="L1184"></a><tt class="py-lineno">1184</tt>  <tt class="py-line"><tt class="py-docstring">        defaults to Google's endpoints but any OAuth 2.0 provider can be used.</tt> </tt>
-<a name="L1185"></a><tt class="py-lineno">1185</tt>  <tt class="py-line"><tt class="py-docstring">      token_uri: string, URI for token endpoint. For convenience</tt> </tt>
-<a name="L1186"></a><tt class="py-lineno">1186</tt>  <tt class="py-line"><tt class="py-docstring">        defaults to Google's endpoints but any OAuth 2.0 provider can be used.</tt> </tt>
-<a name="L1187"></a><tt class="py-lineno">1187</tt>  <tt class="py-line"><tt class="py-docstring">      revoke_uri: string, URI for revoke endpoint. For convenience</tt> </tt>
-<a name="L1188"></a><tt class="py-lineno">1188</tt>  <tt class="py-line"><tt class="py-docstring">        defaults to Google's endpoints but any OAuth 2.0 provider can be used.</tt> </tt>
-<a name="L1189"></a><tt class="py-lineno">1189</tt>  <tt class="py-line"><tt class="py-docstring">      **kwargs: dict, The keyword arguments are all optional and required</tt> </tt>
-<a name="L1190"></a><tt class="py-lineno">1190</tt>  <tt class="py-line"><tt class="py-docstring">                        parameters for the OAuth calls.</tt> </tt>
-<a name="L1191"></a><tt class="py-lineno">1191</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1192"></a><tt class="py-lineno">1192</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_id</tt> <tt class="py-op">=</tt> <tt class="py-name">client_id</tt> </tt>
-<a name="L1193"></a><tt class="py-lineno">1193</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_secret</tt> <tt class="py-op">=</tt> <tt class="py-name">client_secret</tt> </tt>
-<a name="L1194"></a><tt class="py-lineno">1194</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">scope</tt> <tt class="py-op">=</tt> <tt id="link-202" class="py-name"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-202', 'util', 'link-8');">util</a></tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="oauth2client.util.scopes_to_string" class="py-name" href="#" onclick="return doclink('link-203', 'scopes_to_string', 'link-148');">scopes_to_string</a></tt><tt class="py-op">(</tt><tt class="py-name">scope</tt><tt class="py-op">)</tt> </tt>
-<a name="L1195"></a><tt class="py-lineno">1195</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">redirect_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">redirect_uri</tt> </tt>
-<a name="L1196"></a><tt class="py-lineno">1196</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_agent</tt> <tt class="py-op">=</tt> <tt class="py-name">user_agent</tt> </tt>
-<a name="L1197"></a><tt class="py-lineno">1197</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">auth_uri</tt> </tt>
-<a name="L1198"></a><tt class="py-lineno">1198</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">token_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">token_uri</tt> </tt>
-<a name="L1199"></a><tt class="py-lineno">1199</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">revoke_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">revoke_uri</tt> </tt>
-<a name="L1200"></a><tt class="py-lineno">1200</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L1201"></a><tt class="py-lineno">1201</tt>  <tt class="py-line">        <tt class="py-string">'access_type'</tt><tt class="py-op">:</tt> <tt class="py-string">'offline'</tt><tt class="py-op">,</tt> </tt>
-<a name="L1202"></a><tt class="py-lineno">1202</tt>  <tt class="py-line">        <tt class="py-string">'response_type'</tt><tt class="py-op">:</tt> <tt class="py-string">'code'</tt><tt class="py-op">,</tt> </tt>
-<a name="L1203"></a><tt class="py-lineno">1203</tt>  <tt class="py-line">    <tt class="py-op">}</tt> </tt>
-<a name="L1204"></a><tt class="py-lineno">1204</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">.</tt><tt id="link-204" class="py-name"><a title="apiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-204', 'update', 'link-54');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1205"></a><tt class="py-lineno">1205</tt>  <tt class="py-line"> </tt>
-<a name="L1206"></a><tt class="py-lineno">1206</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-205" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-205', 'positional', 'link-56');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="OAuth2WebServerFlow.step1_get_authorize_url"></a><div id="OAuth2WebServerFlow.step1_get_authorize_url-def"><a name="L1207"></a><tt class="py-lineno">1207</tt> <a class="py-toggle" href="#" id="OAuth2WebServerFlow.step1_get_authorize_url-toggle" onclick="return toggle('OAuth2WebServerFlow.step1_get_authorize_url');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2WebServerFlow-class.html#step1_get_authorize_url">step1_get_authorize_url</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">redirect_uri</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2WebServerFlow.step1_get_authorize_url-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2WebServerFlow.step1_get_authorize_url-expanded"><a name="L1208"></a><tt class="py-lineno">1208</tt>  <tt class="py-line">    <tt class="py-docstring">"""Returns a URI to redirect to the provider.</tt> </tt>
-<a name="L1209"></a><tt class="py-lineno">1209</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1210"></a><tt class="py-lineno">1210</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1211"></a><tt class="py-lineno">1211</tt>  <tt class="py-line"><tt class="py-docstring">      redirect_uri: string, Either the string 'urn:ietf:wg:oauth:2.0:oob' for</tt> </tt>
-<a name="L1212"></a><tt class="py-lineno">1212</tt>  <tt class="py-line"><tt class="py-docstring">        a non-web-based application, or a URI that handles the callback from</tt> </tt>
-<a name="L1213"></a><tt class="py-lineno">1213</tt>  <tt class="py-line"><tt class="py-docstring">        the authorization server. This parameter is deprecated, please move to</tt> </tt>
-<a name="L1214"></a><tt class="py-lineno">1214</tt>  <tt class="py-line"><tt class="py-docstring">        passing the redirect_uri in via the constructor.</tt> </tt>
-<a name="L1215"></a><tt class="py-lineno">1215</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1216"></a><tt class="py-lineno">1216</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L1217"></a><tt class="py-lineno">1217</tt>  <tt class="py-line"><tt class="py-docstring">      A URI as a string to redirect the user to begin the authorization flow.</tt> </tt>
-<a name="L1218"></a><tt class="py-lineno">1218</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1219"></a><tt class="py-lineno">1219</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">redirect_uri</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1220"></a><tt class="py-lineno">1220</tt>  <tt class="py-line">      <tt id="link-206" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-206', 'logger', 'link-19');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'The redirect_uri parameter for'</tt> </tt>
-<a name="L1221"></a><tt class="py-lineno">1221</tt>  <tt class="py-line">          <tt class="py-string">'OAuth2WebServerFlow.step1_get_authorize_url is deprecated. Please'</tt> </tt>
-<a name="L1222"></a><tt class="py-lineno">1222</tt>  <tt class="py-line">          <tt class="py-string">'move to passing the redirect_uri in via the constructor.'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1223"></a><tt class="py-lineno">1223</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">redirect_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">redirect_uri</tt> </tt>
-<a name="L1224"></a><tt class="py-lineno">1224</tt>  <tt class="py-line"> </tt>
-<a name="L1225"></a><tt class="py-lineno">1225</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">redirect_uri</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1226"></a><tt class="py-lineno">1226</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">'The value of redirect_uri must not be None.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1227"></a><tt class="py-lineno">1227</tt>  <tt class="py-line"> </tt>
-<a name="L1228"></a><tt class="py-lineno">1228</tt>  <tt class="py-line">    <tt id="link-207" class="py-name"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-207', 'query_params', 'link-52');">query_params</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L1229"></a><tt class="py-lineno">1229</tt>  <tt class="py-line">        <tt class="py-string">'client_id'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_id</tt><tt class="py-op">,</tt> </tt>
-<a name="L1230"></a><tt class="py-lineno">1230</tt>  <tt class="py-line">        <tt class="py-string">'redirect_uri'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">redirect_uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L1231"></a><tt class="py-lineno">1231</tt>  <tt class="py-line">        <tt class="py-string">'scope'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">scope</tt><tt class="py-op">,</tt> </tt>
-<a name="L1232"></a><tt class="py-lineno">1232</tt>  <tt class="py-line">    <tt class="py-op">}</tt> </tt>
-<a name="L1233"></a><tt class="py-lineno">1233</tt>  <tt class="py-line">    <tt id="link-208" class="py-name"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-208', 'query_params', 'link-52');">query_params</a></tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="apiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-209', 'update', 'link-54');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
-<a name="L1234"></a><tt class="py-lineno">1234</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-210" class="py-name"><a title="oauth2client.client._update_query_params" class="py-name" href="#" onclick="return doclink('link-210', '_update_query_params', 'link-119');">_update_query_params</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_uri</tt><tt class="py-op">,</tt> <tt id="link-211" class="py-name"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-211', 'query_params', 'link-52');">query_params</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1235"></a><tt class="py-lineno">1235</tt>  <tt class="py-line"> </tt>
-<a name="L1236"></a><tt class="py-lineno">1236</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-212', 'positional', 'link-56');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="OAuth2WebServerFlow.step2_exchange"></a><div id="OAuth2WebServerFlow.step2_exchange-def"><a name="L1237"></a><tt class="py-lineno">1237</tt> <a class="py-toggle" href="#" id="OAuth2WebServerFlow.step2_exchange-toggle" onclick="return toggle('OAuth2WebServerFlow.step2_exchange');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client.OAuth2WebServerFlow-class.html#step2_exchange">step2_exchange</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">code</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OAuth2WebServerFlow.step2_exchange-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="OAuth2WebServerFlow.step2_exchange-expanded"><a name="L1238"></a><tt class="py-lineno">1238</tt>  <tt class="py-line">    <tt class="py-docstring">"""Exhanges a code for OAuth2Credentials.</tt> </tt>
-<a name="L1239"></a><tt class="py-lineno">1239</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1240"></a><tt class="py-lineno">1240</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1241"></a><tt class="py-lineno">1241</tt>  <tt class="py-line"><tt class="py-docstring">      code: string or dict, either the code as a string, or a dictionary</tt> </tt>
-<a name="L1242"></a><tt class="py-lineno">1242</tt>  <tt class="py-line"><tt class="py-docstring">        of the query parameters to the redirect_uri, which contains</tt> </tt>
-<a name="L1243"></a><tt class="py-lineno">1243</tt>  <tt class="py-line"><tt class="py-docstring">        the code.</tt> </tt>
-<a name="L1244"></a><tt class="py-lineno">1244</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, optional http instance to use to do the fetch</tt> </tt>
-<a name="L1245"></a><tt class="py-lineno">1245</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1246"></a><tt class="py-lineno">1246</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L1247"></a><tt class="py-lineno">1247</tt>  <tt class="py-line"><tt class="py-docstring">      An OAuth2Credentials object that can be used to authorize requests.</tt> </tt>
-<a name="L1248"></a><tt class="py-lineno">1248</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1249"></a><tt class="py-lineno">1249</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L1250"></a><tt class="py-lineno">1250</tt>  <tt class="py-line"><tt class="py-docstring">      FlowExchangeError if a problem occured exchanging the code for a</tt> </tt>
-<a name="L1251"></a><tt class="py-lineno">1251</tt>  <tt class="py-line"><tt class="py-docstring">      refresh_token.</tt> </tt>
-<a name="L1252"></a><tt class="py-lineno">1252</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1253"></a><tt class="py-lineno">1253</tt>  <tt class="py-line"> </tt>
-<a name="L1254"></a><tt class="py-lineno">1254</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">code</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">code</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1255"></a><tt class="py-lineno">1255</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'code'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">code</tt><tt class="py-op">:</tt> </tt>
-<a name="L1256"></a><tt class="py-lineno">1256</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'error'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">code</tt><tt class="py-op">:</tt> </tt>
-<a name="L1257"></a><tt class="py-lineno">1257</tt>  <tt class="py-line">          <tt class="py-name">error_msg</tt> <tt class="py-op">=</tt> <tt class="py-name">code</tt><tt class="py-op">[</tt><tt class="py-string">'error'</tt><tt class="py-op">]</tt> </tt>
-<a name="L1258"></a><tt class="py-lineno">1258</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1259"></a><tt class="py-lineno">1259</tt>  <tt class="py-line">          <tt class="py-name">error_msg</tt> <tt class="py-op">=</tt> <tt class="py-string">'No code was supplied in the query parameters.'</tt> </tt>
-<a name="L1260"></a><tt class="py-lineno">1260</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt id="link-213" class="py-name" targets="Class oauth2client.client.FlowExchangeError=oauth2client.client.FlowExchangeError-class.html"><a title="oauth2client.client.FlowExchangeError" class="py-name" href="#" onclick="return doclink('link-213', 'FlowExchangeError', 'link-213');">FlowExchangeError</a></tt><tt class="py-op">(</tt><tt class="py-name">error_msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L1261"></a><tt class="py-lineno">1261</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1262"></a><tt class="py-lineno">1262</tt>  <tt class="py-line">        <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt class="py-name">code</tt><tt class="py-op">[</tt><tt class="py-string">'code'</tt><tt class="py-op">]</tt> </tt>
-<a name="L1263"></a><tt class="py-lineno">1263</tt>  <tt class="py-line"> </tt>
-<a name="L1264"></a><tt class="py-lineno">1264</tt>  <tt class="py-line">    <tt id="link-214" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-214', 'body', 'link-63');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-op">{</tt> </tt>
-<a name="L1265"></a><tt class="py-lineno">1265</tt>  <tt class="py-line">        <tt class="py-string">'grant_type'</tt><tt class="py-op">:</tt> <tt class="py-string">'authorization_code'</tt><tt class="py-op">,</tt> </tt>
-<a name="L1266"></a><tt class="py-lineno">1266</tt>  <tt class="py-line">        <tt class="py-string">'client_id'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_id</tt><tt class="py-op">,</tt> </tt>
-<a name="L1267"></a><tt class="py-lineno">1267</tt>  <tt class="py-line">        <tt class="py-string">'client_secret'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_secret</tt><tt class="py-op">,</tt> </tt>
-<a name="L1268"></a><tt class="py-lineno">1268</tt>  <tt class="py-line">        <tt class="py-string">'code'</tt><tt class="py-op">:</tt> <tt class="py-name">code</tt><tt class="py-op">,</tt> </tt>
-<a name="L1269"></a><tt class="py-lineno">1269</tt>  <tt class="py-line">        <tt class="py-string">'redirect_uri'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">redirect_uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L1270"></a><tt class="py-lineno">1270</tt>  <tt class="py-line">        <tt class="py-string">'scope'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">scope</tt><tt class="py-op">,</tt> </tt>
-<a name="L1271"></a><tt class="py-lineno">1271</tt>  <tt class="py-line">        <tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L1272"></a><tt class="py-lineno">1272</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L1273"></a><tt class="py-lineno">1273</tt>  <tt class="py-line">        <tt class="py-string">'content-type'</tt><tt class="py-op">:</tt> <tt class="py-string">'application/x-www-form-urlencoded'</tt><tt class="py-op">,</tt> </tt>
-<a name="L1274"></a><tt class="py-lineno">1274</tt>  <tt class="py-line">    <tt class="py-op">}</tt> </tt>
-<a name="L1275"></a><tt class="py-lineno">1275</tt>  <tt class="py-line"> </tt>
-<a name="L1276"></a><tt class="py-lineno">1276</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_agent</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1277"></a><tt class="py-lineno">1277</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_agent</tt> </tt>
-<a name="L1278"></a><tt class="py-lineno">1278</tt>  <tt class="py-line"> </tt>
-<a name="L1279"></a><tt class="py-lineno">1279</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-215" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-215', 'http', 'link-57');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1280"></a><tt class="py-lineno">1280</tt>  <tt class="py-line">      <tt id="link-216" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-216', 'http', 'link-57');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Http</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1281"></a><tt class="py-lineno">1281</tt>  <tt class="py-line"> </tt>
-<a name="L1282"></a><tt class="py-lineno">1282</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-217" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-217', 'http', 'link-57');">http</a></tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="apiclient.http.HttpMock.request
-apiclient.http.HttpMockSequence.request
-apiclient.model.BaseModel.request
-apiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-218', 'request', 'link-58');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">token_uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-string">'POST'</tt><tt class="py-op">,</tt> <tt id="link-219" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-219', 'body', 'link-63');">body</a></tt><tt class="py-op">=</tt><tt id="link-220" class="py-name"><a title="apiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-220', 'body', 'link-63');">body</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1283"></a><tt class="py-lineno">1283</tt>  <tt class="py-line">                                 <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L1284"></a><tt class="py-lineno">1284</tt>  <tt class="py-line">    <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-221" class="py-name" targets="Function oauth2client.client._parse_exchange_token_response()=oauth2client.client-module.html#_parse_exchange_token_response"><a title="oauth2client.client._parse_exchange_token_response" class="py-name" href="#" onclick="return doclink('link-221', '_parse_exchange_token_response', 'link-221');">_parse_exchange_token_response</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L1285"></a><tt class="py-lineno">1285</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">200</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'access_token'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">d</tt><tt class="py-op">:</tt> </tt>
-<a name="L1286"></a><tt class="py-lineno">1286</tt>  <tt class="py-line">      <tt class="py-name">access_token</tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'access_token'</tt><tt class="py-op">]</tt> </tt>
-<a name="L1287"></a><tt class="py-lineno">1287</tt>  <tt class="py-line">      <tt class="py-name">refresh_token</tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-222', 'get', 'link-24');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'refresh_token'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L1288"></a><tt class="py-lineno">1288</tt>  <tt class="py-line">      <tt class="py-name">token_expiry</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1289"></a><tt class="py-lineno">1289</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'expires_in'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">d</tt><tt class="py-op">:</tt> </tt>
-<a name="L1290"></a><tt class="py-lineno">1290</tt>  <tt class="py-line">        <tt class="py-name">token_expiry</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">utcnow</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">timedelta</tt><tt class="py-op">(</tt> </tt>
-<a name="L1291"></a><tt class="py-lineno">1291</tt>  <tt class="py-line">            <tt class="py-name">seconds</tt><tt class="py-op">=</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'expires_in'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1292"></a><tt class="py-lineno">1292</tt>  <tt class="py-line"> </tt>
-<a name="L1293"></a><tt class="py-lineno">1293</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'id_token'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">d</tt><tt class="py-op">:</tt> </tt>
-<a name="L1294"></a><tt class="py-lineno">1294</tt>  <tt class="py-line">        <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'id_token'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-223" class="py-name" targets="Function oauth2client.client._extract_id_token()=oauth2client.client-module.html#_extract_id_token"><a title="oauth2client.client._extract_id_token" class="py-name" href="#" onclick="return doclink('link-223', '_extract_id_token', 'link-223');">_extract_id_token</a></tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'id_token'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1295"></a><tt class="py-lineno">1295</tt>  <tt class="py-line"> </tt>
-<a name="L1296"></a><tt class="py-lineno">1296</tt>  <tt class="py-line">      <tt id="link-224" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-224', 'logger', 'link-19');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Successfully retrieved access token'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1297"></a><tt class="py-lineno">1297</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-225" class="py-name" targets="Class oauth2client.client.OAuth2Credentials=oauth2client.client.OAuth2Credentials-class.html"><a title="oauth2client.client.OAuth2Credentials" class="py-name" href="#" onclick="return doclink('link-225', 'OAuth2Credentials', 'link-225');">OAuth2Credentials</a></tt><tt class="py-op">(</tt><tt class="py-name">access_token</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_id</tt><tt class="py-op">,</tt> </tt>
-<a name="L1298"></a><tt class="py-lineno">1298</tt>  <tt class="py-line">                               <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_secret</tt><tt class="py-op">,</tt> <tt class="py-name">refresh_token</tt><tt class="py-op">,</tt> <tt class="py-name">token_expiry</tt><tt class="py-op">,</tt> </tt>
-<a name="L1299"></a><tt class="py-lineno">1299</tt>  <tt class="py-line">                               <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">token_uri</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_agent</tt><tt class="py-op">,</tt> </tt>
-<a name="L1300"></a><tt class="py-lineno">1300</tt>  <tt class="py-line">                               <tt class="py-name">revoke_uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">revoke_uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L1301"></a><tt class="py-lineno">1301</tt>  <tt class="py-line">                               <tt class="py-name">id_token</tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-226', 'get', 'link-24');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'id_token'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1302"></a><tt class="py-lineno">1302</tt>  <tt class="py-line">                               <tt class="py-name">token_response</tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">)</tt> </tt>
-<a name="L1303"></a><tt class="py-lineno">1303</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1304"></a><tt class="py-lineno">1304</tt>  <tt class="py-line">      <tt id="link-227" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-227', 'logger', 'link-19');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Failed to retrieve access token: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L1305"></a><tt class="py-lineno">1305</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'error'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">d</tt><tt class="py-op">:</tt> </tt>
-<a name="L1306"></a><tt class="py-lineno">1306</tt>  <tt class="py-line">        <tt class="py-comment"># you never know what those providers got to say</tt> </tt>
-<a name="L1307"></a><tt class="py-lineno">1307</tt>  <tt class="py-line">        <tt class="py-name">error_msg</tt> <tt class="py-op">=</tt> <tt class="py-name">unicode</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'error'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1308"></a><tt class="py-lineno">1308</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1309"></a><tt class="py-lineno">1309</tt>  <tt class="py-line">        <tt class="py-name">error_msg</tt> <tt class="py-op">=</tt> <tt class="py-string">'Invalid response: %s.'</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">)</tt> </tt>
-<a name="L1310"></a><tt class="py-lineno">1310</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-228" class="py-name"><a title="oauth2client.client.FlowExchangeError" class="py-name" href="#" onclick="return doclink('link-228', 'FlowExchangeError', 'link-213');">FlowExchangeError</a></tt><tt class="py-op">(</tt><tt class="py-name">error_msg</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1311"></a><tt class="py-lineno">1311</tt>  <tt class="py-line"> </tt>
-<a name="flow_from_clientsecrets"></a><div id="flow_from_clientsecrets-def"><a name="L1312"></a><tt class="py-lineno">1312</tt>  <tt class="py-line"> </tt>
-<a name="L1313"></a><tt class="py-lineno">1313</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-229', 'positional', 'link-56');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L1314"></a><tt class="py-lineno">1314</tt> <a class="py-toggle" href="#" id="flow_from_clientsecrets-toggle" onclick="return toggle('flow_from_clientsecrets');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.client-module.html#flow_from_clientsecrets">flow_from_clientsecrets</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">scope</tt><tt class="py-op">,</tt> <tt class="py-param">redirect_uri</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1315"></a><tt class="py-lineno">1315</tt>  <tt class="py-line">                            <tt class="py-param">message</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">cache</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="flow_from_clientsecrets-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="flow_from_clientsecrets-expanded"><a name="L1316"></a><tt class="py-lineno">1316</tt>  <tt class="py-line">  <tt class="py-docstring">"""Create a Flow from a clientsecrets file.</tt> </tt>
-<a name="L1317"></a><tt class="py-lineno">1317</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1318"></a><tt class="py-lineno">1318</tt>  <tt class="py-line"><tt class="py-docstring">  Will create the right kind of Flow based on the contents of the clientsecrets</tt> </tt>
-<a name="L1319"></a><tt class="py-lineno">1319</tt>  <tt class="py-line"><tt class="py-docstring">  file or will raise InvalidClientSecretsError for unknown types of Flows.</tt> </tt>
-<a name="L1320"></a><tt class="py-lineno">1320</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1321"></a><tt class="py-lineno">1321</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L1322"></a><tt class="py-lineno">1322</tt>  <tt class="py-line"><tt class="py-docstring">    filename: string, File name of client secrets.</tt> </tt>
-<a name="L1323"></a><tt class="py-lineno">1323</tt>  <tt class="py-line"><tt class="py-docstring">    scope: string or iterable of strings, scope(s) to request.</tt> </tt>
-<a name="L1324"></a><tt class="py-lineno">1324</tt>  <tt class="py-line"><tt class="py-docstring">    redirect_uri: string, Either the string 'urn:ietf:wg:oauth:2.0:oob' for</tt> </tt>
-<a name="L1325"></a><tt class="py-lineno">1325</tt>  <tt class="py-line"><tt class="py-docstring">      a non-web-based application, or a URI that handles the callback from</tt> </tt>
-<a name="L1326"></a><tt class="py-lineno">1326</tt>  <tt class="py-line"><tt class="py-docstring">      the authorization server.</tt> </tt>
-<a name="L1327"></a><tt class="py-lineno">1327</tt>  <tt class="py-line"><tt class="py-docstring">    message: string, A friendly string to display to the user if the</tt> </tt>
-<a name="L1328"></a><tt class="py-lineno">1328</tt>  <tt class="py-line"><tt class="py-docstring">      clientsecrets file is missing or invalid. If message is provided then</tt> </tt>
-<a name="L1329"></a><tt class="py-lineno">1329</tt>  <tt class="py-line"><tt class="py-docstring">      sys.exit will be called in the case of an error. If message in not</tt> </tt>
-<a name="L1330"></a><tt class="py-lineno">1330</tt>  <tt class="py-line"><tt class="py-docstring">      provided then clientsecrets.InvalidClientSecretsError will be raised.</tt> </tt>
-<a name="L1331"></a><tt class="py-lineno">1331</tt>  <tt class="py-line"><tt class="py-docstring">    cache: An optional cache service client that implements get() and set()</tt> </tt>
-<a name="L1332"></a><tt class="py-lineno">1332</tt>  <tt class="py-line"><tt class="py-docstring">      methods. See clientsecrets.loadfile() for details.</tt> </tt>
-<a name="L1333"></a><tt class="py-lineno">1333</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1334"></a><tt class="py-lineno">1334</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L1335"></a><tt class="py-lineno">1335</tt>  <tt class="py-line"><tt class="py-docstring">    A Flow object.</tt> </tt>
-<a name="L1336"></a><tt class="py-lineno">1336</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1337"></a><tt class="py-lineno">1337</tt>  <tt class="py-line"><tt class="py-docstring">  Raises:</tt> </tt>
-<a name="L1338"></a><tt class="py-lineno">1338</tt>  <tt class="py-line"><tt class="py-docstring">    UnknownClientSecretsFlowError if the file describes an unknown kind of Flow.</tt> </tt>
-<a name="L1339"></a><tt class="py-lineno">1339</tt>  <tt class="py-line"><tt class="py-docstring">    clientsecrets.InvalidClientSecretsError if the clientsecrets file is</tt> </tt>
-<a name="L1340"></a><tt class="py-lineno">1340</tt>  <tt class="py-line"><tt class="py-docstring">      invalid.</tt> </tt>
-<a name="L1341"></a><tt class="py-lineno">1341</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L1342"></a><tt class="py-lineno">1342</tt>  <tt class="py-line">  <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1343"></a><tt class="py-lineno">1343</tt>  <tt class="py-line">    <tt class="py-name">client_type</tt><tt class="py-op">,</tt> <tt class="py-name">client_info</tt> <tt class="py-op">=</tt> <tt id="link-230" class="py-name"><a title="oauth2client.clientsecrets" class="py-name" href="#" onclick="return doclink('link-230', 'clientsecrets', 'link-0');">clientsecrets</a></tt><tt class="py-op">.</tt><tt id="link-231" class="py-name" targets="Function oauth2client.clientsecrets.loadfile()=oauth2client.clientsecrets-module.html#loadfile"><a title="oauth2client.clientsecrets.loadfile" class="py-name" href="#" onclick="return doclink('link-231', 'loadfile', 'link-231');">loadfile</a></tt><tt class="py-op">(</tt><tt id="link-232" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-232', 'filename', 'link-191');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">cache</tt><tt class="py-op">=</tt><tt class="py-name">cache</tt><tt class="py-op">)</tt> </tt>
-<a name="L1344"></a><tt class="py-lineno">1344</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">client_type</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt id="link-233" class="py-name"><a title="oauth2client.clientsecrets" class="py-name" href="#" onclick="return doclink('link-233', 'clientsecrets', 'link-0');">clientsecrets</a></tt><tt class="py-op">.</tt><tt id="link-234" class="py-name" targets="Variable oauth2client.clientsecrets.TYPE_WEB=oauth2client.clientsecrets-module.html#TYPE_WEB"><a title="oauth2client.clientsecrets.TYPE_WEB" class="py-name" href="#" onclick="return doclink('link-234', 'TYPE_WEB', 'link-234');">TYPE_WEB</a></tt><tt class="py-op">,</tt> <tt id="link-235" class="py-name"><a title="oauth2client.clientsecrets" class="py-name" href="#" onclick="return doclink('link-235', 'clientsecrets', 'link-0');">clientsecrets</a></tt><tt class="py-op">.</tt><tt id="link-236" class="py-name" targets="Variable oauth2client.clientsecrets.TYPE_INSTALLED=oauth2client.clientsecrets-module.html#TYPE_INSTALLED"><a title="oauth2client.clientsecrets.TYPE_INSTALLED" class="py-name" href="#" onclick="return doclink('link-236', 'TYPE_INSTALLED', 'link-236');">TYPE_INSTALLED</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1345"></a><tt class="py-lineno">1345</tt>  <tt class="py-line">      <tt class="py-name">constructor_kwargs</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L1346"></a><tt class="py-lineno">1346</tt>  <tt class="py-line">          <tt class="py-string">'redirect_uri'</tt><tt class="py-op">:</tt> <tt class="py-name">redirect_uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L1347"></a><tt class="py-lineno">1347</tt>  <tt class="py-line">          <tt class="py-string">'auth_uri'</tt><tt class="py-op">:</tt> <tt class="py-name">client_info</tt><tt class="py-op">[</tt><tt class="py-string">'auth_uri'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L1348"></a><tt class="py-lineno">1348</tt>  <tt class="py-line">          <tt class="py-string">'token_uri'</tt><tt class="py-op">:</tt> <tt class="py-name">client_info</tt><tt class="py-op">[</tt><tt class="py-string">'token_uri'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L1349"></a><tt class="py-lineno">1349</tt>  <tt class="py-line">      <tt class="py-op">}</tt> </tt>
-<a name="L1350"></a><tt class="py-lineno">1350</tt>  <tt class="py-line">      <tt class="py-name">revoke_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">client_info</tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-237', 'get', 'link-24');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'revoke_uri'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1351"></a><tt class="py-lineno">1351</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">revoke_uri</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1352"></a><tt class="py-lineno">1352</tt>  <tt class="py-line">        <tt class="py-name">constructor_kwargs</tt><tt class="py-op">[</tt><tt class="py-string">'revoke_uri'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">revoke_uri</tt> </tt>
-<a name="L1353"></a><tt class="py-lineno">1353</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-238" class="py-name"><a title="oauth2client.client.OAuth2WebServerFlow" class="py-name" href="#" onclick="return doclink('link-238', 'OAuth2WebServerFlow', 'link-181');">OAuth2WebServerFlow</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L1354"></a><tt class="py-lineno">1354</tt>  <tt class="py-line">          <tt class="py-name">client_info</tt><tt class="py-op">[</tt><tt class="py-string">'client_id'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">client_info</tt><tt class="py-op">[</tt><tt class="py-string">'client_secret'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L1355"></a><tt class="py-lineno">1355</tt>  <tt class="py-line">          <tt class="py-name">scope</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">constructor_kwargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L1356"></a><tt class="py-lineno">1356</tt>  <tt class="py-line"> </tt>
-<a name="L1357"></a><tt class="py-lineno">1357</tt>  <tt class="py-line">  <tt class="py-keyword">except</tt> <tt id="link-239" class="py-name"><a title="oauth2client.clientsecrets" class="py-name" href="#" onclick="return doclink('link-239', 'clientsecrets', 'link-0');">clientsecrets</a></tt><tt class="py-op">.</tt><tt id="link-240" class="py-name" targets="Class oauth2client.appengine.InvalidClientSecretsError=oauth2client.appengine.InvalidClientSecretsError-class.html,Class oauth2client.clientsecrets.InvalidClientSecretsError=oauth2client.clientsecrets.InvalidClientSecretsError-class.html"><a title="oauth2client.appengine.InvalidClientSecretsError
-oauth2client.clientsecrets.InvalidClientSecretsError" class="py-name" href="#" onclick="return doclink('link-240', 'InvalidClientSecretsError', 'link-240');">InvalidClientSecretsError</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L1358"></a><tt class="py-lineno">1358</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">message</tt><tt class="py-op">:</tt> </tt>
-<a name="L1359"></a><tt class="py-lineno">1359</tt>  <tt class="py-line">      <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exit</tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">)</tt> </tt>
-<a name="L1360"></a><tt class="py-lineno">1360</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1361"></a><tt class="py-lineno">1361</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> </tt>
-<a name="L1362"></a><tt class="py-lineno">1362</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1363"></a><tt class="py-lineno">1363</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-241" class="py-name" targets="Class oauth2client.client.UnknownClientSecretsFlowError=oauth2client.client.UnknownClientSecretsFlowError-class.html"><a title="oauth2client.client.UnknownClientSecretsFlowError" class="py-name" href="#" onclick="return doclink('link-241', 'UnknownClientSecretsFlowError', 'link-241');">UnknownClientSecretsFlowError</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L1364"></a><tt class="py-lineno">1364</tt>  <tt class="py-line">        <tt class="py-string">'This OAuth 2.0 flow is unsupported: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">client_type</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1365"></a><tt class="py-lineno">1365</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client.AccessTokenCredentials-class.html b/docs/epy/oauth2client.client.AccessTokenCredentials-class.html
deleted file mode 100644
index 96579fb..0000000
--- a/docs/epy/oauth2client.client.AccessTokenCredentials-class.html
+++ /dev/null
@@ -1,514 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client.AccessTokenCredentials</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.client-module.html">Module&nbsp;client</a> ::
-        Class&nbsp;AccessTokenCredentials
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client.AccessTokenCredentials-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class AccessTokenCredentials</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#AccessTokenCredentials">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_15" name="uml_class_diagram_for_oauth2cl_15">
-<area shape="rect" id="node132" href="oauth2client.client.AccessTokenCredentials-class.html#__init__" title="Create an instance of OAuth2Credentials" alt="" coords="17,356,367,375"/>
-<area shape="rect" id="node132" href="oauth2client.client.AccessTokenCredentials-class.html#from_json" title="Instantiate a Credentials object from a JSON description of it." alt="" coords="17,375,367,393"/>
-<area shape="rect" id="node1" href="oauth2client.client.AccessTokenCredentials-class.html" title="Credentials object for OAuth 2.0." alt="" coords="5,323,379,399"/>
-<area shape="rect" id="node133" href="oauth2client.client.OAuth2Credentials-class.html#authorize" title="Authorize an httplib2.Http instance with these credentials." alt="" coords="108,129,275,148"/>
-<area shape="rect" id="node133" href="oauth2client.client.OAuth2Credentials-class.html#refresh" title="Forces a refresh of the access_token." alt="" coords="108,148,275,167"/>
-<area shape="rect" id="node133" href="oauth2client.client.OAuth2Credentials-class.html#revoke" title="Revokes a refresh_token and makes the credentials void." alt="" coords="108,167,275,185"/>
-<area shape="rect" id="node133" href="oauth2client.client.OAuth2Credentials-class.html#apply" title="Add the authorization to the headers." alt="" coords="108,185,275,204"/>
-<area shape="rect" id="node133" href="oauth2client.client.OAuth2Credentials-class.html#to_json" title="Creating a JSON representation of an instance of Credentials." alt="" coords="108,204,275,223"/>
-<area shape="rect" id="node133" href="oauth2client.client.OAuth2Credentials-class.html#access_token_expired" title="True if the credential is expired or invalid." alt="" coords="108,223,275,241"/>
-<area shape="rect" id="node133" href="oauth2client.client.OAuth2Credentials-class.html#set_store" title="Set the Storage for the credential." alt="" coords="108,241,275,260"/>
-<area shape="rect" id="node133" href="oauth2client.client.OAuth2Credentials-class.html#__getstate__" title="Trim the state down to something that can be pickled." alt="" coords="108,260,275,279"/>
-<area shape="rect" id="node133" href="oauth2client.client.OAuth2Credentials-class.html#__setstate__" title="Reconstitute the state of the object from being pickled." alt="" coords="108,279,275,297"/>
-<area shape="rect" id="node2" href="oauth2client.client.OAuth2Credentials-class.html" title="Credentials object for OAuth 2.0." alt="" coords="96,97,285,303"/>
-<area shape="rect" id="node134" href="oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS" title="oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS" alt="" coords="92,31,291,49"/>
-<area shape="rect" id="node134" href="oauth2client.client.Credentials-class.html#new_from_json" title="Utility class method to instantiate a Credentials subclass from a JSON representation produced by to_json()." alt="" coords="92,52,291,71"/>
-<area shape="rect" id="node3" href="oauth2client.client.Credentials-class.html" title="Base class for all Credentials objects." alt="" coords="80,6,301,77"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_15.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_15" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Credentials object for OAuth 2.0.
-
-Credentials can be applied to an httplib2.Http object using the
-authorize() method, which then signs each request from that object
-with the OAuth 2.0 access token. This set of credentials is for the
-use case where you have acquired an OAuth 2.0 access_token from
-another place such as a JavaScript client or another web
-application, and wish to use it from Python. Because only the
-access_token is present it can not be refreshed and will in time
-expire.
-
-AccessTokenCredentials objects may be safely pickled and unpickled.
-
-Usage:
-  credentials = AccessTokenCredentials('&lt;an access token&gt;',
-    'my-user-agent/1.0')
-  http = httplib2.Http()
-  http = credentials.authorize(http)
-
-Exceptions:
-  AccessTokenCredentialsExpired: raised when the access_token expires or is
-    revoked.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.AccessTokenCredentials-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">access_token</span>,
-        <span class="summary-sig-arg">user_agent</span>,
-        <span class="summary-sig-arg">revoke_uri</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Create an instance of OAuth2Credentials</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#AccessTokenCredentials.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.AccessTokenCredentials-class.html#_refresh" class="summary-sig-name" onclick="show_private();">_refresh</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http_request</span>)</span><br />
-      Refreshes the access_token.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#AccessTokenCredentials._refresh">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.AccessTokenCredentials-class.html#_revoke" class="summary-sig-name" onclick="show_private();">_revoke</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http_request</span>)</span><br />
-      Revokes the access_token and deletes the store if available.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#AccessTokenCredentials._revoke">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a></code></b>:
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#__getstate__">__getstate__</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#__setstate__">__setstate__</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#access_token_expired">access_token_expired</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#apply">apply</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#authorize">authorize</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#refresh">refresh</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#revoke">revoke</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#set_store">set_store</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#to_json">to_json</a></code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a></code></b> (private):
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_do_refresh_request" onclick="show_private();">_do_refresh_request</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_do_revoke" onclick="show_private();">_do_revoke</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_body" onclick="show_private();">_generate_refresh_request_body</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_headers" onclick="show_private();">_generate_refresh_request_headers</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_updateFromCredential" onclick="show_private();">_updateFromCredential</a></code>
-      </p></div>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">Credentials</a></code></b> (private):
-      <code><a href="oauth2client.client.Credentials-class.html#_to_json" onclick="show_private();">_to_json</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.AccessTokenCredentials-class.html#from_json" class="summary-sig-name">from_json</a>(<span class="summary-sig-arg">cls</span>,
-        <span class="summary-sig-arg">s</span>)</span><br />
-      Instantiate a Credentials object from a JSON description of it.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#AccessTokenCredentials.from_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">Credentials</a></code></b>:
-      <code><a href="oauth2client.client.Credentials-class.html#new_from_json">new_from_json</a></code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">Credentials</a></code></b>:
-      <code><a href="oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS">NON_SERIALIZED_MEMBERS</a></code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">access_token</span>,
-        <span class="sig-arg">user_agent</span>,
-        <span class="sig-arg">revoke_uri</span>=<span class="sig-default">None</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#AccessTokenCredentials.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Create an instance of OAuth2Credentials
-
-This is one of the few types if Credentials that you should contrust,
-Credentials objects are usually instantiated by a Flow.
-
-Args:
-  access_token: string, access token.
-  user_agent: string, The HTTP User-Agent to provide for this application.
-  revoke_uri: string, URI for revoke endpoint. Defaults to None; a token
-    can't be revoked if this is None.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="from_json"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">from_json</span>(<span class="sig-arg">cls</span>,
-        <span class="sig-arg">s</span>)</span>
-    <br /><em class="fname">Class Method</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#AccessTokenCredentials.from_json">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Instantiate a Credentials object from a JSON description of it. The JSON
-should have been produced by calling .to_json() on the object.
-
-Args:
-  data: dict, A deserialized JSON object.
-
-Returns:
-  An instance of a Credentials subclass.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Credentials-class.html#from_json">Credentials.from_json</a>
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_refresh"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_refresh</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http_request</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#AccessTokenCredentials._refresh">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Refreshes the access_token.
-
-This method first checks by reading the Storage object if available.
-If a refresh is still needed, it holds the Storage lock until the
-refresh is completed.
-
-Args:
-  http_request: callable, a callable that matches the method signature of
-    httplib2.Http.request, used to make the refresh request.
-
-Raises:
-  AccessTokenRefreshError: When the refresh fails.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.OAuth2Credentials-class.html#_refresh" onclick="show_private();">OAuth2Credentials._refresh</a>
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_revoke"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_revoke</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http_request</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#AccessTokenCredentials._revoke">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Revokes the access_token and deletes the store if available.
-
-Args:
-  http_request: callable, a callable that matches the method signature of
-    httplib2.Http.request, used to make the revoke request.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.OAuth2Credentials-class.html#_revoke" onclick="show_private();">OAuth2Credentials._revoke</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client.AccessTokenCredentialsError-class.html b/docs/epy/oauth2client.client.AccessTokenCredentialsError-class.html
deleted file mode 100644
index e003e6a..0000000
--- a/docs/epy/oauth2client.client.AccessTokenCredentialsError-class.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client.AccessTokenCredentialsError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.client-module.html">Module&nbsp;client</a> ::
-        Class&nbsp;AccessTokenCredentialsError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client.AccessTokenCredentialsError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class AccessTokenCredentialsError</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#AccessTokenCredentialsError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_16" name="uml_class_diagram_for_oauth2cl_16">
-<area shape="rect" id="node1" href="oauth2client.client.AccessTokenCredentialsError-class.html" title="Having only the access_token means no refresh is possible." alt="" coords="5,443,205,487"/>
-<area shape="rect" id="node2" href="oauth2client.client.Error-class.html" title="Base error for this module." alt="" coords="77,379,131,423"/>
-<area shape="rect" id="node138" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="27,31,184,49"/>
-<area shape="rect" id="node138" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="27,49,184,68"/>
-<area shape="rect" id="node138" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="27,71,184,89"/>
-<area shape="rect" id="node138" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="27,89,184,108"/>
-<area shape="rect" id="node138" href="javascript:void(0);" title="x[y]" alt="" coords="27,108,184,127"/>
-<area shape="rect" id="node138" href="javascript:void(0);" title="x[i:j]" alt="" coords="27,127,184,145"/>
-<area shape="rect" id="node138" href="javascript:void(0);" title="helper for pickle" alt="" coords="27,145,184,164"/>
-<area shape="rect" id="node138" href="javascript:void(0);" title="repr(x)" alt="" coords="27,164,184,183"/>
-<area shape="rect" id="node138" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="27,183,184,201"/>
-<area shape="rect" id="node138" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="27,201,184,220"/>
-<area shape="rect" id="node138" href="javascript:void(0);" title="str(x)" alt="" coords="27,220,184,239"/>
-<area shape="rect" id="node138" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="27,239,184,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="15,6,196,263"/>
-<area shape="rect" id="node137" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="41,316,168,335"/>
-<area shape="rect" id="node137" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="41,335,168,353"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="29,283,179,359"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_16.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_16" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Having only the access_token means no refresh is possible.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client.AccessTokenRefreshError-class.html b/docs/epy/oauth2client.client.AccessTokenRefreshError-class.html
deleted file mode 100644
index 350e830..0000000
--- a/docs/epy/oauth2client.client.AccessTokenRefreshError-class.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client.AccessTokenRefreshError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.client-module.html">Module&nbsp;client</a> ::
-        Class&nbsp;AccessTokenRefreshError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client.AccessTokenRefreshError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class AccessTokenRefreshError</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#AccessTokenRefreshError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_17" name="uml_class_diagram_for_oauth2cl_17">
-<area shape="rect" id="node1" href="oauth2client.client.AccessTokenRefreshError-class.html" title="Error trying to refresh an expired access token." alt="" coords="5,443,184,487"/>
-<area shape="rect" id="node2" href="oauth2client.client.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
-<area shape="rect" id="node142" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node142" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node142" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node142" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node142" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node142" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node142" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node142" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node142" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node142" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node142" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node142" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-<area shape="rect" id="node141" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node141" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_17.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_17" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Error trying to refresh an expired access token.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client.AssertionCredentials-class.html b/docs/epy/oauth2client.client.AssertionCredentials-class.html
deleted file mode 100644
index 6f718ad..0000000
--- a/docs/epy/oauth2client.client.AssertionCredentials-class.html
+++ /dev/null
@@ -1,462 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client.AssertionCredentials</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.client-module.html">Module&nbsp;client</a> ::
-        Class&nbsp;AssertionCredentials
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client.AssertionCredentials-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class AssertionCredentials</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#AssertionCredentials">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_18" name="uml_class_diagram_for_oauth2cl_18">
-<area shape="rect" id="node143" href="oauth2client.client.AssertionCredentials-class.html#__init__" title="Constructor for AssertionFlowCredentials." alt="" coords="17,375,847,393"/>
-<area shape="rect" id="node1" href="oauth2client.client.AssertionCredentials-class.html" title="Abstract Credentials object used for OAuth 2.0 assertion grants." alt="" coords="5,342,859,399"/>
-<area shape="rect" id="node144" href="oauth2client.client.OAuth2Credentials-class.html#authorize" title="Authorize an httplib2.Http instance with these credentials." alt="" coords="348,129,515,148"/>
-<area shape="rect" id="node144" href="oauth2client.client.OAuth2Credentials-class.html#refresh" title="Forces a refresh of the access_token." alt="" coords="348,148,515,167"/>
-<area shape="rect" id="node144" href="oauth2client.client.OAuth2Credentials-class.html#revoke" title="Revokes a refresh_token and makes the credentials void." alt="" coords="348,167,515,185"/>
-<area shape="rect" id="node144" href="oauth2client.client.OAuth2Credentials-class.html#apply" title="Add the authorization to the headers." alt="" coords="348,185,515,204"/>
-<area shape="rect" id="node144" href="oauth2client.client.OAuth2Credentials-class.html#to_json" title="Creating a JSON representation of an instance of Credentials." alt="" coords="348,204,515,223"/>
-<area shape="rect" id="node144" href="oauth2client.client.OAuth2Credentials-class.html#from_json" title="Instantiate a Credentials object from a JSON description of it." alt="" coords="348,223,515,241"/>
-<area shape="rect" id="node144" href="oauth2client.client.OAuth2Credentials-class.html#access_token_expired" title="True if the credential is expired or invalid." alt="" coords="348,241,515,260"/>
-<area shape="rect" id="node144" href="oauth2client.client.OAuth2Credentials-class.html#set_store" title="Set the Storage for the credential." alt="" coords="348,260,515,279"/>
-<area shape="rect" id="node144" href="oauth2client.client.OAuth2Credentials-class.html#__getstate__" title="Trim the state down to something that can be pickled." alt="" coords="348,279,515,297"/>
-<area shape="rect" id="node144" href="oauth2client.client.OAuth2Credentials-class.html#__setstate__" title="Reconstitute the state of the object from being pickled." alt="" coords="348,297,515,316"/>
-<area shape="rect" id="node2" href="oauth2client.client.OAuth2Credentials-class.html" title="Credentials object for OAuth 2.0." alt="" coords="336,97,525,322"/>
-<area shape="rect" id="node145" href="oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS" title="oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS" alt="" coords="332,31,531,49"/>
-<area shape="rect" id="node145" href="oauth2client.client.Credentials-class.html#new_from_json" title="Utility class method to instantiate a Credentials subclass from a JSON representation produced by to_json()." alt="" coords="332,52,531,71"/>
-<area shape="rect" id="node3" href="oauth2client.client.Credentials-class.html" title="Base class for all Credentials objects." alt="" coords="320,6,541,77"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_18.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_18" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Abstract Credentials object used for OAuth 2.0 assertion grants.
-
-This credential does not require a flow to instantiate because it
-represents a two legged flow, and therefore has all of the required
-information to generate and refresh its own access tokens. It must
-be subclassed to generate the appropriate assertion string.
-
-AssertionCredentials objects may be safely pickled and unpickled.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.AssertionCredentials-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">assertion_type</span>,
-        <span class="summary-sig-arg">user_agent</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">token_uri</span>=<span class="summary-sig-default">GOOGLE_TOKEN_URI</span>,
-        <span class="summary-sig-arg">revoke_uri</span>=<span class="summary-sig-default">GOOGLE_REVOKE_URI</span>,
-        <span class="summary-sig-arg">**unused_kwargs</span>)</span><br />
-      Constructor for AssertionFlowCredentials.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#AssertionCredentials.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.AssertionCredentials-class.html#_generate_refresh_request_body" class="summary-sig-name" onclick="show_private();">_generate_refresh_request_body</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Generate the body that will be used in the refresh request.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#AssertionCredentials._generate_refresh_request_body">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_generate_assertion"></a><span class="summary-sig-name">_generate_assertion</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Generate the assertion string that will be used in the access token
-request.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#AssertionCredentials._generate_assertion">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.AssertionCredentials-class.html#_revoke" class="summary-sig-name" onclick="show_private();">_revoke</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http_request</span>)</span><br />
-      Revokes the access_token and deletes the store if available.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#AssertionCredentials._revoke">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a></code></b>:
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#__getstate__">__getstate__</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#__setstate__">__setstate__</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#access_token_expired">access_token_expired</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#apply">apply</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#authorize">authorize</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#refresh">refresh</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#revoke">revoke</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#set_store">set_store</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#to_json">to_json</a></code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a></code></b> (private):
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_do_refresh_request" onclick="show_private();">_do_refresh_request</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_do_revoke" onclick="show_private();">_do_revoke</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_headers" onclick="show_private();">_generate_refresh_request_headers</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_refresh" onclick="show_private();">_refresh</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_updateFromCredential" onclick="show_private();">_updateFromCredential</a></code>
-      </p></div>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">Credentials</a></code></b> (private):
-      <code><a href="oauth2client.client.Credentials-class.html#_to_json" onclick="show_private();">_to_json</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a></code></b>:
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#from_json">from_json</a></code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">Credentials</a></code></b>:
-      <code><a href="oauth2client.client.Credentials-class.html#new_from_json">new_from_json</a></code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">Credentials</a></code></b>:
-      <code><a href="oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS">NON_SERIALIZED_MEMBERS</a></code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">assertion_type</span>,
-        <span class="sig-arg">user_agent</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">token_uri</span>=<span class="sig-default">GOOGLE_TOKEN_URI</span>,
-        <span class="sig-arg">revoke_uri</span>=<span class="sig-default">GOOGLE_REVOKE_URI</span>,
-        <span class="sig-arg">**unused_kwargs</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#AssertionCredentials.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor for AssertionFlowCredentials.
-
-Args:
-  assertion_type: string, assertion type that will be declared to the auth
-    server
-  user_agent: string, The HTTP User-Agent to provide for this application.
-  token_uri: string, URI for token endpoint. For convenience
-    defaults to Google's endpoints but any OAuth 2.0 provider can be used.
-  revoke_uri: string, URI for revoke endpoint.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_generate_refresh_request_body"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_generate_refresh_request_body</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#AssertionCredentials._generate_refresh_request_body">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Generate the body that will be used in the refresh request.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_body" onclick="show_private();">OAuth2Credentials._generate_refresh_request_body</a>
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_revoke"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_revoke</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http_request</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#AssertionCredentials._revoke">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Revokes the access_token and deletes the store if available.
-
-Args:
-  http_request: callable, a callable that matches the method signature of
-    httplib2.Http.request, used to make the revoke request.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.OAuth2Credentials-class.html#_revoke" onclick="show_private();">OAuth2Credentials._revoke</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client.Credentials-class.html b/docs/epy/oauth2client.client.Credentials-class.html
deleted file mode 100644
index 5409187..0000000
--- a/docs/epy/oauth2client.client.Credentials-class.html
+++ /dev/null
@@ -1,625 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client.Credentials</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.client-module.html">Module&nbsp;client</a> ::
-        Class&nbsp;Credentials
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client.Credentials-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Credentials</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#Credentials">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_19" name="uml_class_diagram_for_oauth2cl_19">
-<area shape="rect" id="node146" href="oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS" title="oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS" alt="" coords="17,31,216,49"/>
-<area shape="rect" id="node146" href="oauth2client.client.Credentials-class.html#authorize" title="Take an httplib2.Http instance (or equivalent) and authorizes it." alt="" coords="17,52,216,71"/>
-<area shape="rect" id="node146" href="oauth2client.client.Credentials-class.html#refresh" title="Forces a refresh of the access_token." alt="" coords="17,71,216,89"/>
-<area shape="rect" id="node146" href="oauth2client.client.Credentials-class.html#revoke" title="Revokes a refresh_token and makes the credentials void." alt="" coords="17,89,216,108"/>
-<area shape="rect" id="node146" href="oauth2client.client.Credentials-class.html#apply" title="Add the authorization to the headers." alt="" coords="17,108,216,127"/>
-<area shape="rect" id="node146" href="oauth2client.client.Credentials-class.html#to_json" title="Creating a JSON representation of an instance of Credentials." alt="" coords="17,127,216,145"/>
-<area shape="rect" id="node146" href="oauth2client.client.Credentials-class.html#new_from_json" title="Utility class method to instantiate a Credentials subclass from a JSON representation produced by to_json()." alt="" coords="17,145,216,164"/>
-<area shape="rect" id="node146" href="oauth2client.client.Credentials-class.html#from_json" title="Instantiate a Credentials object from a JSON description of it." alt="" coords="17,164,216,183"/>
-<area shape="rect" id="node1" href="oauth2client.client.Credentials-class.html" title="Base class for all Credentials objects." alt="" coords="5,6,227,189"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_19.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_19" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Base class for all Credentials objects.
-
-Subclasses must define an authorize() method that applies the credentials to
-an HTTP transport.
-
-Subclasses must also specify a classmethod named 'from_json' that takes a JSON
-string as input and returns an instaniated Credentials object.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.Credentials-class.html#authorize" class="summary-sig-name">authorize</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http</span>)</span><br />
-      Take an httplib2.Http instance (or equivalent) and authorizes it.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#Credentials.authorize">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.Credentials-class.html#refresh" class="summary-sig-name">refresh</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http</span>)</span><br />
-      Forces a refresh of the access_token.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#Credentials.refresh">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.Credentials-class.html#revoke" class="summary-sig-name">revoke</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http</span>)</span><br />
-      Revokes a refresh_token and makes the credentials void.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#Credentials.revoke">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.Credentials-class.html#apply" class="summary-sig-name">apply</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">headers</span>)</span><br />
-      Add the authorization to the headers.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#Credentials.apply">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.Credentials-class.html#_to_json" class="summary-sig-name" onclick="show_private();">_to_json</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">strip</span>)</span><br />
-      Utility function that creates JSON repr.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#Credentials._to_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.Credentials-class.html#to_json" class="summary-sig-name">to_json</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Creating a JSON representation of an instance of Credentials.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#Credentials.to_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__init__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.Credentials-class.html#new_from_json" class="summary-sig-name">new_from_json</a>(<span class="summary-sig-arg">cls</span>,
-        <span class="summary-sig-arg">s</span>)</span><br />
-      Utility class method to instantiate a Credentials subclass from a JSON
-representation produced by to_json().</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#Credentials.new_from_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.Credentials-class.html#from_json" class="summary-sig-name">from_json</a>(<span class="summary-sig-arg">cls</span>,
-        <span class="summary-sig-arg">s</span>)</span><br />
-      Instantiate a Credentials object from a JSON description of it.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#Credentials.from_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="NON_SERIALIZED_MEMBERS"></a><span class="summary-name">NON_SERIALIZED_MEMBERS</span> = <code title="['store']">['store']</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="authorize"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">authorize</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#Credentials.authorize">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Take an httplib2.Http instance (or equivalent) and authorizes it.
-
-Authorizes it for the set of credentials, usually by replacing
-http.request() with a method that adds in the appropriate headers and then
-delegates to the original Http.request() method.
-
-Args:
-  http: httplib2.Http, an http object to be used to make the refresh
-    request.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="refresh"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">refresh</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#Credentials.refresh">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Forces a refresh of the access_token.
-
-Args:
-  http: httplib2.Http, an http object to be used to make the refresh
-    request.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="revoke"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">revoke</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#Credentials.revoke">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Revokes a refresh_token and makes the credentials void.
-
-Args:
-  http: httplib2.Http, an http object to be used to make the revoke
-    request.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="apply"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">apply</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">headers</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#Credentials.apply">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Add the authorization to the headers.
-
-Args:
-  headers: dict, the headers to add the Authorization header to.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_to_json"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_to_json</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">strip</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#Credentials._to_json">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Utility function that creates JSON repr. of a Credentials object.
-
-Args:
-  strip: array, An array of names of members to not include in the JSON.
-
-Returns:
-   string, a JSON representation of this instance, suitable to pass to
-   from_json().
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="to_json"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">to_json</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#Credentials.to_json">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Creating a JSON representation of an instance of Credentials.
-
-Returns:
-   string, a JSON representation of this instance, suitable to pass to
-   from_json().
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="new_from_json"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">new_from_json</span>(<span class="sig-arg">cls</span>,
-        <span class="sig-arg">s</span>)</span>
-    <br /><em class="fname">Class Method</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#Credentials.new_from_json">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Utility class method to instantiate a Credentials subclass from a JSON
-representation produced by to_json().
-
-Args:
-  s: string, JSON from to_json().
-
-Returns:
-  An instance of the subclass of Credentials that was serialized with
-  to_json().
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="from_json"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">from_json</span>(<span class="sig-arg">cls</span>,
-        <span class="sig-arg">s</span>)</span>
-    <br /><em class="fname">Class Method</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#Credentials.from_json">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Instantiate a Credentials object from a JSON description of it.
-
-The JSON should have been produced by calling .to_json() on the object.
-
-Args:
-  data: dict, A deserialized JSON object.
-
-Returns:
-  An instance of a Credentials subclass.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client.Error-class.html b/docs/epy/oauth2client.client.Error-class.html
deleted file mode 100644
index 38ee1a5..0000000
--- a/docs/epy/oauth2client.client.Error-class.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client.Error</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.client-module.html">Module&nbsp;client</a> ::
-        Class&nbsp;Error
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client.Error-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Error</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#Error">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_20" name="uml_class_diagram_for_oauth2cl_20">
-<area shape="rect" id="node1" href="oauth2client.client.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
-<area shape="rect" id="node148" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node148" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-<area shape="rect" id="node149" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node149" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node149" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node149" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node149" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node149" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node149" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node149" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node149" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node149" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node149" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node149" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_20.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_20" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Base error for this module.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client.Flow-class.html b/docs/epy/oauth2client.client.Flow-class.html
deleted file mode 100644
index e0ab885..0000000
--- a/docs/epy/oauth2client.client.Flow-class.html
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client.Flow</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.client-module.html">Module&nbsp;client</a> ::
-        Class&nbsp;Flow
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client.Flow-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Flow</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#Flow">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_21" name="uml_class_diagram_for_oauth2cl_21">
-<area shape="rect" id="node1" href="oauth2client.client.Flow-class.html" title="Base class for all Flow objects." alt="" coords="5,6,59,50"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_21.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_21" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Base class for all Flow objects.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__init__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client.FlowExchangeError-class.html b/docs/epy/oauth2client.client.FlowExchangeError-class.html
deleted file mode 100644
index 73d5582..0000000
--- a/docs/epy/oauth2client.client.FlowExchangeError-class.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client.FlowExchangeError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.client-module.html">Module&nbsp;client</a> ::
-        Class&nbsp;FlowExchangeError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client.FlowExchangeError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class FlowExchangeError</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#FlowExchangeError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_22" name="uml_class_diagram_for_oauth2cl_22">
-<area shape="rect" id="node1" href="oauth2client.client.FlowExchangeError-class.html" title="Error trying to exchange an authorization grant for an access token." alt="" coords="25,443,164,487"/>
-<area shape="rect" id="node2" href="oauth2client.client.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
-<area shape="rect" id="node154" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node154" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node154" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node154" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node154" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node154" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node154" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node154" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node154" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node154" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node154" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node154" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-<area shape="rect" id="node153" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node153" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_22.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_22" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Error trying to exchange an authorization grant for an access token.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client.MemoryCache-class.html b/docs/epy/oauth2client.client.MemoryCache-class.html
deleted file mode 100644
index a6743e0..0000000
--- a/docs/epy/oauth2client.client.MemoryCache-class.html
+++ /dev/null
@@ -1,292 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client.MemoryCache</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.client-module.html">Module&nbsp;client</a> ::
-        Class&nbsp;MemoryCache
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client.MemoryCache-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class MemoryCache</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#MemoryCache">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_23" name="uml_class_diagram_for_oauth2cl_23">
-<area shape="rect" id="node155" href="oauth2client.client.MemoryCache-class.html#__init__" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="17,39,140,57"/>
-<area shape="rect" id="node155" href="oauth2client.client.MemoryCache-class.html#get" title="oauth2client.client.MemoryCache.get" alt="" coords="17,57,140,76"/>
-<area shape="rect" id="node155" href="oauth2client.client.MemoryCache-class.html#set" title="oauth2client.client.MemoryCache.set" alt="" coords="17,76,140,95"/>
-<area shape="rect" id="node155" href="oauth2client.client.MemoryCache-class.html#delete" title="oauth2client.client.MemoryCache.delete" alt="" coords="17,95,140,113"/>
-<area shape="rect" id="node1" href="oauth2client.client.MemoryCache-class.html" title="httplib2 Cache implementation which only caches locally." alt="" coords="5,6,152,119"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_23.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_23" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-httplib2 Cache implementation which only caches locally.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.MemoryCache-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      x.__init__(...) initializes x; see help(type(x)) for signature</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#MemoryCache.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="get"></a><span class="summary-sig-name">get</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">key</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#MemoryCache.get">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="set"></a><span class="summary-sig-name">set</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">key</span>,
-        <span class="summary-sig-arg">value</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#MemoryCache.set">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="delete"></a><span class="summary-sig-name">delete</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">key</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#MemoryCache.delete">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#MemoryCache.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-x.__init__(...) initializes x; see help(type(x)) for signature
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client.NonAsciiHeaderError-class.html b/docs/epy/oauth2client.client.NonAsciiHeaderError-class.html
deleted file mode 100644
index a95ae0d..0000000
--- a/docs/epy/oauth2client.client.NonAsciiHeaderError-class.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client.NonAsciiHeaderError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.client-module.html">Module&nbsp;client</a> ::
-        Class&nbsp;NonAsciiHeaderError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client.NonAsciiHeaderError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class NonAsciiHeaderError</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#NonAsciiHeaderError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_24" name="uml_class_diagram_for_oauth2cl_24">
-<area shape="rect" id="node1" href="oauth2client.client.NonAsciiHeaderError-class.html" title="Header names and values must be ASCII strings." alt="" coords="21,443,171,487"/>
-<area shape="rect" id="node2" href="oauth2client.client.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
-<area shape="rect" id="node159" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node159" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node159" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node159" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node159" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node159" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node159" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node159" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node159" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node159" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node159" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node159" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-<area shape="rect" id="node158" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node158" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_24.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_24" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Header names and values must be ASCII strings.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client.OAuth2Credentials-class.html b/docs/epy/oauth2client.client.OAuth2Credentials-class.html
deleted file mode 100644
index bfbdf65..0000000
--- a/docs/epy/oauth2client.client.OAuth2Credentials-class.html
+++ /dev/null
@@ -1,1042 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client.OAuth2Credentials</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.client-module.html">Module&nbsp;client</a> ::
-        Class&nbsp;OAuth2Credentials
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client.OAuth2Credentials-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class OAuth2Credentials</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_25" name="uml_class_diagram_for_oauth2cl_25">
-<area shape="rect" id="node160" href="oauth2client.client.OAuth2Credentials-class.html#__init__" title="Create an instance of OAuth2Credentials." alt="" coords="17,129,969,148"/>
-<area shape="rect" id="node160" href="oauth2client.client.OAuth2Credentials-class.html#authorize" title="Authorize an httplib2.Http instance with these credentials." alt="" coords="17,148,969,167"/>
-<area shape="rect" id="node160" href="oauth2client.client.OAuth2Credentials-class.html#refresh" title="Forces a refresh of the access_token." alt="" coords="17,167,969,185"/>
-<area shape="rect" id="node160" href="oauth2client.client.OAuth2Credentials-class.html#revoke" title="Revokes a refresh_token and makes the credentials void." alt="" coords="17,185,969,204"/>
-<area shape="rect" id="node160" href="oauth2client.client.OAuth2Credentials-class.html#apply" title="Add the authorization to the headers." alt="" coords="17,204,969,223"/>
-<area shape="rect" id="node160" href="oauth2client.client.OAuth2Credentials-class.html#to_json" title="Creating a JSON representation of an instance of Credentials." alt="" coords="17,223,969,241"/>
-<area shape="rect" id="node160" href="oauth2client.client.OAuth2Credentials-class.html#from_json" title="Instantiate a Credentials object from a JSON description of it." alt="" coords="17,241,969,260"/>
-<area shape="rect" id="node160" href="oauth2client.client.OAuth2Credentials-class.html#access_token_expired" title="True if the credential is expired or invalid." alt="" coords="17,260,969,279"/>
-<area shape="rect" id="node160" href="oauth2client.client.OAuth2Credentials-class.html#set_store" title="Set the Storage for the credential." alt="" coords="17,279,969,297"/>
-<area shape="rect" id="node160" href="oauth2client.client.OAuth2Credentials-class.html#__getstate__" title="Trim the state down to something that can be pickled." alt="" coords="17,297,969,316"/>
-<area shape="rect" id="node160" href="oauth2client.client.OAuth2Credentials-class.html#__setstate__" title="Reconstitute the state of the object from being pickled." alt="" coords="17,316,969,335"/>
-<area shape="rect" id="node1" href="oauth2client.client.OAuth2Credentials-class.html" title="Credentials object for OAuth 2.0." alt="" coords="5,97,981,341"/>
-<area shape="rect" id="node161" href="oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS" title="oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS" alt="" coords="393,31,592,49"/>
-<area shape="rect" id="node161" href="oauth2client.client.Credentials-class.html#new_from_json" title="Utility class method to instantiate a Credentials subclass from a JSON representation produced by to_json()." alt="" coords="393,52,592,71"/>
-<area shape="rect" id="node2" href="oauth2client.client.Credentials-class.html" title="Base class for all Credentials objects." alt="" coords="381,6,603,77"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_25.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_25" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Credentials object for OAuth 2.0.
-
-Credentials can be applied to an httplib2.Http object using the authorize()
-method, which then adds the OAuth 2.0 access token to each request.
-
-OAuth2Credentials objects may be safely pickled and unpickled.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">access_token</span>,
-        <span class="summary-sig-arg">client_id</span>,
-        <span class="summary-sig-arg">client_secret</span>,
-        <span class="summary-sig-arg">refresh_token</span>,
-        <span class="summary-sig-arg">token_expiry</span>,
-        <span class="summary-sig-arg">token_uri</span>,
-        <span class="summary-sig-arg">user_agent</span>,
-        <span class="summary-sig-arg">revoke_uri</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">id_token</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">token_response</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Create an instance of OAuth2Credentials.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#authorize" class="summary-sig-name">authorize</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http</span>)</span><br />
-      Authorize an httplib2.Http instance with these credentials.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.authorize">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#refresh" class="summary-sig-name">refresh</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http</span>)</span><br />
-      Forces a refresh of the access_token.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.refresh">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#revoke" class="summary-sig-name">revoke</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http</span>)</span><br />
-      Revokes a refresh_token and makes the credentials void.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.revoke">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#apply" class="summary-sig-name">apply</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">headers</span>)</span><br />
-      Add the authorization to the headers.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.apply">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#to_json" class="summary-sig-name">to_json</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Creating a JSON representation of an instance of Credentials.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.to_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#access_token_expired" class="summary-sig-name">access_token_expired</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      True if the credential is expired or invalid.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.access_token_expired">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#set_store" class="summary-sig-name">set_store</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">store</span>)</span><br />
-      Set the Storage for the credential.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.set_store">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_updateFromCredential"></a><span class="summary-sig-name">_updateFromCredential</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">other</span>)</span><br />
-      Update this Credential from another instance.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials._updateFromCredential">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="__getstate__"></a><span class="summary-sig-name">__getstate__</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Trim the state down to something that can be pickled.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.__getstate__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="__setstate__"></a><span class="summary-sig-name">__setstate__</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">state</span>)</span><br />
-      Reconstitute the state of the object from being pickled.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.__setstate__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_generate_refresh_request_body"></a><span class="summary-sig-name">_generate_refresh_request_body</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Generate the body that will be used in the refresh request.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials._generate_refresh_request_body">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_generate_refresh_request_headers"></a><span class="summary-sig-name">_generate_refresh_request_headers</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Generate the headers that will be used in the refresh request.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials._generate_refresh_request_headers">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#_refresh" class="summary-sig-name" onclick="show_private();">_refresh</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http_request</span>)</span><br />
-      Refreshes the access_token.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials._refresh">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#_do_refresh_request" class="summary-sig-name" onclick="show_private();">_do_refresh_request</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http_request</span>)</span><br />
-      Refresh the access_token using the refresh_token.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials._do_refresh_request">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#_revoke" class="summary-sig-name" onclick="show_private();">_revoke</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http_request</span>)</span><br />
-      Revokes the refresh_token and deletes the store if available.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials._revoke">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#_do_revoke" class="summary-sig-name" onclick="show_private();">_do_revoke</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http_request</span>,
-        <span class="summary-sig-arg">token</span>)</span><br />
-      Revokes the credentials and deletes the store if available.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials._do_revoke">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">Credentials</a></code></b> (private):
-      <code><a href="oauth2client.client.Credentials-class.html#_to_json" onclick="show_private();">_to_json</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.OAuth2Credentials-class.html#from_json" class="summary-sig-name">from_json</a>(<span class="summary-sig-arg">cls</span>,
-        <span class="summary-sig-arg">s</span>)</span><br />
-      Instantiate a Credentials object from a JSON description of it.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.from_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">Credentials</a></code></b>:
-      <code><a href="oauth2client.client.Credentials-class.html#new_from_json">new_from_json</a></code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">Credentials</a></code></b>:
-      <code><a href="oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS">NON_SERIALIZED_MEMBERS</a></code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">access_token</span>,
-        <span class="sig-arg">client_id</span>,
-        <span class="sig-arg">client_secret</span>,
-        <span class="sig-arg">refresh_token</span>,
-        <span class="sig-arg">token_expiry</span>,
-        <span class="sig-arg">token_uri</span>,
-        <span class="sig-arg">user_agent</span>,
-        <span class="sig-arg">revoke_uri</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">id_token</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">token_response</span>=<span class="sig-default">None</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Create an instance of OAuth2Credentials.
-
-This constructor is not usually called by the user, instead
-OAuth2Credentials objects are instantiated by the OAuth2WebServerFlow.
-
-Args:
-  access_token: string, access token.
-  client_id: string, client identifier.
-  client_secret: string, client secret.
-  refresh_token: string, refresh token.
-  token_expiry: datetime, when the access_token expires.
-  token_uri: string, URI of token endpoint.
-  user_agent: string, The HTTP User-Agent to provide for this application.
-  revoke_uri: string, URI for revoke endpoint. Defaults to None; a token
-    can't be revoked if this is None.
-  id_token: object, The identity of the resource owner.
-  token_response: dict, the decoded response to the token request. None
-    if a token hasn't been requested yet. Stored because some providers
-    (e.g. wordpress.com) include extra fields that clients may want.
-
-Notes:
-  store: callable, A callable that when passed a Credential
-    will store the credential back to where it came from.
-    This is needed to store the latest access_token if it
-    has expired and been refreshed.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(8)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="authorize"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">authorize</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.authorize">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Authorize an httplib2.Http instance with these credentials.
-
-The modified http.request method will add authentication headers to each
-request and will refresh access_tokens when a 401 is received on a
-request. In addition the http.request method has a credentials property,
-http.request.credentials, which is the Credentials object that authorized
-it.
-
-Args:
-   http: An instance of httplib2.Http
-     or something that acts like it.
-
-Returns:
-   A modified instance of http that was passed in.
-
-Example:
-
-  h = httplib2.Http()
-  h = credentials.authorize(h)
-
-You can't create a new OAuth subclass of httplib2.Authenication
-because it never gets passed the absolute URI, which is needed for
-signing. So instead we have to overload 'request' with a closure
-that adds in the Authorization header and then calls the original
-version of 'request()'.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Credentials-class.html#authorize">Credentials.authorize</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="refresh"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">refresh</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.refresh">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Forces a refresh of the access_token.
-
-Args:
-  http: httplib2.Http, an http object to be used to make the refresh
-    request.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Credentials-class.html#refresh">Credentials.refresh</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="revoke"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">revoke</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.revoke">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Revokes a refresh_token and makes the credentials void.
-
-Args:
-  http: httplib2.Http, an http object to be used to make the revoke
-    request.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Credentials-class.html#revoke">Credentials.revoke</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="apply"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">apply</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">headers</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.apply">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Add the authorization to the headers.
-
-Args:
-  headers: dict, the headers to add the Authorization header to.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Credentials-class.html#apply">Credentials.apply</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="to_json"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">to_json</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.to_json">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Creating a JSON representation of an instance of Credentials.
-
-Returns:
-   string, a JSON representation of this instance, suitable to pass to
-   from_json().
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Credentials-class.html#to_json">Credentials.to_json</a>
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="from_json"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">from_json</span>(<span class="sig-arg">cls</span>,
-        <span class="sig-arg">s</span>)</span>
-    <br /><em class="fname">Class Method</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.from_json">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Instantiate a Credentials object from a JSON description of it. The JSON
-should have been produced by calling .to_json() on the object.
-
-Args:
-  data: dict, A deserialized JSON object.
-
-Returns:
-  An instance of a Credentials subclass.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Credentials-class.html#from_json">Credentials.from_json</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="access_token_expired"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">access_token_expired</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.access_token_expired">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-True if the credential is expired or invalid.
-
-If the token_expiry isn't set, we assume the token doesn't expire.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@property</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="set_store"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">set_store</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">store</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials.set_store">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Set the Storage for the credential.
-
-Args:
-  store: Storage, an implementation of Stroage object.
-    This is needed to store the latest access_token if it
-    has expired and been refreshed. This implementation uses
-    locking to check for updates before updating the
-    access_token.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_refresh"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_refresh</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http_request</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials._refresh">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Refreshes the access_token.
-
-This method first checks by reading the Storage object if available.
-If a refresh is still needed, it holds the Storage lock until the
-refresh is completed.
-
-Args:
-  http_request: callable, a callable that matches the method signature of
-    httplib2.Http.request, used to make the refresh request.
-
-Raises:
-  AccessTokenRefreshError: When the refresh fails.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_do_refresh_request"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_do_refresh_request</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http_request</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials._do_refresh_request">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Refresh the access_token using the refresh_token.
-
-Args:
-  http_request: callable, a callable that matches the method signature of
-    httplib2.Http.request, used to make the refresh request.
-
-Raises:
-  AccessTokenRefreshError: When the refresh fails.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_revoke"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_revoke</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http_request</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials._revoke">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Revokes the refresh_token and deletes the store if available.
-
-Args:
-  http_request: callable, a callable that matches the method signature of
-    httplib2.Http.request, used to make the revoke request.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_do_revoke"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_do_revoke</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http_request</span>,
-        <span class="sig-arg">token</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2Credentials._do_revoke">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Revokes the credentials and deletes the store if available.
-
-Args:
-  http_request: callable, a callable that matches the method signature of
-    httplib2.Http.request, used to make the refresh request.
-  token: A string used as the token to be revoked. Can be either an
-    access_token or refresh_token.
-
-Raises:
-  TokenRevokeError: If the revoke request does not return with a 200 OK.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client.OAuth2WebServerFlow-class.html b/docs/epy/oauth2client.client.OAuth2WebServerFlow-class.html
deleted file mode 100644
index f86442b..0000000
--- a/docs/epy/oauth2client.client.OAuth2WebServerFlow-class.html
+++ /dev/null
@@ -1,399 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client.OAuth2WebServerFlow</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.client-module.html">Module&nbsp;client</a> ::
-        Class&nbsp;OAuth2WebServerFlow
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client.OAuth2WebServerFlow-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class OAuth2WebServerFlow</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_26" name="uml_class_diagram_for_oauth2cl_26">
-<area shape="rect" id="node162" href="oauth2client.client.OAuth2WebServerFlow-class.html#__init__" title="Constructor for OAuth2WebServerFlow." alt="" coords="17,103,1189,121"/>
-<area shape="rect" id="node162" href="oauth2client.client.OAuth2WebServerFlow-class.html#step1_get_authorize_url" title="Returns a URI to redirect to the provider." alt="" coords="17,121,1189,140"/>
-<area shape="rect" id="node162" href="oauth2client.client.OAuth2WebServerFlow-class.html#step2_exchange" title="Exhanges a code for OAuth2Credentials." alt="" coords="17,140,1189,159"/>
-<area shape="rect" id="node1" href="oauth2client.client.OAuth2WebServerFlow-class.html" title="Does the Web Server Flow for OAuth 2.0." alt="" coords="5,70,1200,165"/>
-<area shape="rect" id="node2" href="oauth2client.client.Flow-class.html" title="Base class for all Flow objects." alt="" coords="576,6,629,50"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_26.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_26" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Does the Web Server Flow for OAuth 2.0.
-
-OAuth2WebServerFlow objects may be safely pickled and unpickled.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.OAuth2WebServerFlow-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">client_id</span>,
-        <span class="summary-sig-arg">client_secret</span>,
-        <span class="summary-sig-arg">scope</span>,
-        <span class="summary-sig-arg">redirect_uri</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">user_agent</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">auth_uri</span>=<span class="summary-sig-default">GOOGLE_AUTH_URI</span>,
-        <span class="summary-sig-arg">token_uri</span>=<span class="summary-sig-default">GOOGLE_TOKEN_URI</span>,
-        <span class="summary-sig-arg">revoke_uri</span>=<span class="summary-sig-default">GOOGLE_REVOKE_URI</span>,
-        <span class="summary-sig-arg">**kwargs</span>)</span><br />
-      Constructor for OAuth2WebServerFlow.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.OAuth2WebServerFlow-class.html#step1_get_authorize_url" class="summary-sig-name">step1_get_authorize_url</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">redirect_uri</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Returns a URI to redirect to the provider.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow.step1_get_authorize_url">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.OAuth2WebServerFlow-class.html#step2_exchange" class="summary-sig-name">step2_exchange</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">code</span>,
-        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Exhanges a code for OAuth2Credentials.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow.step2_exchange">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">client_id</span>,
-        <span class="sig-arg">client_secret</span>,
-        <span class="sig-arg">scope</span>,
-        <span class="sig-arg">redirect_uri</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">user_agent</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">auth_uri</span>=<span class="sig-default">GOOGLE_AUTH_URI</span>,
-        <span class="sig-arg">token_uri</span>=<span class="sig-default">GOOGLE_TOKEN_URI</span>,
-        <span class="sig-arg">revoke_uri</span>=<span class="sig-default">GOOGLE_REVOKE_URI</span>,
-        <span class="sig-arg">**kwargs</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor for OAuth2WebServerFlow.
-
-The kwargs argument is used to set extra query parameters on the
-auth_uri. For example, the access_type and approval_prompt
-query parameters can be set via kwargs.
-
-Args:
-  client_id: string, client identifier.
-  client_secret: string client secret.
-  scope: string or iterable of strings, scope(s) of the credentials being
-    requested.
-  redirect_uri: string, Either the string 'urn:ietf:wg:oauth:2.0:oob' for
-    a non-web-based application, or a URI that handles the callback from
-    the authorization server.
-  user_agent: string, HTTP User-Agent to provide for this application.
-  auth_uri: string, URI for authorization endpoint. For convenience
-    defaults to Google's endpoints but any OAuth 2.0 provider can be used.
-  token_uri: string, URI for token endpoint. For convenience
-    defaults to Google's endpoints but any OAuth 2.0 provider can be used.
-  revoke_uri: string, URI for revoke endpoint. For convenience
-    defaults to Google's endpoints but any OAuth 2.0 provider can be used.
-  **kwargs: dict, The keyword arguments are all optional and required
-                    parameters for the OAuth calls.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(4)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="step1_get_authorize_url"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">step1_get_authorize_url</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">redirect_uri</span>=<span class="sig-default">None</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow.step1_get_authorize_url">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Returns a URI to redirect to the provider.
-
-Args:
-  redirect_uri: string, Either the string 'urn:ietf:wg:oauth:2.0:oob' for
-    a non-web-based application, or a URI that handles the callback from
-    the authorization server. This parameter is deprecated, please move to
-    passing the redirect_uri in via the constructor.
-
-Returns:
-  A URI as a string to redirect the user to begin the authorization flow.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(1)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="step2_exchange"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">step2_exchange</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">code</span>,
-        <span class="sig-arg">http</span>=<span class="sig-default">None</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#OAuth2WebServerFlow.step2_exchange">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Exhanges a code for OAuth2Credentials.
-
-Args:
-  code: string or dict, either the code as a string, or a dictionary
-    of the query parameters to the redirect_uri, which contains
-    the code.
-  http: httplib2.Http, optional http instance to use to do the fetch
-
-Returns:
-  An OAuth2Credentials object that can be used to authorize requests.
-
-Raises:
-  FlowExchangeError if a problem occured exchanging the code for a
-  refresh_token.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client.SignedJwtAssertionCredentials-class.html b/docs/epy/oauth2client.client.SignedJwtAssertionCredentials-class.html
deleted file mode 100644
index bb7b870..0000000
--- a/docs/epy/oauth2client.client.SignedJwtAssertionCredentials-class.html
+++ /dev/null
@@ -1,470 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client.SignedJwtAssertionCredentials</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.client-module.html">Module&nbsp;client</a> ::
-        Class&nbsp;SignedJwtAssertionCredentials
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client.SignedJwtAssertionCredentials-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class SignedJwtAssertionCredentials</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#SignedJwtAssertionCredentials">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_27" name="uml_class_diagram_for_oauth2cl_27">
-<area shape="rect" id="node164" href="oauth2client.client.SignedJwtAssertionCredentials-class.html#MAX_TOKEN_LIFETIME_SECS" title="oauth2client.client.SignedJwtAssertionCredentials.MAX_TOKEN_LIFETIME_SECS" alt="" coords="17,412,1177,431"/>
-<area shape="rect" id="node164" href="oauth2client.client.SignedJwtAssertionCredentials-class.html#__init__" title="Constructor for SignedJwtAssertionCredentials." alt="" coords="17,433,1177,452"/>
-<area shape="rect" id="node164" href="oauth2client.client.SignedJwtAssertionCredentials-class.html#from_json" title="Instantiate a Credentials object from a JSON description of it." alt="" coords="17,452,1177,471"/>
-<area shape="rect" id="node1" href="oauth2client.client.SignedJwtAssertionCredentials-class.html" title="Credentials object used for OAuth 2.0 Signed JWT assertion grants." alt="" coords="5,387,1189,477"/>
-<area shape="rect" id="node2" href="oauth2client.client.AssertionCredentials-class.html" title="Abstract Credentials object used for OAuth 2.0 assertion grants." alt="" coords="524,323,671,367"/>
-<area shape="rect" id="node166" href="oauth2client.client.OAuth2Credentials-class.html#authorize" title="Authorize an httplib2.Http instance with these credentials." alt="" coords="513,129,680,148"/>
-<area shape="rect" id="node166" href="oauth2client.client.OAuth2Credentials-class.html#refresh" title="Forces a refresh of the access_token." alt="" coords="513,148,680,167"/>
-<area shape="rect" id="node166" href="oauth2client.client.OAuth2Credentials-class.html#revoke" title="Revokes a refresh_token and makes the credentials void." alt="" coords="513,167,680,185"/>
-<area shape="rect" id="node166" href="oauth2client.client.OAuth2Credentials-class.html#apply" title="Add the authorization to the headers." alt="" coords="513,185,680,204"/>
-<area shape="rect" id="node166" href="oauth2client.client.OAuth2Credentials-class.html#to_json" title="Creating a JSON representation of an instance of Credentials." alt="" coords="513,204,680,223"/>
-<area shape="rect" id="node166" href="oauth2client.client.OAuth2Credentials-class.html#access_token_expired" title="True if the credential is expired or invalid." alt="" coords="513,223,680,241"/>
-<area shape="rect" id="node166" href="oauth2client.client.OAuth2Credentials-class.html#set_store" title="Set the Storage for the credential." alt="" coords="513,241,680,260"/>
-<area shape="rect" id="node166" href="oauth2client.client.OAuth2Credentials-class.html#__getstate__" title="Trim the state down to something that can be pickled." alt="" coords="513,260,680,279"/>
-<area shape="rect" id="node166" href="oauth2client.client.OAuth2Credentials-class.html#__setstate__" title="Reconstitute the state of the object from being pickled." alt="" coords="513,279,680,297"/>
-<area shape="rect" id="node3" href="oauth2client.client.OAuth2Credentials-class.html" title="Credentials object for OAuth 2.0." alt="" coords="501,97,691,303"/>
-<area shape="rect" id="node167" href="oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS" title="oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS" alt="" coords="497,31,696,49"/>
-<area shape="rect" id="node167" href="oauth2client.client.Credentials-class.html#new_from_json" title="Utility class method to instantiate a Credentials subclass from a JSON representation produced by to_json()." alt="" coords="497,52,696,71"/>
-<area shape="rect" id="node4" href="oauth2client.client.Credentials-class.html" title="Base class for all Credentials objects." alt="" coords="485,6,707,77"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_27.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_27" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Credentials object used for OAuth 2.0 Signed JWT assertion grants.
-
-This credential does not require a flow to instantiate because it represents
-a two legged flow, and therefore has all of the required information to
-generate and refresh its own access tokens.
-
-SignedJwtAssertionCredentials requires either PyOpenSSL, or PyCrypto 2.6 or
-later. For App Engine you may also consider using AppAssertionCredentials.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.SignedJwtAssertionCredentials-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">service_account_name</span>,
-        <span class="summary-sig-arg">private_key</span>,
-        <span class="summary-sig-arg">scope</span>,
-        <span class="summary-sig-arg">private_key_password</span>=<span class="summary-sig-default">'notasecret'</span>,
-        <span class="summary-sig-arg">user_agent</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">token_uri</span>=<span class="summary-sig-default">GOOGLE_TOKEN_URI</span>,
-        <span class="summary-sig-arg">revoke_uri</span>=<span class="summary-sig-default">GOOGLE_REVOKE_URI</span>,
-        <span class="summary-sig-arg">**kwargs</span>)</span><br />
-      Constructor for SignedJwtAssertionCredentials.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#SignedJwtAssertionCredentials.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.SignedJwtAssertionCredentials-class.html#_generate_assertion" class="summary-sig-name" onclick="show_private();">_generate_assertion</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Generate the assertion that will be used in the request.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#SignedJwtAssertionCredentials._generate_assertion">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.AssertionCredentials-class.html">AssertionCredentials</a></code></b> (private):
-      <code><a href="oauth2client.client.AssertionCredentials-class.html#_generate_refresh_request_body" onclick="show_private();">_generate_refresh_request_body</a></code>,
-      <code><a href="oauth2client.client.AssertionCredentials-class.html#_revoke" onclick="show_private();">_revoke</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a></code></b>:
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#__getstate__">__getstate__</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#__setstate__">__setstate__</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#access_token_expired">access_token_expired</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#apply">apply</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#authorize">authorize</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#refresh">refresh</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#revoke">revoke</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#set_store">set_store</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#to_json">to_json</a></code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.OAuth2Credentials-class.html">OAuth2Credentials</a></code></b> (private):
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_do_refresh_request" onclick="show_private();">_do_refresh_request</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_do_revoke" onclick="show_private();">_do_revoke</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_headers" onclick="show_private();">_generate_refresh_request_headers</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_refresh" onclick="show_private();">_refresh</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_updateFromCredential" onclick="show_private();">_updateFromCredential</a></code>
-      </p></div>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">Credentials</a></code></b> (private):
-      <code><a href="oauth2client.client.Credentials-class.html#_to_json" onclick="show_private();">_to_json</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.SignedJwtAssertionCredentials-class.html#from_json" class="summary-sig-name">from_json</a>(<span class="summary-sig-arg">cls</span>,
-        <span class="summary-sig-arg">s</span>)</span><br />
-      Instantiate a Credentials object from a JSON description of it.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#SignedJwtAssertionCredentials.from_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">Credentials</a></code></b>:
-      <code><a href="oauth2client.client.Credentials-class.html#new_from_json">new_from_json</a></code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="MAX_TOKEN_LIFETIME_SECS"></a><span class="summary-name">MAX_TOKEN_LIFETIME_SECS</span> = <code title="3600">3600</code>
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">Credentials</a></code></b>:
-      <code><a href="oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS">NON_SERIALIZED_MEMBERS</a></code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">service_account_name</span>,
-        <span class="sig-arg">private_key</span>,
-        <span class="sig-arg">scope</span>,
-        <span class="sig-arg">private_key_password</span>=<span class="sig-default">'notasecret'</span>,
-        <span class="sig-arg">user_agent</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">token_uri</span>=<span class="sig-default">GOOGLE_TOKEN_URI</span>,
-        <span class="sig-arg">revoke_uri</span>=<span class="sig-default">GOOGLE_REVOKE_URI</span>,
-        <span class="sig-arg">**kwargs</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#SignedJwtAssertionCredentials.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor for SignedJwtAssertionCredentials.
-
-Args:
-  service_account_name: string, id for account, usually an email address.
-  private_key: string, private key in PKCS12 or PEM format.
-  scope: string or iterable of strings, scope(s) of the credentials being
-    requested.
-  private_key_password: string, password for private_key, unused if
-    private_key is in PEM format.
-  user_agent: string, HTTP User-Agent to provide for this application.
-  token_uri: string, URI for token endpoint. For convenience
-    defaults to Google's endpoints but any OAuth 2.0 provider can be used.
-  revoke_uri: string, URI for revoke endpoint.
-  kwargs: kwargs, Additional parameters to add to the JWT token, for
-    example sub=joe@xample.org.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(4)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="from_json"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">from_json</span>(<span class="sig-arg">cls</span>,
-        <span class="sig-arg">s</span>)</span>
-    <br /><em class="fname">Class Method</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#SignedJwtAssertionCredentials.from_json">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Instantiate a Credentials object from a JSON description of it. The JSON
-should have been produced by calling .to_json() on the object.
-
-Args:
-  data: dict, A deserialized JSON object.
-
-Returns:
-  An instance of a Credentials subclass.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Credentials-class.html#from_json">Credentials.from_json</a>
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_generate_assertion"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_generate_assertion</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#SignedJwtAssertionCredentials._generate_assertion">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Generate the assertion that will be used in the request.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.AssertionCredentials-class.html#_generate_assertion" onclick="show_private();">AssertionCredentials._generate_assertion</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client.Storage-class.html b/docs/epy/oauth2client.client.Storage-class.html
deleted file mode 100644
index 929f712..0000000
--- a/docs/epy/oauth2client.client.Storage-class.html
+++ /dev/null
@@ -1,554 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client.Storage</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.client-module.html">Module&nbsp;client</a> ::
-        Class&nbsp;Storage
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client.Storage-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Storage</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#Storage">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_28" name="uml_class_diagram_for_oauth2cl_28">
-<area shape="rect" id="node168" href="oauth2client.client.Storage-class.html#acquire_lock" title="Acquires any lock necessary to access this Storage." alt="" coords="17,39,188,57"/>
-<area shape="rect" id="node168" href="oauth2client.client.Storage-class.html#release_lock" title="Release the Storage lock." alt="" coords="17,57,188,76"/>
-<area shape="rect" id="node168" href="oauth2client.client.Storage-class.html#locked_get" title="Retrieve credential." alt="" coords="17,76,188,95"/>
-<area shape="rect" id="node168" href="oauth2client.client.Storage-class.html#locked_put" title="Write a credential." alt="" coords="17,95,188,113"/>
-<area shape="rect" id="node168" href="oauth2client.client.Storage-class.html#locked_delete" title="Delete a credential." alt="" coords="17,113,188,132"/>
-<area shape="rect" id="node168" href="oauth2client.client.Storage-class.html#get" title="Retrieve credential." alt="" coords="17,132,188,151"/>
-<area shape="rect" id="node168" href="oauth2client.client.Storage-class.html#put" title="Write a credential." alt="" coords="17,151,188,169"/>
-<area shape="rect" id="node168" href="oauth2client.client.Storage-class.html#delete" title="Delete credential." alt="" coords="17,169,188,188"/>
-<area shape="rect" id="node1" href="oauth2client.client.Storage-class.html" title="Base class for all Storage objects." alt="" coords="5,6,200,194"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_28.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_28" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Base class for all Storage objects.
-
-Store and retrieve a single credential. This class supports locking
-such that multiple processes and threads can operate on a single
-store.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.Storage-class.html#acquire_lock" class="summary-sig-name">acquire_lock</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Acquires any lock necessary to access this Storage.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#Storage.acquire_lock">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.Storage-class.html#release_lock" class="summary-sig-name">release_lock</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Release the Storage lock.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#Storage.release_lock">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.Storage-class.html#locked_get" class="summary-sig-name">locked_get</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Retrieve credential.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#Storage.locked_get">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.Storage-class.html#locked_put" class="summary-sig-name">locked_put</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">credentials</span>)</span><br />
-      Write a credential.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#Storage.locked_put">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.Storage-class.html#locked_delete" class="summary-sig-name">locked_delete</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Delete a credential.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#Storage.locked_delete">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.Storage-class.html#get" class="summary-sig-name">get</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Retrieve credential.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#Storage.get">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.Storage-class.html#put" class="summary-sig-name">put</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">credentials</span>)</span><br />
-      Write a credential.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#Storage.put">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.client.Storage-class.html#delete" class="summary-sig-name">delete</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Delete credential.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.client-pysrc.html#Storage.delete">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__init__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="acquire_lock"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">acquire_lock</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#Storage.acquire_lock">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Acquires any lock necessary to access this Storage.
-
-This lock is not reentrant.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="release_lock"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">release_lock</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#Storage.release_lock">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Release the Storage lock.
-
-Trying to release a lock that isn't held will result in a
-RuntimeError.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="locked_get"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_get</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#Storage.locked_get">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Retrieve credential.
-
-The Storage lock must be held when this is called.
-
-Returns:
-  oauth2client.client.Credentials
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="locked_put"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_put</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">credentials</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#Storage.locked_put">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Write a credential.
-
-The Storage lock must be held when this is called.
-
-Args:
-  credentials: Credentials, the credentials to store.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="locked_delete"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_delete</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#Storage.locked_delete">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Delete a credential.
-
-The Storage lock must be held when this is called.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="get"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">get</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#Storage.get">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Retrieve credential.
-
-The Storage lock must *not* be held when this is called.
-
-Returns:
-  oauth2client.client.Credentials
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="put"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">put</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">credentials</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#Storage.put">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Write a credential.
-
-The Storage lock must be held when this is called.
-
-Args:
-  credentials: Credentials, the credentials to store.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="delete"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">delete</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.client-pysrc.html#Storage.delete">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Delete credential.
-
-Frees any resources associated with storing the credential.
-The Storage lock must *not* be held when this is called.
-
-Returns:
-  None
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client.TokenRevokeError-class.html b/docs/epy/oauth2client.client.TokenRevokeError-class.html
deleted file mode 100644
index 39e2f12..0000000
--- a/docs/epy/oauth2client.client.TokenRevokeError-class.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client.TokenRevokeError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.client-module.html">Module&nbsp;client</a> ::
-        Class&nbsp;TokenRevokeError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client.TokenRevokeError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class TokenRevokeError</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#TokenRevokeError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_29" name="uml_class_diagram_for_oauth2cl_29">
-<area shape="rect" id="node1" href="oauth2client.client.TokenRevokeError-class.html" title="Error trying to revoke a token." alt="" coords="28,443,161,487"/>
-<area shape="rect" id="node2" href="oauth2client.client.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
-<area shape="rect" id="node172" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node172" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node172" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node172" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node172" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node172" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node172" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node172" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node172" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node172" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node172" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node172" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-<area shape="rect" id="node171" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node171" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_29.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_29" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Error trying to revoke a token.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client.UnknownClientSecretsFlowError-class.html b/docs/epy/oauth2client.client.UnknownClientSecretsFlowError-class.html
deleted file mode 100644
index c67d00c..0000000
--- a/docs/epy/oauth2client.client.UnknownClientSecretsFlowError-class.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client.UnknownClientSecretsFlowError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.client-module.html">Module&nbsp;client</a> ::
-        Class&nbsp;UnknownClientSecretsFlowError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client.UnknownClientSecretsFlowError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class UnknownClientSecretsFlowError</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#UnknownClientSecretsFlowError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_30" name="uml_class_diagram_for_oauth2cl_30">
-<area shape="rect" id="node1" href="oauth2client.client.UnknownClientSecretsFlowError-class.html" title="The client secrets file called for an unknown type of OAuth 2.0 flow." alt="" coords="5,443,221,487"/>
-<area shape="rect" id="node2" href="oauth2client.client.Error-class.html" title="Base error for this module." alt="" coords="85,379,139,423"/>
-<area shape="rect" id="node176" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="35,31,192,49"/>
-<area shape="rect" id="node176" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="35,49,192,68"/>
-<area shape="rect" id="node176" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="35,71,192,89"/>
-<area shape="rect" id="node176" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="35,89,192,108"/>
-<area shape="rect" id="node176" href="javascript:void(0);" title="x[y]" alt="" coords="35,108,192,127"/>
-<area shape="rect" id="node176" href="javascript:void(0);" title="x[i:j]" alt="" coords="35,127,192,145"/>
-<area shape="rect" id="node176" href="javascript:void(0);" title="helper for pickle" alt="" coords="35,145,192,164"/>
-<area shape="rect" id="node176" href="javascript:void(0);" title="repr(x)" alt="" coords="35,164,192,183"/>
-<area shape="rect" id="node176" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="35,183,192,201"/>
-<area shape="rect" id="node176" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="35,201,192,220"/>
-<area shape="rect" id="node176" href="javascript:void(0);" title="str(x)" alt="" coords="35,220,192,239"/>
-<area shape="rect" id="node176" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="35,239,192,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="23,6,204,263"/>
-<area shape="rect" id="node175" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="49,316,176,335"/>
-<area shape="rect" id="node175" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="49,335,176,353"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="37,283,187,359"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_30.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_30" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-The client secrets file called for an unknown type of OAuth 2.0 flow. 
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.client.VerifyJwtTokenError-class.html b/docs/epy/oauth2client.client.VerifyJwtTokenError-class.html
deleted file mode 100644
index 641041d..0000000
--- a/docs/epy/oauth2client.client.VerifyJwtTokenError-class.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.client.VerifyJwtTokenError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.client-module.html">Module&nbsp;client</a> ::
-        Class&nbsp;VerifyJwtTokenError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.client.VerifyJwtTokenError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class VerifyJwtTokenError</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.client-pysrc.html#VerifyJwtTokenError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_31" name="uml_class_diagram_for_oauth2cl_31">
-<area shape="rect" id="node1" href="oauth2client.client.VerifyJwtTokenError-class.html" title="Could on retrieve certificates for validation." alt="" coords="23,443,167,487"/>
-<area shape="rect" id="node2" href="oauth2client.client.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
-<area shape="rect" id="node180" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node180" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node180" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node180" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node180" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node180" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node180" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node180" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node180" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node180" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node180" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node180" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-<area shape="rect" id="node179" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node179" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_31.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_31" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Could on retrieve certificates for validation.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.clientsecrets-module.html b/docs/epy/oauth2client.clientsecrets-module.html
deleted file mode 100644
index 6a927e2..0000000
--- a/docs/epy/oauth2client.clientsecrets-module.html
+++ /dev/null
@@ -1,398 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.clientsecrets</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;clientsecrets
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.clientsecrets-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module clientsecrets</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.clientsecrets-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-Utilities for reading OAuth 2.0 client secret files.
-
-A client_secrets.json file contains all the information needed to interact with
-an OAuth 2.0 protected service.
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        jcgregorio@google.com (Joe Gregorio)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.clientsecrets.Error-class.html" class="summary-name">Error</a><br />
-      Base error for this module.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.clientsecrets.InvalidClientSecretsError-class.html" class="summary-name">InvalidClientSecretsError</a><br />
-      Format of ClientSecrets file is invalid.
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_validate_clientsecrets"></a><span class="summary-sig-name">_validate_clientsecrets</span>(<span class="summary-sig-arg">obj</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.clientsecrets-pysrc.html#_validate_clientsecrets">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="load"></a><span class="summary-sig-name">load</span>(<span class="summary-sig-arg">fp</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.clientsecrets-pysrc.html#load">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="loads"></a><span class="summary-sig-name">loads</span>(<span class="summary-sig-arg">s</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.clientsecrets-pysrc.html#loads">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_loadfile"></a><span class="summary-sig-name">_loadfile</span>(<span class="summary-sig-arg">filename</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.clientsecrets-pysrc.html#_loadfile">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.clientsecrets-module.html#loadfile" class="summary-sig-name">loadfile</a>(<span class="summary-sig-arg">filename</span>,
-        <span class="summary-sig-arg">cache</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Loading of client_secrets JSON file, optionally backed by a cache.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.clientsecrets-pysrc.html#loadfile">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="TYPE_WEB"></a><span class="summary-name">TYPE_WEB</span> = <code title="'web'">'web'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="TYPE_INSTALLED"></a><span class="summary-name">TYPE_INSTALLED</span> = <code title="'installed'">'installed'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.clientsecrets-module.html#VALID_CLIENT" class="summary-name">VALID_CLIENT</a> = <code title="{TYPE_WEB: {'required': ['client_id', 'client_secret', 'redirect_uris'\
-, 'auth_uri', 'token_uri',], 'string': ['client_id', 'client_secret',]\
-,}, TYPE_INSTALLED: {'required': ['client_id', 'client_secret', 'redir\
-ect_uris', 'auth_uri', 'token_uri',], 'string': ['client_id', 'client_\
-secret',],},}">{TYPE_WEB: {'required': ['client_id', 'client_s<code class="variable-ellipsis">...</code></code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="loadfile"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">loadfile</span>(<span class="sig-arg">filename</span>,
-        <span class="sig-arg">cache</span>=<span class="sig-default">None</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.clientsecrets-pysrc.html#loadfile">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Loading of client_secrets JSON file, optionally backed by a cache.
-
-Typical cache storage would be App Engine memcache service,
-but you can pass in any other cache client that implements
-these methods:
-  - get(key, namespace=ns)
-  - set(key, value, namespace=ns)
-
-Usage:
-  # without caching
-  client_type, client_info = loadfile('secrets.json')
-  # using App Engine memcache service
-  from google.appengine.api import memcache
-  client_type, client_info = loadfile('secrets.json', cache=memcache)
-
-Args:
-  filename: string, Path to a client_secrets.json file on a filesystem.
-  cache: An optional cache service client that implements get() and set()
-    methods. If not specified, the file is always being loaded from
-    a filesystem.
-
-Raises:
-  InvalidClientSecretsError: In case of a validation error or some
-    I/O failure. Can happen only on cache miss.
-
-Returns:
-  (client_type, client_info) tuple, as _loadfile() normally would.
-  JSON contents is validated only during first load. Cache hits are not
-  validated.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-VariablesDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="VALID_CLIENT"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <h3 class="epydoc">VALID_CLIENT</h3>
-  
-  <dl class="fields">
-  </dl>
-  <dl class="fields">
-    <dt>Value:</dt>
-      <dd><table><tr><td><pre class="variable">
-{TYPE_WEB: {'required': ['client_id', 'client_secret', 'redirect_uris'<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-, 'auth_uri', 'token_uri',], 'string': ['client_id', 'client_secret',]<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-,}, TYPE_INSTALLED: {'required': ['client_id', 'client_secret', 'redir<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-ect_uris', 'auth_uri', 'token_uri',], 'string': ['client_id', 'client_<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-secret',],},}
-</pre></td></tr></table>
-</dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.clientsecrets-pysrc.html b/docs/epy/oauth2client.clientsecrets-pysrc.html
deleted file mode 100644
index 4c74258..0000000
--- a/docs/epy/oauth2client.clientsecrets-pysrc.html
+++ /dev/null
@@ -1,271 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.clientsecrets</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;clientsecrets
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.clientsecrets-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="oauth2client.clientsecrets-module.html">Module oauth2client.clientsecrets</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2011 Google Inc.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">"""Utilities for reading OAuth 2.0 client secret files.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">A client_secrets.json file contains all the information needed to interact with</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">an OAuth 2.0 protected service.</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module oauth2client.anyjson=oauth2client.anyjson-module.html"><a title="oauth2client.anyjson" class="py-name" href="#" onclick="return doclink('link-0', 'anyjson', 'link-0');">anyjson</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-comment"># Properties that make a client_secrets.json file valid.</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable oauth2client.clientsecrets.TYPE_WEB=oauth2client.clientsecrets-module.html#TYPE_WEB"><a title="oauth2client.clientsecrets.TYPE_WEB" class="py-name" href="#" onclick="return doclink('link-1', 'TYPE_WEB', 'link-1');">TYPE_WEB</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'web'</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable oauth2client.clientsecrets.TYPE_INSTALLED=oauth2client.clientsecrets-module.html#TYPE_INSTALLED"><a title="oauth2client.clientsecrets.TYPE_INSTALLED" class="py-name" href="#" onclick="return doclink('link-2', 'TYPE_INSTALLED', 'link-2');">TYPE_INSTALLED</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'installed'</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable oauth2client.clientsecrets.VALID_CLIENT=oauth2client.clientsecrets-module.html#VALID_CLIENT"><a title="oauth2client.clientsecrets.VALID_CLIENT" class="py-name" href="#" onclick="return doclink('link-3', 'VALID_CLIENT', 'link-3');">VALID_CLIENT</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">    <tt id="link-4" class="py-name"><a title="oauth2client.clientsecrets.TYPE_WEB" class="py-name" href="#" onclick="return doclink('link-4', 'TYPE_WEB', 'link-1');">TYPE_WEB</a></tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-string">'required'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">            <tt class="py-string">'client_id'</tt><tt class="py-op">,</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">            <tt class="py-string">'client_secret'</tt><tt class="py-op">,</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">            <tt class="py-string">'redirect_uris'</tt><tt class="py-op">,</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">            <tt class="py-string">'auth_uri'</tt><tt class="py-op">,</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">            <tt class="py-string">'token_uri'</tt><tt class="py-op">,</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-string">'string'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">            <tt class="py-string">'client_id'</tt><tt class="py-op">,</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">            <tt class="py-string">'client_secret'</tt><tt class="py-op">,</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">    <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">    <tt id="link-5" class="py-name"><a title="oauth2client.clientsecrets.TYPE_INSTALLED" class="py-name" href="#" onclick="return doclink('link-5', 'TYPE_INSTALLED', 'link-2');">TYPE_INSTALLED</a></tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-string">'required'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">            <tt class="py-string">'client_id'</tt><tt class="py-op">,</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt class="py-string">'client_secret'</tt><tt class="py-op">,</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">            <tt class="py-string">'redirect_uris'</tt><tt class="py-op">,</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-string">'auth_uri'</tt><tt class="py-op">,</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">            <tt class="py-string">'token_uri'</tt><tt class="py-op">,</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-string">'string'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-string">'client_id'</tt><tt class="py-op">,</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">            <tt class="py-string">'client_secret'</tt><tt class="py-op">,</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">    <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
-<a name="Error"></a><div id="Error-def"><a name="L60"></a><tt class="py-lineno"> 60</tt> <a class="py-toggle" href="#" id="Error-toggle" onclick="return toggle('Error');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.clientsecrets.Error-class.html">Error</a><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Error-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Error-expanded"><a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">  <tt class="py-docstring">"""Base error for this module."""</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"> </tt>
-<a name="InvalidClientSecretsError"></a><div id="InvalidClientSecretsError-def"><a name="L65"></a><tt class="py-lineno"> 65</tt> <a class="py-toggle" href="#" id="InvalidClientSecretsError-toggle" onclick="return toggle('InvalidClientSecretsError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.clientsecrets.InvalidClientSecretsError-class.html">InvalidClientSecretsError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="InvalidClientSecretsError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="InvalidClientSecretsError-expanded"><a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">  <tt class="py-docstring">"""Format of ClientSecrets file is invalid."""</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
-<a name="_validate_clientsecrets"></a><div id="_validate_clientsecrets-def"><a name="L70"></a><tt class="py-lineno"> 70</tt> <a class="py-toggle" href="#" id="_validate_clientsecrets-toggle" onclick="return toggle('_validate_clientsecrets');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.clientsecrets-module.html#_validate_clientsecrets">_validate_clientsecrets</a><tt class="py-op">(</tt><tt class="py-param">obj</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_validate_clientsecrets-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_validate_clientsecrets-expanded"><a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">obj</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-6" class="py-name" targets="Class oauth2client.appengine.InvalidClientSecretsError=oauth2client.appengine.InvalidClientSecretsError-class.html,Class oauth2client.clientsecrets.InvalidClientSecretsError=oauth2client.clientsecrets.InvalidClientSecretsError-class.html"><a title="oauth2client.appengine.InvalidClientSecretsError
-oauth2client.clientsecrets.InvalidClientSecretsError" class="py-name" href="#" onclick="return doclink('link-6', 'InvalidClientSecretsError', 'link-6');">InvalidClientSecretsError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Invalid file format.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">  <tt class="py-name">client_type</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">client_type</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-7" class="py-name"><a title="oauth2client.clientsecrets.VALID_CLIENT" class="py-name" href="#" onclick="return doclink('link-7', 'VALID_CLIENT', 'link-3');">VALID_CLIENT</a></tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-8" class="py-name"><a title="oauth2client.appengine.InvalidClientSecretsError
-oauth2client.clientsecrets.InvalidClientSecretsError" class="py-name" href="#" onclick="return doclink('link-8', 'InvalidClientSecretsError', 'link-6');">InvalidClientSecretsError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Unknown client type: %s.'</tt> <tt class="py-op">%</tt> <tt class="py-name">client_type</tt><tt class="py-op">)</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">  <tt class="py-name">client_info</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-name">client_type</tt><tt class="py-op">]</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">prop_name</tt> <tt class="py-keyword">in</tt> <tt id="link-9" class="py-name"><a title="oauth2client.clientsecrets.VALID_CLIENT" class="py-name" href="#" onclick="return doclink('link-9', 'VALID_CLIENT', 'link-3');">VALID_CLIENT</a></tt><tt class="py-op">[</tt><tt class="py-name">client_type</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'required'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">prop_name</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">client_info</tt><tt class="py-op">:</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-10" class="py-name"><a title="oauth2client.appengine.InvalidClientSecretsError
-oauth2client.clientsecrets.InvalidClientSecretsError" class="py-name" href="#" onclick="return doclink('link-10', 'InvalidClientSecretsError', 'link-6');">InvalidClientSecretsError</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-string">'Missing property "%s" in a client type of "%s".'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">prop_name</tt><tt class="py-op">,</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">                                                           <tt class="py-name">client_type</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">prop_name</tt> <tt class="py-keyword">in</tt> <tt id="link-11" class="py-name"><a title="oauth2client.clientsecrets.VALID_CLIENT" class="py-name" href="#" onclick="return doclink('link-11', 'VALID_CLIENT', 'link-3');">VALID_CLIENT</a></tt><tt class="py-op">[</tt><tt class="py-name">client_type</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'string'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">client_info</tt><tt class="py-op">[</tt><tt class="py-name">prop_name</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">'[['</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-12" class="py-name"><a title="oauth2client.appengine.InvalidClientSecretsError
-oauth2client.clientsecrets.InvalidClientSecretsError" class="py-name" href="#" onclick="return doclink('link-12', 'InvalidClientSecretsError', 'link-6');">InvalidClientSecretsError</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-string">'Property "%s" is not configured.'</tt> <tt class="py-op">%</tt> <tt class="py-name">prop_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">client_type</tt><tt class="py-op">,</tt> <tt class="py-name">client_info</tt> </tt>
-</div><a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"> </tt>
-<a name="load"></a><div id="load-def"><a name="L89"></a><tt class="py-lineno"> 89</tt> <a class="py-toggle" href="#" id="load-toggle" onclick="return toggle('load');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.clientsecrets-module.html#load">load</a><tt class="py-op">(</tt><tt class="py-param">fp</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="load-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="load-expanded"><a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">  <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Function oauth2client.clientsecrets.load()=oauth2client.clientsecrets-module.html#load"><a title="oauth2client.clientsecrets.load" class="py-name" href="#" onclick="return doclink('link-13', 'load', 'link-13');">load</a></tt><tt class="py-op">(</tt><tt class="py-name">fp</tt><tt class="py-op">)</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-14" class="py-name" targets="Function oauth2client.clientsecrets._validate_clientsecrets()=oauth2client.clientsecrets-module.html#_validate_clientsecrets"><a title="oauth2client.clientsecrets._validate_clientsecrets" class="py-name" href="#" onclick="return doclink('link-14', '_validate_clientsecrets', 'link-14');">_validate_clientsecrets</a></tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"> </tt>
-<a name="loads"></a><div id="loads-def"><a name="L94"></a><tt class="py-lineno"> 94</tt> <a class="py-toggle" href="#" id="loads-toggle" onclick="return toggle('loads');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.clientsecrets-module.html#loads">loads</a><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="loads-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="loads-expanded"><a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">  <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Function oauth2client.clientsecrets.loads()=oauth2client.clientsecrets-module.html#loads"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-15', 'loads', 'link-15');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-16" class="py-name"><a title="oauth2client.clientsecrets._validate_clientsecrets" class="py-name" href="#" onclick="return doclink('link-16', '_validate_clientsecrets', 'link-14');">_validate_clientsecrets</a></tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"> </tt>
-<a name="_loadfile"></a><div id="_loadfile-def"><a name="L99"></a><tt class="py-lineno"> 99</tt> <a class="py-toggle" href="#" id="_loadfile-toggle" onclick="return toggle('_loadfile');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.clientsecrets-module.html#_loadfile">_loadfile</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_loadfile-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_loadfile-expanded"><a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">  <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">    <tt class="py-name">fp</tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name" targets="Module oauth2client.file=oauth2client.file-module.html"><a title="oauth2client.file" class="py-name" href="#" onclick="return doclink('link-17', 'file', 'link-17');">file</a></tt><tt class="py-op">(</tt><tt id="link-18" class="py-name" targets="Method oauth2client.locked_file.LockedFile.filename()=oauth2client.locked_file.LockedFile-class.html#filename,Method oauth2client.locked_file._Opener.filename()=oauth2client.locked_file._Opener-class.html#filename"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-18', 'filename', 'link-18');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">      <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="oauth2client.clientsecrets.load" class="py-name" href="#" onclick="return doclink('link-19', 'load', 'link-13');">load</a></tt><tt class="py-op">(</tt><tt class="py-name">fp</tt><tt class="py-op">)</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">    <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">      <tt class="py-name">fp</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">  <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">:</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-20" class="py-name"><a title="oauth2client.appengine.InvalidClientSecretsError
-oauth2client.clientsecrets.InvalidClientSecretsError" class="py-name" href="#" onclick="return doclink('link-20', 'InvalidClientSecretsError', 'link-6');">InvalidClientSecretsError</a></tt><tt class="py-op">(</tt><tt class="py-string">'File not found: "%s"'</tt> <tt class="py-op">%</tt> <tt id="link-21" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-21', 'filename', 'link-18');">filename</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-22" class="py-name"><a title="oauth2client.clientsecrets._validate_clientsecrets" class="py-name" href="#" onclick="return doclink('link-22', '_validate_clientsecrets', 'link-14');">_validate_clientsecrets</a></tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"> </tt>
-<a name="loadfile"></a><div id="loadfile-def"><a name="L111"></a><tt class="py-lineno">111</tt> <a class="py-toggle" href="#" id="loadfile-toggle" onclick="return toggle('loadfile');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.clientsecrets-module.html#loadfile">loadfile</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">cache</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="loadfile-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="loadfile-expanded"><a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">  <tt class="py-docstring">"""Loading of client_secrets JSON file, optionally backed by a cache.</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-docstring">  Typical cache storage would be App Engine memcache service,</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring">  but you can pass in any other cache client that implements</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">  these methods:</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">    - get(key, namespace=ns)</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-docstring">    - set(key, value, namespace=ns)</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-docstring">  Usage:</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-docstring">    # without caching</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring">    client_type, client_info = loadfile('secrets.json')</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring">    # using App Engine memcache service</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">    from google.appengine.api import memcache</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring">    client_type, client_info = loadfile('secrets.json', cache=memcache)</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">    filename: string, Path to a client_secrets.json file on a filesystem.</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">    cache: An optional cache service client that implements get() and set()</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">      methods. If not specified, the file is always being loaded from</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring">      a filesystem.</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-docstring">  Raises:</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">    InvalidClientSecretsError: In case of a validation error or some</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring">      I/O failure. Can happen only on cache miss.</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-docstring">    (client_type, client_info) tuple, as _loadfile() normally would.</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-docstring">    JSON contents is validated only during first load. Cache hits are not</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-docstring">    validated.</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">  <tt class="py-name">_SECRET_NAMESPACE</tt> <tt class="py-op">=</tt> <tt class="py-string">'oauth2client:secrets#ns'</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">cache</tt><tt class="py-op">:</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-23" class="py-name" targets="Function oauth2client.clientsecrets._loadfile()=oauth2client.clientsecrets-module.html#_loadfile"><a title="oauth2client.clientsecrets._loadfile" class="py-name" href="#" onclick="return doclink('link-23', '_loadfile', 'link-23');">_loadfile</a></tt><tt class="py-op">(</tt><tt id="link-24" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-24', 'filename', 'link-18');">filename</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">  <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">cache</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method apiclient.schema.Schemas.get()=apiclient.schema.Schemas-class.html#get,Method oauth2client.client.MemoryCache.get()=oauth2client.client.MemoryCache-class.html#get,Method oauth2client.client.Storage.get()=oauth2client.client.Storage-class.html#get"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-25', 'get', 'link-25');">get</a></tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-26', 'filename', 'link-18');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">namespace</tt><tt class="py-op">=</tt><tt class="py-name">_SECRET_NAMESPACE</tt><tt class="py-op">)</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">obj</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">    <tt class="py-name">client_type</tt><tt class="py-op">,</tt> <tt class="py-name">client_info</tt> <tt class="py-op">=</tt> <tt id="link-27" class="py-name"><a title="oauth2client.clientsecrets._loadfile" class="py-name" href="#" onclick="return doclink('link-27', '_loadfile', 'link-23');">_loadfile</a></tt><tt class="py-op">(</tt><tt id="link-28" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-28', 'filename', 'link-18');">filename</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">    <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">client_type</tt><tt class="py-op">:</tt> <tt class="py-name">client_info</tt><tt class="py-op">}</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">    <tt class="py-name">cache</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method oauth2client.client.MemoryCache.set()=oauth2client.client.MemoryCache-class.html#set"><a title="oauth2client.client.MemoryCache.set" class="py-name" href="#" onclick="return doclink('link-29', 'set', 'link-29');">set</a></tt><tt class="py-op">(</tt><tt id="link-30" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-30', 'filename', 'link-18');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">obj</tt><tt class="py-op">,</tt> <tt class="py-name">namespace</tt><tt class="py-op">=</tt><tt class="py-name">_SECRET_NAMESPACE</tt><tt class="py-op">)</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">next</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.clientsecrets.Error-class.html b/docs/epy/oauth2client.clientsecrets.Error-class.html
deleted file mode 100644
index 86e94ae..0000000
--- a/docs/epy/oauth2client.clientsecrets.Error-class.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.clientsecrets.Error</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.clientsecrets-module.html">Module&nbsp;clientsecrets</a> ::
-        Class&nbsp;Error
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.clientsecrets.Error-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Error</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.clientsecrets-pysrc.html#Error">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_32" name="uml_class_diagram_for_oauth2cl_32">
-<area shape="rect" id="node1" href="oauth2client.clientsecrets.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
-<area shape="rect" id="node182" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node182" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-<area shape="rect" id="node183" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node183" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node183" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node183" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node183" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node183" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node183" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node183" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node183" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node183" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node183" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node183" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_32.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_32" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Base error for this module.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:45 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.clientsecrets.InvalidClientSecretsError-class.html b/docs/epy/oauth2client.clientsecrets.InvalidClientSecretsError-class.html
deleted file mode 100644
index 9351122..0000000
--- a/docs/epy/oauth2client.clientsecrets.InvalidClientSecretsError-class.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.clientsecrets.InvalidClientSecretsError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.clientsecrets-module.html">Module&nbsp;clientsecrets</a> ::
-        Class&nbsp;InvalidClientSecretsError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.clientsecrets.InvalidClientSecretsError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class InvalidClientSecretsError</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.clientsecrets-pysrc.html#InvalidClientSecretsError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_33" name="uml_class_diagram_for_oauth2cl_33">
-<area shape="rect" id="node1" href="oauth2client.clientsecrets.InvalidClientSecretsError-class.html" title="Format of ClientSecrets file is invalid." alt="" coords="11,443,181,487"/>
-<area shape="rect" id="node2" href="oauth2client.clientsecrets.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
-<area shape="rect" id="node187" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node187" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node187" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node187" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node187" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node187" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node187" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node187" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node187" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node187" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node187" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node187" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-<area shape="rect" id="node186" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node186" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_33.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_33" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Format of ClientSecrets file is invalid.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.crypt-module.html b/docs/epy/oauth2client.crypt-module.html
deleted file mode 100644
index f2286ee..0000000
--- a/docs/epy/oauth2client.crypt-module.html
+++ /dev/null
@@ -1,403 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.crypt</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;crypt
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.crypt-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module crypt</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.crypt-pysrc.html">source&nbsp;code</a></span></p>
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.crypt.AppIdentityError-class.html" class="summary-name">AppIdentityError</a>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_urlsafe_b64encode"></a><span class="summary-sig-name">_urlsafe_b64encode</span>(<span class="summary-sig-arg">raw_bytes</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.crypt-pysrc.html#_urlsafe_b64encode">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_urlsafe_b64decode"></a><span class="summary-sig-name">_urlsafe_b64decode</span>(<span class="summary-sig-arg">b64string</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.crypt-pysrc.html#_urlsafe_b64decode">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_json_encode"></a><span class="summary-sig-name">_json_encode</span>(<span class="summary-sig-arg">data</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.crypt-pysrc.html#_json_encode">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.crypt-module.html#make_signed_jwt" class="summary-sig-name">make_signed_jwt</a>(<span class="summary-sig-arg">signer</span>,
-        <span class="summary-sig-arg">payload</span>)</span><br />
-      Make a signed JWT.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.crypt-pysrc.html#make_signed_jwt">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.crypt-module.html#verify_signed_jwt_with_certs" class="summary-sig-name">verify_signed_jwt_with_certs</a>(<span class="summary-sig-arg">jwt</span>,
-        <span class="summary-sig-arg">certs</span>,
-        <span class="summary-sig-arg">audience</span>)</span><br />
-      Verify a JWT against public certs.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.crypt-pysrc.html#verify_signed_jwt_with_certs">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="CLOCK_SKEW_SECS"></a><span class="summary-name">CLOCK_SKEW_SECS</span> = <code title="300">300</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="AUTH_TOKEN_LIFETIME_SECS"></a><span class="summary-name">AUTH_TOKEN_LIFETIME_SECS</span> = <code title="300">300</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="MAX_TOKEN_LIFETIME_SECS"></a><span class="summary-name">MAX_TOKEN_LIFETIME_SECS</span> = <code title="86400">86400</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="OpenSSLVerifier"></a><span class="summary-name">OpenSSLVerifier</span> = <code title="None">None</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="OpenSSLSigner"></a><span class="summary-name">OpenSSLSigner</span> = <code title="None">None</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="PyCryptoVerifier"></a><span class="summary-name">PyCryptoVerifier</span> = <code title="None">None</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="PyCryptoSigner"></a><span class="summary-name">PyCryptoSigner</span> = <code title="None">None</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="Signer"></a><span class="summary-name">Signer</span> = <code title="None">None</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="Verifier"></a><span class="summary-name">Verifier</span> = <code title="None">None</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="make_signed_jwt"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">make_signed_jwt</span>(<span class="sig-arg">signer</span>,
-        <span class="sig-arg">payload</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.crypt-pysrc.html#make_signed_jwt">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Make a signed JWT.
-
-See http://self-issued.info/docs/draft-jones-json-web-token.html.
-
-Args:
-  signer: crypt.Signer, Cryptographic signer.
-  payload: dict, Dictionary of data to convert to JSON and then sign.
-
-Returns:
-  string, The JWT for the payload.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="verify_signed_jwt_with_certs"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">verify_signed_jwt_with_certs</span>(<span class="sig-arg">jwt</span>,
-        <span class="sig-arg">certs</span>,
-        <span class="sig-arg">audience</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.crypt-pysrc.html#verify_signed_jwt_with_certs">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Verify a JWT against public certs.
-
-See http://self-issued.info/docs/draft-jones-json-web-token.html.
-
-Args:
-  jwt: string, A JWT.
-  certs: dict, Dictionary where values of public keys in PEM format.
-  audience: string, The audience, 'aud', that this JWT should contain. If
-    None then the JWT's 'aud' parameter is not verified.
-
-Returns:
-  dict, The deserialized JSON payload in the JWT.
-
-Raises:
-  AppIdentityError if any checks are failed.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.crypt-pysrc.html b/docs/epy/oauth2client.crypt-pysrc.html
deleted file mode 100644
index 8d75e18..0000000
--- a/docs/epy/oauth2client.crypt-pysrc.html
+++ /dev/null
@@ -1,506 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.crypt</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;crypt
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.crypt-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="oauth2client.crypt-module.html">Module oauth2client.crypt</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/python2.4</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2011 Google Inc.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">base64</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">hashlib</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module oauth2client.anyjson=oauth2client.anyjson-module.html"><a title="oauth2client.anyjson" class="py-name" href="#" onclick="return doclink('link-0', 'anyjson', 'link-0');">anyjson</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable oauth2client.crypt.CLOCK_SKEW_SECS=oauth2client.crypt-module.html#CLOCK_SKEW_SECS"><a title="oauth2client.crypt.CLOCK_SKEW_SECS" class="py-name" href="#" onclick="return doclink('link-1', 'CLOCK_SKEW_SECS', 'link-1');">CLOCK_SKEW_SECS</a></tt> <tt class="py-op">=</tt> <tt class="py-number">300</tt>  <tt class="py-comment"># 5 minutes in seconds</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable oauth2client.crypt.AUTH_TOKEN_LIFETIME_SECS=oauth2client.crypt-module.html#AUTH_TOKEN_LIFETIME_SECS"><a title="oauth2client.crypt.AUTH_TOKEN_LIFETIME_SECS" class="py-name" href="#" onclick="return doclink('link-2', 'AUTH_TOKEN_LIFETIME_SECS', 'link-2');">AUTH_TOKEN_LIFETIME_SECS</a></tt> <tt class="py-op">=</tt> <tt class="py-number">300</tt>  <tt class="py-comment"># 5 minutes in seconds</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable oauth2client.client.SignedJwtAssertionCredentials.MAX_TOKEN_LIFETIME_SECS=oauth2client.client.SignedJwtAssertionCredentials-class.html#MAX_TOKEN_LIFETIME_SECS,Variable oauth2client.crypt.MAX_TOKEN_LIFETIME_SECS=oauth2client.crypt-module.html#MAX_TOKEN_LIFETIME_SECS"><a title="oauth2client.client.SignedJwtAssertionCredentials.MAX_TOKEN_LIFETIME_SECS
-oauth2client.crypt.MAX_TOKEN_LIFETIME_SECS" class="py-name" href="#" onclick="return doclink('link-3', 'MAX_TOKEN_LIFETIME_SECS', 'link-3');">MAX_TOKEN_LIFETIME_SECS</a></tt> <tt class="py-op">=</tt> <tt class="py-number">86400</tt>  <tt class="py-comment"># 1 day in seconds</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable apiclient.discovery.logger=apiclient.discovery-module.html#logger,Variable oauth2client.appengine.logger=oauth2client.appengine-module.html#logger,Variable oauth2client.client.logger=oauth2client.client-module.html#logger,Variable oauth2client.crypt.logger=oauth2client.crypt-module.html#logger,Variable oauth2client.gce.logger=oauth2client.gce-module.html#logger,Variable oauth2client.locked_file.logger=oauth2client.locked_file-module.html#logger,Variable oauth2client.multistore_file.logger=oauth2client.multistore_file-module.html#logger,Variable oauth2client.util.logger=oauth2client.util-module.html#logger"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-4', 'logger', 'link-4');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-name">__name__</tt><tt class="py-op">)</tt> </tt>
-<a name="AppIdentityError"></a><div id="AppIdentityError-def"><a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <a class="py-toggle" href="#" id="AppIdentityError-toggle" onclick="return toggle('AppIdentityError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.crypt.AppIdentityError-class.html">AppIdentityError</a><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AppIdentityError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="AppIdentityError-expanded"><a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">OpenSSL</tt> <tt class="py-keyword">import</tt> <tt class="py-name">crypto</tt> </tt>
-<a name="OpenSSLVerifier"></a><div id="OpenSSLVerifier-def"><a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="OpenSSLVerifier-toggle" onclick="return toggle('OpenSSLVerifier');">-</a><tt class="py-line">  <tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.crypt.OpenSSLVerifier-class.html">OpenSSLVerifier</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSSLVerifier-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="OpenSSLVerifier-expanded"><a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">    <tt class="py-docstring">"""Verifies the signature on a message."""</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"> </tt>
-<a name="OpenSSLVerifier.__init__"></a><div id="OpenSSLVerifier.__init__-def"><a name="L45"></a><tt class="py-lineno"> 45</tt> <a class="py-toggle" href="#" id="OpenSSLVerifier.__init__-toggle" onclick="return toggle('OpenSSLVerifier.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.crypt.OpenSSLVerifier-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pubkey</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSSLVerifier.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="OpenSSLVerifier.__init__-expanded"><a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">      <tt class="py-docstring">"""Constructor.</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-docstring">        pubkey, OpenSSL.crypto.PKey, The public key to verify with.</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pubkey</tt> <tt class="py-op">=</tt> <tt class="py-name">pubkey</tt> </tt>
-</div><a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"> </tt>
-<a name="OpenSSLVerifier.verify"></a><div id="OpenSSLVerifier.verify-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="OpenSSLVerifier.verify-toggle" onclick="return toggle('OpenSSLVerifier.verify');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.crypt.OpenSSLVerifier-class.html#verify">verify</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">message</tt><tt class="py-op">,</tt> <tt class="py-param">signature</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSSLVerifier.verify-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="OpenSSLVerifier.verify-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">      <tt class="py-docstring">"""Verifies a message against a signature.</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">        message: string, The message to verify.</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring">        signature: string, The signature on the message.</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-docstring">      Returns:</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-docstring">        True if message was signed by the private key associated with the public</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-docstring">        key that this object was constructed with.</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-name">crypto</tt><tt class="py-op">.</tt><tt class="py-name">verify</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pubkey</tt><tt class="py-op">,</tt> <tt class="py-name">signature</tt><tt class="py-op">,</tt> <tt class="py-name">message</tt><tt class="py-op">,</tt> <tt class="py-string">'sha256'</tt><tt class="py-op">)</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
-<a name="OpenSSLVerifier.from_string"></a><div id="OpenSSLVerifier.from_string-def"><a name="L71"></a><tt class="py-lineno"> 71</tt> <a class="py-toggle" href="#" id="OpenSSLVerifier.from_string-toggle" onclick="return toggle('OpenSSLVerifier.from_string');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.crypt.OpenSSLVerifier-class.html#from_string">from_string</a><tt class="py-op">(</tt><tt class="py-param">key_pem</tt><tt class="py-op">,</tt> <tt class="py-param">is_x509_cert</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSSLVerifier.from_string-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="OpenSSLVerifier.from_string-expanded"><a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">      <tt class="py-docstring">"""Construct a Verified instance from a string.</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring">        key_pem: string, public key in PEM format.</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">        is_x509_cert: bool, True if key_pem is an X509 cert, otherwise it is</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">          expected to be an RSA key in PEM format.</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">      Returns:</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">        Verifier instance.</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">      Raises:</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">        OpenSSL.crypto.Error if the key_pem can't be parsed.</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">is_x509_cert</tt><tt class="py-op">:</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-name">pubkey</tt> <tt class="py-op">=</tt> <tt class="py-name">crypto</tt><tt class="py-op">.</tt><tt class="py-name">load_certificate</tt><tt class="py-op">(</tt><tt class="py-name">crypto</tt><tt class="py-op">.</tt><tt class="py-name">FILETYPE_PEM</tt><tt class="py-op">,</tt> <tt class="py-name">key_pem</tt><tt class="py-op">)</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">pubkey</tt> <tt class="py-op">=</tt> <tt class="py-name">crypto</tt><tt class="py-op">.</tt><tt class="py-name">load_privatekey</tt><tt class="py-op">(</tt><tt class="py-name">crypto</tt><tt class="py-op">.</tt><tt class="py-name">FILETYPE_PEM</tt><tt class="py-op">,</tt> <tt class="py-name">key_pem</tt><tt class="py-op">)</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-5" class="py-name" targets="Variable oauth2client.crypt.OpenSSLVerifier=oauth2client.crypt-module.html#OpenSSLVerifier"><a title="oauth2client.crypt.OpenSSLVerifier" class="py-name" href="#" onclick="return doclink('link-5', 'OpenSSLVerifier', 'link-5');">OpenSSLVerifier</a></tt><tt class="py-op">(</tt><tt class="py-name">pubkey</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"> </tt>
-<a name="OpenSSLSigner"></a><div id="OpenSSLSigner-def"><a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <a class="py-toggle" href="#" id="OpenSSLSigner-toggle" onclick="return toggle('OpenSSLSigner');">-</a><tt class="py-line">  <tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.crypt.OpenSSLSigner-class.html">OpenSSLSigner</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSSLSigner-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="OpenSSLSigner-expanded"><a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">    <tt class="py-docstring">"""Signs messages with a private key."""</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"> </tt>
-<a name="OpenSSLSigner.__init__"></a><div id="OpenSSLSigner.__init__-def"><a name="L95"></a><tt class="py-lineno"> 95</tt> <a class="py-toggle" href="#" id="OpenSSLSigner.__init__-toggle" onclick="return toggle('OpenSSLSigner.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.crypt.OpenSSLSigner-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pkey</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSSLSigner.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="OpenSSLSigner.__init__-expanded"><a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">      <tt class="py-docstring">"""Constructor.</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt class="py-docstring">        pkey, OpenSSL.crypto.PKey (or equiv), The private key to sign with.</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_key</tt> <tt class="py-op">=</tt> <tt class="py-name">pkey</tt> </tt>
-</div><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
-<a name="OpenSSLSigner.sign"></a><div id="OpenSSLSigner.sign-def"><a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="OpenSSLSigner.sign-toggle" onclick="return toggle('OpenSSLSigner.sign');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.crypt.OpenSSLSigner-class.html#sign">sign</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">message</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSSLSigner.sign-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="OpenSSLSigner.sign-expanded"><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">      <tt class="py-docstring">"""Signs a message.</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">        message: string, Message to be signed.</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-docstring">      Returns:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-docstring">        string, The signature of the message for the given key.</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">crypto</tt><tt class="py-op">.</tt><tt class="py-name">sign</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_key</tt><tt class="py-op">,</tt> <tt class="py-name">message</tt><tt class="py-op">,</tt> <tt class="py-string">'sha256'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
-<a name="OpenSSLSigner.from_string"></a><div id="OpenSSLSigner.from_string-def"><a name="L115"></a><tt class="py-lineno">115</tt> <a class="py-toggle" href="#" id="OpenSSLSigner.from_string-toggle" onclick="return toggle('OpenSSLSigner.from_string');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.crypt.OpenSSLSigner-class.html#from_string">from_string</a><tt class="py-op">(</tt><tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">=</tt><tt class="py-string">'notasecret'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSSLSigner.from_string-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="OpenSSLSigner.from_string-expanded"><a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">      <tt class="py-docstring">"""Construct a Signer instance from a string.</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-docstring">        key: string, private key in PKCS12 or PEM format.</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-docstring">        password: string, password for the private key file.</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring">      Returns:</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring">        Signer instance.</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring">      Raises:</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring">        OpenSSL.crypto.Error if the key can't be parsed.</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">key</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">'-----BEGIN '</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-name">pkey</tt> <tt class="py-op">=</tt> <tt class="py-name">crypto</tt><tt class="py-op">.</tt><tt class="py-name">load_privatekey</tt><tt class="py-op">(</tt><tt class="py-name">crypto</tt><tt class="py-op">.</tt><tt class="py-name">FILETYPE_PEM</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-name">pkey</tt> <tt class="py-op">=</tt> <tt class="py-name">crypto</tt><tt class="py-op">.</tt><tt class="py-name">load_pkcs12</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get_privatekey</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-6" class="py-name" targets="Variable oauth2client.crypt.OpenSSLSigner=oauth2client.crypt-module.html#OpenSSLSigner"><a title="oauth2client.crypt.OpenSSLSigner" class="py-name" href="#" onclick="return doclink('link-6', 'OpenSSLSigner', 'link-6');">OpenSSLSigner</a></tt><tt class="py-op">(</tt><tt class="py-name">pkey</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">  <tt id="link-7" class="py-name"><a title="oauth2client.crypt.OpenSSLVerifier" class="py-name" href="#" onclick="return doclink('link-7', 'OpenSSLVerifier', 'link-5');">OpenSSLVerifier</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">  <tt id="link-8" class="py-name"><a title="oauth2client.crypt.OpenSSLSigner" class="py-name" href="#" onclick="return doclink('link-8', 'OpenSSLSigner', 'link-6');">OpenSSLSigner</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">PublicKey</tt> <tt class="py-keyword">import</tt> <tt class="py-name">RSA</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">Hash</tt> <tt class="py-keyword">import</tt> <tt class="py-name">SHA256</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">Signature</tt> <tt class="py-keyword">import</tt> <tt class="py-name">PKCS1_v1_5</tt> </tt>
-<a name="PyCryptoVerifier"></a><div id="PyCryptoVerifier-def"><a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <a class="py-toggle" href="#" id="PyCryptoVerifier-toggle" onclick="return toggle('PyCryptoVerifier');">-</a><tt class="py-line">  <tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.crypt.PyCryptoVerifier-class.html">PyCryptoVerifier</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PyCryptoVerifier-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="PyCryptoVerifier-expanded"><a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">    <tt class="py-docstring">"""Verifies the signature on a message."""</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"> </tt>
-<a name="PyCryptoVerifier.__init__"></a><div id="PyCryptoVerifier.__init__-def"><a name="L148"></a><tt class="py-lineno">148</tt> <a class="py-toggle" href="#" id="PyCryptoVerifier.__init__-toggle" onclick="return toggle('PyCryptoVerifier.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.crypt.PyCryptoVerifier-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pubkey</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PyCryptoVerifier.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="PyCryptoVerifier.__init__-expanded"><a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">      <tt class="py-docstring">"""Constructor.</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">        pubkey, OpenSSL.crypto.PKey (or equiv), The public key to verify with.</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pubkey</tt> <tt class="py-op">=</tt> <tt class="py-name">pubkey</tt> </tt>
-</div><a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"> </tt>
-<a name="PyCryptoVerifier.verify"></a><div id="PyCryptoVerifier.verify-def"><a name="L156"></a><tt class="py-lineno">156</tt> <a class="py-toggle" href="#" id="PyCryptoVerifier.verify-toggle" onclick="return toggle('PyCryptoVerifier.verify');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.crypt.PyCryptoVerifier-class.html#verify">verify</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">message</tt><tt class="py-op">,</tt> <tt class="py-param">signature</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PyCryptoVerifier.verify-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="PyCryptoVerifier.verify-expanded"><a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">      <tt class="py-docstring">"""Verifies a message against a signature.</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-docstring">        message: string, The message to verify.</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-docstring">        signature: string, The signature on the message.</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-docstring">      Returns:</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"><tt class="py-docstring">        True if message was signed by the private key associated with the public</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"><tt class="py-docstring">        key that this object was constructed with.</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">PKCS1_v1_5</tt><tt class="py-op">.</tt><tt class="py-name">new</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pubkey</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">verify</tt><tt class="py-op">(</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">            <tt class="py-name">SHA256</tt><tt class="py-op">.</tt><tt class="py-name">new</tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">signature</tt><tt class="py-op">)</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
-<a name="PyCryptoVerifier.from_string"></a><div id="PyCryptoVerifier.from_string-def"><a name="L174"></a><tt class="py-lineno">174</tt> <a class="py-toggle" href="#" id="PyCryptoVerifier.from_string-toggle" onclick="return toggle('PyCryptoVerifier.from_string');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.crypt.PyCryptoVerifier-class.html#from_string">from_string</a><tt class="py-op">(</tt><tt class="py-param">key_pem</tt><tt class="py-op">,</tt> <tt class="py-param">is_x509_cert</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PyCryptoVerifier.from_string-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="PyCryptoVerifier.from_string-expanded"><a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">      <tt class="py-docstring">"""Construct a Verified instance from a string.</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-docstring">        key_pem: string, public key in PEM format.</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"><tt class="py-docstring">        is_x509_cert: bool, True if key_pem is an X509 cert, otherwise it is</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"><tt class="py-docstring">          expected to be an RSA key in PEM format.</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"><tt class="py-docstring">      Returns:</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"><tt class="py-docstring">        Verifier instance.</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-docstring">      Raises:</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-docstring">        NotImplementedError if is_x509_cert is true.</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">is_x509_cert</tt><tt class="py-op">:</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">            <tt class="py-string">'X509 certs are not supported by the PyCrypto library. '</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">            <tt class="py-string">'Try using PyOpenSSL if native code is an option.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-name">pubkey</tt> <tt class="py-op">=</tt> <tt class="py-name">RSA</tt><tt class="py-op">.</tt><tt class="py-name">importKey</tt><tt class="py-op">(</tt><tt class="py-name">key_pem</tt><tt class="py-op">)</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-9" class="py-name" targets="Variable oauth2client.crypt.PyCryptoVerifier=oauth2client.crypt-module.html#PyCryptoVerifier"><a title="oauth2client.crypt.PyCryptoVerifier" class="py-name" href="#" onclick="return doclink('link-9', 'PyCryptoVerifier', 'link-9');">PyCryptoVerifier</a></tt><tt class="py-op">(</tt><tt class="py-name">pubkey</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"> </tt>
-<a name="PyCryptoSigner"></a><div id="PyCryptoSigner-def"><a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line"> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt> <a class="py-toggle" href="#" id="PyCryptoSigner-toggle" onclick="return toggle('PyCryptoSigner');">-</a><tt class="py-line">  <tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.crypt.PyCryptoSigner-class.html">PyCryptoSigner</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PyCryptoSigner-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="PyCryptoSigner-expanded"><a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">    <tt class="py-docstring">"""Signs messages with a private key."""</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line"> </tt>
-<a name="PyCryptoSigner.__init__"></a><div id="PyCryptoSigner.__init__-def"><a name="L200"></a><tt class="py-lineno">200</tt> <a class="py-toggle" href="#" id="PyCryptoSigner.__init__-toggle" onclick="return toggle('PyCryptoSigner.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.crypt.PyCryptoSigner-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pkey</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PyCryptoSigner.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="PyCryptoSigner.__init__-expanded"><a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">      <tt class="py-docstring">"""Constructor.</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line"><tt class="py-docstring">        pkey, OpenSSL.crypto.PKey (or equiv), The private key to sign with.</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_key</tt> <tt class="py-op">=</tt> <tt class="py-name">pkey</tt> </tt>
-</div><a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"> </tt>
-<a name="PyCryptoSigner.sign"></a><div id="PyCryptoSigner.sign-def"><a name="L208"></a><tt class="py-lineno">208</tt> <a class="py-toggle" href="#" id="PyCryptoSigner.sign-toggle" onclick="return toggle('PyCryptoSigner.sign');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.crypt.PyCryptoSigner-class.html#sign">sign</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">message</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PyCryptoSigner.sign-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="PyCryptoSigner.sign-expanded"><a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">      <tt class="py-docstring">"""Signs a message.</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"><tt class="py-docstring">        message: string, Message to be signed.</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"><tt class="py-docstring">      Returns:</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"><tt class="py-docstring">        string, The signature of the message for the given key.</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">PKCS1_v1_5</tt><tt class="py-op">.</tt><tt class="py-name">new</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_key</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">sign</tt><tt class="py-op">(</tt><tt class="py-name">SHA256</tt><tt class="py-op">.</tt><tt class="py-name">new</tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
-<a name="PyCryptoSigner.from_string"></a><div id="PyCryptoSigner.from_string-def"><a name="L220"></a><tt class="py-lineno">220</tt> <a class="py-toggle" href="#" id="PyCryptoSigner.from_string-toggle" onclick="return toggle('PyCryptoSigner.from_string');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.crypt.PyCryptoSigner-class.html#from_string">from_string</a><tt class="py-op">(</tt><tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">=</tt><tt class="py-string">'notasecret'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PyCryptoSigner.from_string-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="PyCryptoSigner.from_string-expanded"><a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">      <tt class="py-docstring">"""Construct a Signer instance from a string.</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-docstring">        key: string, private key in PEM format.</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring">        password: string, password for private key file. Unused for PEM files.</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-docstring">      Returns:</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"><tt class="py-docstring">        Signer instance.</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring">      Raises:</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring">        NotImplementedError if they key isn't in PEM format.</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">key</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">'-----BEGIN '</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-name">pkey</tt> <tt class="py-op">=</tt> <tt class="py-name">RSA</tt><tt class="py-op">.</tt><tt class="py-name">importKey</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">            <tt class="py-string">'PKCS12 format is not supported by the PyCrpto library. '</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">            <tt class="py-string">'Try converting to a "PEM" '</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">            <tt class="py-string">'(openssl pkcs12 -in xxxxx.p12 -nodes -nocerts &gt; privatekey.pem) '</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">            <tt class="py-string">'or using PyOpenSSL if native code is an option.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-10" class="py-name" targets="Variable oauth2client.crypt.PyCryptoSigner=oauth2client.crypt-module.html#PyCryptoSigner"><a title="oauth2client.crypt.PyCryptoSigner" class="py-name" href="#" onclick="return doclink('link-10', 'PyCryptoSigner', 'link-10');">PyCryptoSigner</a></tt><tt class="py-op">(</tt><tt class="py-name">pkey</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">  <tt id="link-11" class="py-name"><a title="oauth2client.crypt.PyCryptoVerifier" class="py-name" href="#" onclick="return doclink('link-11', 'PyCryptoVerifier', 'link-9');">PyCryptoVerifier</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">  <tt id="link-12" class="py-name"><a title="oauth2client.crypt.PyCryptoSigner" class="py-name" href="#" onclick="return doclink('link-12', 'PyCryptoSigner', 'link-10');">PyCryptoSigner</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt id="link-13" class="py-name"><a title="oauth2client.crypt.OpenSSLSigner" class="py-name" href="#" onclick="return doclink('link-13', 'OpenSSLSigner', 'link-6');">OpenSSLSigner</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">  <tt id="link-14" class="py-name" targets="Variable oauth2client.crypt.Signer=oauth2client.crypt-module.html#Signer"><a title="oauth2client.crypt.Signer" class="py-name" href="#" onclick="return doclink('link-14', 'Signer', 'link-14');">Signer</a></tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name"><a title="oauth2client.crypt.OpenSSLSigner" class="py-name" href="#" onclick="return doclink('link-15', 'OpenSSLSigner', 'link-6');">OpenSSLSigner</a></tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">  <tt id="link-16" class="py-name" targets="Variable oauth2client.crypt.Verifier=oauth2client.crypt-module.html#Verifier"><a title="oauth2client.crypt.Verifier" class="py-name" href="#" onclick="return doclink('link-16', 'Verifier', 'link-16');">Verifier</a></tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name"><a title="oauth2client.crypt.OpenSSLVerifier" class="py-name" href="#" onclick="return doclink('link-17', 'OpenSSLVerifier', 'link-5');">OpenSSLVerifier</a></tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"><tt class="py-keyword">elif</tt> <tt id="link-18" class="py-name"><a title="oauth2client.crypt.PyCryptoSigner" class="py-name" href="#" onclick="return doclink('link-18', 'PyCryptoSigner', 'link-10');">PyCryptoSigner</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">  <tt id="link-19" class="py-name"><a title="oauth2client.crypt.Signer" class="py-name" href="#" onclick="return doclink('link-19', 'Signer', 'link-14');">Signer</a></tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name"><a title="oauth2client.crypt.PyCryptoSigner" class="py-name" href="#" onclick="return doclink('link-20', 'PyCryptoSigner', 'link-10');">PyCryptoSigner</a></tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">  <tt id="link-21" class="py-name"><a title="oauth2client.crypt.Verifier" class="py-name" href="#" onclick="return doclink('link-21', 'Verifier', 'link-16');">Verifier</a></tt> <tt class="py-op">=</tt> <tt id="link-22" class="py-name"><a title="oauth2client.crypt.PyCryptoVerifier" class="py-name" href="#" onclick="return doclink('link-22', 'PyCryptoVerifier', 'link-9');">PyCryptoVerifier</a></tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"><tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">  <tt class="py-keyword">raise</tt> <tt class="py-name">ImportError</tt><tt class="py-op">(</tt><tt class="py-string">'No encryption library found. Please install either '</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">                    <tt class="py-string">'PyOpenSSL, or PyCrypto 2.6 or later'</tt><tt class="py-op">)</tt> </tt>
-<a name="_urlsafe_b64encode"></a><div id="_urlsafe_b64encode-def"><a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line"> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt> <a class="py-toggle" href="#" id="_urlsafe_b64encode-toggle" onclick="return toggle('_urlsafe_b64encode');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.crypt-module.html#_urlsafe_b64encode">_urlsafe_b64encode</a><tt class="py-op">(</tt><tt class="py-param">raw_bytes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_urlsafe_b64encode-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_urlsafe_b64encode-expanded"><a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">urlsafe_b64encode</tt><tt class="py-op">(</tt><tt class="py-name">raw_bytes</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">rstrip</tt><tt class="py-op">(</tt><tt class="py-string">'='</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line"> </tt>
-<a name="_urlsafe_b64decode"></a><div id="_urlsafe_b64decode-def"><a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt> <a class="py-toggle" href="#" id="_urlsafe_b64decode-toggle" onclick="return toggle('_urlsafe_b64decode');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.crypt-module.html#_urlsafe_b64decode">_urlsafe_b64decode</a><tt class="py-op">(</tt><tt class="py-param">b64string</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_urlsafe_b64decode-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_urlsafe_b64decode-expanded"><a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">  <tt class="py-comment"># Guard against unicode strings, which base64 can't handle.</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">  <tt class="py-name">b64string</tt> <tt class="py-op">=</tt> <tt class="py-name">b64string</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'ascii'</tt><tt class="py-op">)</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">  <tt class="py-name">padded</tt> <tt class="py-op">=</tt> <tt class="py-name">b64string</tt> <tt class="py-op">+</tt> <tt class="py-string">'='</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-number">4</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">b64string</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">urlsafe_b64decode</tt><tt class="py-op">(</tt><tt class="py-name">padded</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"> </tt>
-<a name="_json_encode"></a><div id="_json_encode-def"><a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt> <a class="py-toggle" href="#" id="_json_encode-toggle" onclick="return toggle('_json_encode');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.crypt-module.html#_json_encode">_json_encode</a><tt class="py-op">(</tt><tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_json_encode-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_json_encode-expanded"><a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-name">separators</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">':'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line"> </tt>
-<a name="make_signed_jwt"></a><div id="make_signed_jwt-def"><a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line"> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt> <a class="py-toggle" href="#" id="make_signed_jwt-toggle" onclick="return toggle('make_signed_jwt');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.crypt-module.html#make_signed_jwt">make_signed_jwt</a><tt class="py-op">(</tt><tt class="py-param">signer</tt><tt class="py-op">,</tt> <tt class="py-param">payload</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="make_signed_jwt-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="make_signed_jwt-expanded"><a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">  <tt class="py-docstring">"""Make a signed JWT.</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line"><tt class="py-docstring">  See http://self-issued.info/docs/draft-jones-json-web-token.html.</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line"><tt class="py-docstring">    signer: crypt.Signer, Cryptographic signer.</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line"><tt class="py-docstring">    payload: dict, Dictionary of data to convert to JSON and then sign.</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"><tt class="py-docstring">    string, The JWT for the payload.</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">  <tt class="py-name">header</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'typ'</tt><tt class="py-op">:</tt> <tt class="py-string">'JWT'</tt><tt class="py-op">,</tt> <tt class="py-string">'alg'</tt><tt class="py-op">:</tt> <tt class="py-string">'RS256'</tt><tt class="py-op">}</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line"> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">  <tt class="py-name">segments</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">          <tt id="link-23" class="py-name" targets="Function oauth2client.crypt._urlsafe_b64encode()=oauth2client.crypt-module.html#_urlsafe_b64encode"><a title="oauth2client.crypt._urlsafe_b64encode" class="py-name" href="#" onclick="return doclink('link-23', '_urlsafe_b64encode', 'link-23');">_urlsafe_b64encode</a></tt><tt class="py-op">(</tt><tt id="link-24" class="py-name" targets="Function oauth2client.crypt._json_encode()=oauth2client.crypt-module.html#_json_encode"><a title="oauth2client.crypt._json_encode" class="py-name" href="#" onclick="return doclink('link-24', '_json_encode', 'link-24');">_json_encode</a></tt><tt class="py-op">(</tt><tt class="py-name">header</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">          <tt id="link-25" class="py-name"><a title="oauth2client.crypt._urlsafe_b64encode" class="py-name" href="#" onclick="return doclink('link-25', '_urlsafe_b64encode', 'link-23');">_urlsafe_b64encode</a></tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="oauth2client.crypt._json_encode" class="py-name" href="#" onclick="return doclink('link-26', '_json_encode', 'link-24');">_json_encode</a></tt><tt class="py-op">(</tt><tt class="py-name">payload</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">  <tt class="py-op">]</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">  <tt class="py-name">signing_input</tt> <tt class="py-op">=</tt> <tt class="py-string">'.'</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">segments</tt><tt class="py-op">)</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line"> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">  <tt class="py-name">signature</tt> <tt class="py-op">=</tt> <tt class="py-name">signer</tt><tt class="py-op">.</tt><tt class="py-name">sign</tt><tt class="py-op">(</tt><tt class="py-name">signing_input</tt><tt class="py-op">)</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">  <tt class="py-name">segments</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-27" class="py-name"><a title="oauth2client.crypt._urlsafe_b64encode" class="py-name" href="#" onclick="return doclink('link-27', '_urlsafe_b64encode', 'link-23');">_urlsafe_b64encode</a></tt><tt class="py-op">(</tt><tt class="py-name">signature</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line"> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">  <tt id="link-28" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-28', 'logger', 'link-4');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">segments</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line"> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-string">'.'</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">segments</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line"> </tt>
-<a name="verify_signed_jwt_with_certs"></a><div id="verify_signed_jwt_with_certs-def"><a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line"> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt> <a class="py-toggle" href="#" id="verify_signed_jwt_with_certs-toggle" onclick="return toggle('verify_signed_jwt_with_certs');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.crypt-module.html#verify_signed_jwt_with_certs">verify_signed_jwt_with_certs</a><tt class="py-op">(</tt><tt class="py-param">jwt</tt><tt class="py-op">,</tt> <tt class="py-param">certs</tt><tt class="py-op">,</tt> <tt class="py-param">audience</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="verify_signed_jwt_with_certs-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="verify_signed_jwt_with_certs-expanded"><a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">  <tt class="py-docstring">"""Verify a JWT against public certs.</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line"><tt class="py-docstring">  See http://self-issued.info/docs/draft-jones-json-web-token.html.</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"><tt class="py-docstring">    jwt: string, A JWT.</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"><tt class="py-docstring">    certs: dict, Dictionary where values of public keys in PEM format.</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"><tt class="py-docstring">    audience: string, The audience, 'aud', that this JWT should contain. If</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line"><tt class="py-docstring">      None then the JWT's 'aud' parameter is not verified.</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line"><tt class="py-docstring">    dict, The deserialized JSON payload in the JWT.</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line"><tt class="py-docstring">  Raises:</tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line"><tt class="py-docstring">    AppIdentityError if any checks are failed.</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">  <tt class="py-name">segments</tt> <tt class="py-op">=</tt> <tt class="py-name">jwt</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line"> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">segments</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-29" class="py-name" targets="Class oauth2client.crypt.AppIdentityError=oauth2client.crypt.AppIdentityError-class.html"><a title="oauth2client.crypt.AppIdentityError" class="py-name" href="#" onclick="return doclink('link-29', 'AppIdentityError', 'link-29');">AppIdentityError</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">      <tt class="py-string">'Wrong number of segments in token: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">jwt</tt><tt class="py-op">)</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">  <tt class="py-name">signed</tt> <tt class="py-op">=</tt> <tt class="py-string">'%s.%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">segments</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">segments</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">  <tt class="py-name">signature</tt> <tt class="py-op">=</tt> <tt id="link-30" class="py-name" targets="Function oauth2client.client._urlsafe_b64decode()=oauth2client.client-module.html#_urlsafe_b64decode,Function oauth2client.crypt._urlsafe_b64decode()=oauth2client.crypt-module.html#_urlsafe_b64decode"><a title="oauth2client.client._urlsafe_b64decode
-oauth2client.crypt._urlsafe_b64decode" class="py-name" href="#" onclick="return doclink('link-30', '_urlsafe_b64decode', 'link-30');">_urlsafe_b64decode</a></tt><tt class="py-op">(</tt><tt class="py-name">segments</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line"> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">  <tt class="py-comment"># Parse token.</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">  <tt class="py-name">json_body</tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name"><a title="oauth2client.client._urlsafe_b64decode
-oauth2client.crypt._urlsafe_b64decode" class="py-name" href="#" onclick="return doclink('link-31', '_urlsafe_b64decode', 'link-30');">_urlsafe_b64decode</a></tt><tt class="py-op">(</tt><tt class="py-name">segments</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">  <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">    <tt class="py-name">parsed</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Function oauth2client.clientsecrets.loads()=oauth2client.clientsecrets-module.html#loads"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-32', 'loads', 'link-32');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">json_body</tt><tt class="py-op">)</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">  <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-33" class="py-name"><a title="oauth2client.crypt.AppIdentityError" class="py-name" href="#" onclick="return doclink('link-33', 'AppIdentityError', 'link-29');">AppIdentityError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Can\'t parse token: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">json_body</tt><tt class="py-op">)</tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line"> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">  <tt class="py-comment"># Check signature.</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">  <tt class="py-name">verified</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">keyname</tt><tt class="py-op">,</tt> <tt class="py-name">pem</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">certs</tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">    <tt class="py-name">verifier</tt> <tt class="py-op">=</tt> <tt id="link-34" class="py-name"><a title="oauth2client.crypt.Verifier" class="py-name" href="#" onclick="return doclink('link-34', 'Verifier', 'link-16');">Verifier</a></tt><tt class="py-op">.</tt><tt class="py-name">from_string</tt><tt class="py-op">(</tt><tt class="py-name">pem</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">verifier</tt><tt class="py-op">.</tt><tt class="py-name">verify</tt><tt class="py-op">(</tt><tt class="py-name">signed</tt><tt class="py-op">,</tt> <tt class="py-name">signature</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">      <tt class="py-name">verified</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">      <tt class="py-keyword">break</tt> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">verified</tt><tt class="py-op">:</tt> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-35" class="py-name"><a title="oauth2client.crypt.AppIdentityError" class="py-name" href="#" onclick="return doclink('link-35', 'AppIdentityError', 'link-29');">AppIdentityError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Invalid token signature: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">jwt</tt><tt class="py-op">)</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">  <tt class="py-comment"># Check creation timestamp.</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">  <tt class="py-name">iat</tt> <tt class="py-op">=</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method apiclient.schema.Schemas.get()=apiclient.schema.Schemas-class.html#get,Method oauth2client.client.MemoryCache.get()=oauth2client.client.MemoryCache-class.html#get,Method oauth2client.client.Storage.get()=oauth2client.client.Storage-class.html#get"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-36', 'get', 'link-36');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'iat'</tt><tt class="py-op">)</tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">iat</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-37" class="py-name"><a title="oauth2client.crypt.AppIdentityError" class="py-name" href="#" onclick="return doclink('link-37', 'AppIdentityError', 'link-29');">AppIdentityError</a></tt><tt class="py-op">(</tt><tt class="py-string">'No iat field in token: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">json_body</tt><tt class="py-op">)</tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">  <tt class="py-name">earliest</tt> <tt class="py-op">=</tt> <tt class="py-name">iat</tt> <tt class="py-op">-</tt> <tt id="link-38" class="py-name"><a title="oauth2client.crypt.CLOCK_SKEW_SECS" class="py-name" href="#" onclick="return doclink('link-38', 'CLOCK_SKEW_SECS', 'link-1');">CLOCK_SKEW_SECS</a></tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line"> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">  <tt class="py-comment"># Check expiration timestamp.</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">  <tt class="py-name">now</tt> <tt class="py-op">=</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">  <tt class="py-name">exp</tt> <tt class="py-op">=</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-39', 'get', 'link-36');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'exp'</tt><tt class="py-op">)</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">exp</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-40" class="py-name"><a title="oauth2client.crypt.AppIdentityError" class="py-name" href="#" onclick="return doclink('link-40', 'AppIdentityError', 'link-29');">AppIdentityError</a></tt><tt class="py-op">(</tt><tt class="py-string">'No exp field in token: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">json_body</tt><tt class="py-op">)</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">exp</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">now</tt> <tt class="py-op">+</tt> <tt id="link-41" class="py-name"><a title="oauth2client.client.SignedJwtAssertionCredentials.MAX_TOKEN_LIFETIME_SECS
-oauth2client.crypt.MAX_TOKEN_LIFETIME_SECS" class="py-name" href="#" onclick="return doclink('link-41', 'MAX_TOKEN_LIFETIME_SECS', 'link-3');">MAX_TOKEN_LIFETIME_SECS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-42" class="py-name"><a title="oauth2client.crypt.AppIdentityError" class="py-name" href="#" onclick="return doclink('link-42', 'AppIdentityError', 'link-29');">AppIdentityError</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">      <tt class="py-string">'exp field too far in future: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">json_body</tt><tt class="py-op">)</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">  <tt class="py-name">latest</tt> <tt class="py-op">=</tt> <tt class="py-name">exp</tt> <tt class="py-op">+</tt> <tt id="link-43" class="py-name"><a title="oauth2client.crypt.CLOCK_SKEW_SECS" class="py-name" href="#" onclick="return doclink('link-43', 'CLOCK_SKEW_SECS', 'link-1');">CLOCK_SKEW_SECS</a></tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line"> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">now</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">earliest</tt><tt class="py-op">:</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-44" class="py-name"><a title="oauth2client.crypt.AppIdentityError" class="py-name" href="#" onclick="return doclink('link-44', 'AppIdentityError', 'link-29');">AppIdentityError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Token used too early, %d &lt; %d: %s'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">      <tt class="py-op">(</tt><tt class="py-name">now</tt><tt class="py-op">,</tt> <tt class="py-name">earliest</tt><tt class="py-op">,</tt> <tt class="py-name">json_body</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">now</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">latest</tt><tt class="py-op">:</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-45" class="py-name"><a title="oauth2client.crypt.AppIdentityError" class="py-name" href="#" onclick="return doclink('link-45', 'AppIdentityError', 'link-29');">AppIdentityError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Token used too late, %d &gt; %d: %s'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">      <tt class="py-op">(</tt><tt class="py-name">now</tt><tt class="py-op">,</tt> <tt class="py-name">latest</tt><tt class="py-op">,</tt> <tt class="py-name">json_body</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line"> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">  <tt class="py-comment"># Check audience.</tt> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">audience</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">    <tt class="py-name">aud</tt> <tt class="py-op">=</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-46', 'get', 'link-36');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'aud'</tt><tt class="py-op">)</tt> </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">aud</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-47" class="py-name"><a title="oauth2client.crypt.AppIdentityError" class="py-name" href="#" onclick="return doclink('link-47', 'AppIdentityError', 'link-29');">AppIdentityError</a></tt><tt class="py-op">(</tt><tt class="py-string">'No aud field in token: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">json_body</tt><tt class="py-op">)</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">aud</tt> <tt class="py-op">!=</tt> <tt class="py-name">audience</tt><tt class="py-op">:</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-48" class="py-name"><a title="oauth2client.crypt.AppIdentityError" class="py-name" href="#" onclick="return doclink('link-48', 'AppIdentityError', 'link-29');">AppIdentityError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Wrong recipient, %s != %s: %s'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">          <tt class="py-op">(</tt><tt class="py-name">aud</tt><tt class="py-op">,</tt> <tt class="py-name">audience</tt><tt class="py-op">,</tt> <tt class="py-name">json_body</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line"> </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">parsed</tt> </tt>
-</div><a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.crypt.AppIdentityError-class.html b/docs/epy/oauth2client.crypt.AppIdentityError-class.html
deleted file mode 100644
index ea8172a..0000000
--- a/docs/epy/oauth2client.crypt.AppIdentityError-class.html
+++ /dev/null
@@ -1,197 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.crypt.AppIdentityError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.crypt-module.html">Module&nbsp;crypt</a> ::
-        Class&nbsp;AppIdentityError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.crypt.AppIdentityError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class AppIdentityError</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.crypt-pysrc.html#AppIdentityError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_34" name="uml_class_diagram_for_oauth2cl_34">
-<area shape="rect" id="node1" href="oauth2client.crypt.AppIdentityError-class.html" title="oauth2client.crypt.AppIdentityError" alt="" coords="36,379,156,423"/>
-<area shape="rect" id="node189" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node189" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-<area shape="rect" id="node190" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node190" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node190" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node190" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node190" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node190" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node190" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node190" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node190" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node190" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node190" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node190" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_34.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_34" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.crypt.Signer-class.html b/docs/epy/oauth2client.crypt.Signer-class.html
deleted file mode 100644
index 6742f88..0000000
--- a/docs/epy/oauth2client.crypt.Signer-class.html
+++ /dev/null
@@ -1,357 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.crypt.Signer</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.crypt-module.html">Module&nbsp;crypt</a> ::
-        Class&nbsp;Signer
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.crypt.Signer-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Signer</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.crypt-pysrc.html#Signer">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="class_hierarchy_for_signer" name="class_hierarchy_for_signer">
-<area shape="rect" href="oauth2client.crypt.Signer-class.html" title="Signer" alt="" coords="5,5,64,32"/>
-</map>
-  <img src="class_hierarchy_for_signer.gif" alt='' usemap="#class_hierarchy_for_signer" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Signs messages with a private key.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.crypt.Signer-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">pkey</span>)</span><br />
-      Constructor.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.crypt-pysrc.html#Signer.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.crypt.Signer-class.html#sign" class="summary-sig-name">sign</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">message</span>)</span><br />
-      Signs a message.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.crypt-pysrc.html#Signer.sign">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== STATIC METHODS ==================== -->
-<a name="section-StaticMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Static Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-StaticMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.crypt.Signer-class.html#from_string" class="summary-sig-name">from_string</a>(<span class="summary-sig-arg">key</span>,
-        <span class="summary-sig-arg">password</span>=<span class="summary-sig-default">'notasecret'</span>)</span><br />
-      Construct a Signer instance from a string.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.crypt-pysrc.html#Signer.from_string">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">pkey</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.crypt-pysrc.html#Signer.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor.
-
-Args:
-  pkey, OpenSSL.crypto.PKey, The private key to sign with.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="sign"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">sign</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">message</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.crypt-pysrc.html#Signer.sign">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Signs a message.
-
-Args:
-  message: string, Message to be signed.
-
-Returns:
-  string, The signature of the message for the given key.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="from_string"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">from_string</span>(<span class="sig-arg">key</span>,
-        <span class="sig-arg">password</span>=<span class="sig-default">'notasecret'</span>)</span>
-    <br /><em class="fname">Static Method</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.crypt-pysrc.html#Signer.from_string">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Construct a Signer instance from a string.
-
-Args:
-  key: string, private key in P12 format.
-  password: string, password for the private key file.
-
-Returns:
-  Signer instance.
-
-Raises:
-  OpenSSL.crypto.Error if the key can't be parsed.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Nov  6 12:07:15 2012
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.crypt.Verifier-class.html b/docs/epy/oauth2client.crypt.Verifier-class.html
deleted file mode 100644
index dfa82e9..0000000
--- a/docs/epy/oauth2client.crypt.Verifier-class.html
+++ /dev/null
@@ -1,362 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.crypt.Verifier</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.crypt-module.html">Module&nbsp;crypt</a> ::
-        Class&nbsp;Verifier
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.crypt.Verifier-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Verifier</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.crypt-pysrc.html#Verifier">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="class_hierarchy_for_verifier" name="class_hierarchy_for_verifier">
-<area shape="rect" href="oauth2client.crypt.Verifier-class.html" title="Verifier" alt="" coords="5,5,67,32"/>
-</map>
-  <img src="class_hierarchy_for_verifier.gif" alt='' usemap="#class_hierarchy_for_verifier" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Verifies the signature on a message.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.crypt.Verifier-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">pubkey</span>)</span><br />
-      Constructor.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.crypt-pysrc.html#Verifier.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.crypt.Verifier-class.html#verify" class="summary-sig-name">verify</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">message</span>,
-        <span class="summary-sig-arg">signature</span>)</span><br />
-      Verifies a message against a signature.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.crypt-pysrc.html#Verifier.verify">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== STATIC METHODS ==================== -->
-<a name="section-StaticMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Static Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-StaticMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.crypt.Verifier-class.html#from_string" class="summary-sig-name">from_string</a>(<span class="summary-sig-arg">key_pem</span>,
-        <span class="summary-sig-arg">is_x509_cert</span>)</span><br />
-      Construct a Verified instance from a string.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.crypt-pysrc.html#Verifier.from_string">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">pubkey</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.crypt-pysrc.html#Verifier.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor.
-
-Args:
-  pubkey, OpenSSL.crypto.PKey, The public key to verify with.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="verify"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">verify</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">message</span>,
-        <span class="sig-arg">signature</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.crypt-pysrc.html#Verifier.verify">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Verifies a message against a signature.
-
-Args:
-  message: string, The message to verify.
-  signature: string, The signature on the message.
-
-Returns:
-  True if message was singed by the private key associated with the public
-  key that this object was constructed with.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="from_string"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">from_string</span>(<span class="sig-arg">key_pem</span>,
-        <span class="sig-arg">is_x509_cert</span>)</span>
-    <br /><em class="fname">Static Method</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.crypt-pysrc.html#Verifier.from_string">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Construct a Verified instance from a string.
-
-Args:
-  key_pem: string, public key in PEM format.
-  is_x509_cert: bool, True if key_pem is an X509 cert, otherwise it is
-    expected to be an RSA key in PEM format.
-
-Returns:
-  Verifier instance.
-
-Raises:
-  OpenSSL.crypto.Error if the key_pem can't be parsed.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Nov  6 12:07:15 2012
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.django_orm-module.html b/docs/epy/oauth2client.django_orm-module.html
deleted file mode 100644
index 9377296..0000000
--- a/docs/epy/oauth2client.django_orm-module.html
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.django_orm</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;django_orm
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.django_orm-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module django_orm</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.django_orm-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-OAuth 2.0 utilities for Django.
-
-Utilities for using OAuth 2.0 in conjunction with
-the Django datastore.
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        jcgregorio@google.com (Joe Gregorio)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.django_orm.CredentialsField-class.html" class="summary-name">CredentialsField</a>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.django_orm.FlowField-class.html" class="summary-name">FlowField</a>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.django_orm.Storage-class.html" class="summary-name">Storage</a><br />
-      Store and retrieve a single credential to and from
-the datastore.
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.django_orm-pysrc.html b/docs/epy/oauth2client.django_orm-pysrc.html
deleted file mode 100644
index 4d06446..0000000
--- a/docs/epy/oauth2client.django_orm-pysrc.html
+++ /dev/null
@@ -1,335 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.django_orm</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;django_orm
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.django_orm-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="oauth2client.django_orm-module.html">Module oauth2client.django_orm</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010 Google Inc.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">"""OAuth 2.0 utilities for Django.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">Utilities for using OAuth 2.0 in conjunction with</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">the Django datastore.</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Package oauth2client=oauth2client-module.html"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-0', 'oauth2client', 'link-0');">oauth2client</a></tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">base64</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pickle</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">django</tt><tt class="py-op">.</tt><tt class="py-name">db</tt> <tt class="py-keyword">import</tt> <tt class="py-name">models</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-1', 'oauth2client', 'link-0');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module oauth2client.client=oauth2client.client-module.html"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-2', 'client', 'link-2');">client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class oauth2client.client.Storage=oauth2client.client.Storage-class.html,Class oauth2client.django_orm.Storage=oauth2client.django_orm.Storage-class.html,Class oauth2client.file.Storage=oauth2client.file.Storage-class.html,Class oauth2client.keyring_storage.Storage=oauth2client.keyring_storage.Storage-class.html"><a title="oauth2client.client.Storage
-oauth2client.django_orm.Storage
-oauth2client.file.Storage
-oauth2client.keyring_storage.Storage" class="py-name" href="#" onclick="return doclink('link-3', 'Storage', 'link-3');">Storage</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">BaseStorage</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
-<a name="CredentialsField"></a><div id="CredentialsField-def"><a name="L30"></a><tt class="py-lineno"> 30</tt> <a class="py-toggle" href="#" id="CredentialsField-toggle" onclick="return toggle('CredentialsField');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.django_orm.CredentialsField-class.html">CredentialsField</a><tt class="py-op">(</tt><tt class="py-base-class">models</tt><tt class="py-op">.</tt><tt class="py-base-class">Field</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CredentialsField-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="CredentialsField-expanded"><a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">  <tt id="link-4" class="py-name" targets="Variable oauth2client.django_orm.CredentialsField.__metaclass__=oauth2client.django_orm.CredentialsField-class.html#__metaclass__,Variable oauth2client.django_orm.FlowField.__metaclass__=oauth2client.django_orm.FlowField-class.html#__metaclass__"><a title="oauth2client.django_orm.CredentialsField.__metaclass__
-oauth2client.django_orm.FlowField.__metaclass__" class="py-name" href="#" onclick="return doclink('link-4', '__metaclass__', 'link-4');">__metaclass__</a></tt> <tt class="py-op">=</tt> <tt class="py-name">models</tt><tt class="py-op">.</tt><tt class="py-name">SubfieldBase</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"> </tt>
-<a name="CredentialsField.__init__"></a><div id="CredentialsField.__init__-def"><a name="L34"></a><tt class="py-lineno"> 34</tt> <a class="py-toggle" href="#" id="CredentialsField.__init__-toggle" onclick="return toggle('CredentialsField.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.django_orm.CredentialsField-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CredentialsField.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="CredentialsField.__init__-expanded"><a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'null'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">      <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">'null'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-5" class="py-name" targets="Class oauth2client.django_orm.CredentialsField=oauth2client.django_orm.CredentialsField-class.html"><a title="oauth2client.django_orm.CredentialsField" class="py-name" href="#" onclick="return doclink('link-5', 'CredentialsField', 'link-5');">CredentialsField</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method apiclient.channel.Channel.__init__()=apiclient.channel.Channel-class.html#__init__,Method apiclient.channel.Notification.__init__()=apiclient.channel.Notification-class.html#__init__,Method apiclient.discovery.Resource.__init__()=apiclient.discovery.Resource-class.html#__init__,Method apiclient.discovery.ResourceMethodParameters.__init__()=apiclient.discovery.ResourceMethodParameters-class.html#__init__,Method apiclient.errors.BatchError.__init__()=apiclient.errors.BatchError-class.html#__init__,Method apiclient.errors.HttpError.__init__()=apiclient.errors.HttpError-class.html#__init__,Method apiclient.errors.UnexpectedBodyError.__init__()=apiclient.errors.UnexpectedBodyError-class.html#__init__,Method apiclient.errors.UnexpectedMethodError.__init__()=apiclient.errors.UnexpectedMethodError-class.html#__init__,Method apiclient.http.BatchHttpRequest.__init__()=apiclient.http.BatchHttpRequest-class.html#__init__,Method apiclient.http.HttpMock.__init__()=apiclient.http.HttpMock-class.html#__init__,Method apiclient.http.HttpMockSequence.__init__()=apiclient.http.HttpMockSequence-class.html#__init__,Method apiclient.http.HttpRequest.__init__()=apiclient.http.HttpRequest-class.html#__init__,Method apiclient.http.HttpRequestMock.__init__()=apiclient.http.HttpRequestMock-class.html#__init__,Method apiclient.http.MediaDownloadProgress.__init__()=apiclient.http.MediaDownloadProgress-class.html#__init__,Method apiclient.http.MediaFileUpload.__init__()=apiclient.http.MediaFileUpload-class.html#__init__,Method apiclient.http.MediaInMemoryUpload.__init__()=apiclient.http.MediaInMemoryUpload-class.html#__init__,Method apiclient.http.MediaIoBaseDownload.__init__()=apiclient.http.MediaIoBaseDownload-class.html#__init__,Method apiclient.http.MediaIoBaseUpload.__init__()=apiclient.http.MediaIoBaseUpload-class.html#__init__,Method apiclient.http.MediaUploadProgress.__init__()=apiclient.http.MediaUploadProgress-class.html#__init__,Method apiclient.http.RequestMockBuilder.__init__()=apiclient.http.RequestMockBuilder-class.html#__init__,Method apiclient.http._StreamSlice.__init__()=apiclient.http._StreamSlice-class.html#__init__,Method apiclient.model.JsonModel.__init__()=apiclient.model.JsonModel-class.html#__init__,Method apiclient.model.ProtocolBufferModel.__init__()=apiclient.model.ProtocolBufferModel-class.html#__init__,Method apiclient.schema.Schemas.__init__()=apiclient.schema.Schemas-class.html#__init__,Method apiclient.schema._SchemaToStruct.__init__()=apiclient.schema._SchemaToStruct-class.html#__init__,Method oauth2client.appengine.AppAssertionCredentials.__init__()=oauth2client.appengine.AppAssertionCredentials-class.html#__init__,Method oauth2client.appengine.OAuth2Decorator.__init__()=oauth2client.appengine.OAuth2Decorator-class.html#__init__,Method oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__()=oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html#__init__,Method oauth2client.appengine.StorageByKeyName.__init__()=oauth2client.appengine.StorageByKeyName-class.html#__init__,Method oauth2client.client.AccessTokenCredentials.__init__()=oauth2client.client.AccessTokenCredentials-class.html#__init__,Method oauth2client.client.AssertionCredentials.__init__()=oauth2client.client.AssertionCredentials-class.html#__init__,Method oauth2client.client.MemoryCache.__init__()=oauth2client.client.MemoryCache-class.html#__init__,Method oauth2client.client.OAuth2Credentials.__init__()=oauth2client.client.OAuth2Credentials-class.html#__init__,Method oauth2client.client.OAuth2WebServerFlow.__init__()=oauth2client.client.OAuth2WebServerFlow-class.html#__init__,Method oauth2client.client.SignedJwtAssertionCredentials.__init__()=oauth2client.client.SignedJwtAssertionCredentials-class.html#__init__,Method oauth2client.django_orm.CredentialsField.__init__()=oauth2client.django_orm.CredentialsField-class.html#__init__,Method oauth2client.django_orm.FlowField.__init__()=oauth2client.django_orm.FlowField-class.html#__init__,Method oauth2client.django_orm.Storage.__init__()=oauth2client.django_orm.Storage-class.html#__init__,Method oauth2client.file.Storage.__init__()=oauth2client.file.Storage-class.html#__init__,Method oauth2client.gce.AppAssertionCredentials.__init__()=oauth2client.gce.AppAssertionCredentials-class.html#__init__,Method oauth2client.keyring_storage.Storage.__init__()=oauth2client.keyring_storage.Storage-class.html#__init__,Method oauth2client.locked_file.LockedFile.__init__()=oauth2client.locked_file.LockedFile-class.html#__init__,Method oauth2client.locked_file._Opener.__init__()=oauth2client.locked_file._Opener-class.html#__init__,Method oauth2client.multistore_file._MultiStore._Storage.__init__()=oauth2client.multistore_file._MultiStore._Storage-class.html#__init__,Method oauth2client.multistore_file._MultiStore.__init__()=oauth2client.multistore_file._MultiStore-class.html#__init__"><a title="apiclient.channel.Channel.__init__
-apiclient.channel.Notification.__init__
-apiclient.discovery.Resource.__init__
-apiclient.discovery.ResourceMethodParameters.__init__
-apiclient.errors.BatchError.__init__
-apiclient.errors.HttpError.__init__
-apiclient.errors.UnexpectedBodyError.__init__
-apiclient.errors.UnexpectedMethodError.__init__
-apiclient.http.BatchHttpRequest.__init__
-apiclient.http.HttpMock.__init__
-apiclient.http.HttpMockSequence.__init__
-apiclient.http.HttpRequest.__init__
-apiclient.http.HttpRequestMock.__init__
-apiclient.http.MediaDownloadProgress.__init__
-apiclient.http.MediaFileUpload.__init__
-apiclient.http.MediaInMemoryUpload.__init__
-apiclient.http.MediaIoBaseDownload.__init__
-apiclient.http.MediaIoBaseUpload.__init__
-apiclient.http.MediaUploadProgress.__init__
-apiclient.http.RequestMockBuilder.__init__
-apiclient.http._StreamSlice.__init__
-apiclient.model.JsonModel.__init__
-apiclient.model.ProtocolBufferModel.__init__
-apiclient.schema.Schemas.__init__
-apiclient.schema._SchemaToStruct.__init__
-oauth2client.appengine.AppAssertionCredentials.__init__
-oauth2client.appengine.OAuth2Decorator.__init__
-oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__
-oauth2client.appengine.StorageByKeyName.__init__
-oauth2client.client.AccessTokenCredentials.__init__
-oauth2client.client.AssertionCredentials.__init__
-oauth2client.client.MemoryCache.__init__
-oauth2client.client.OAuth2Credentials.__init__
-oauth2client.client.OAuth2WebServerFlow.__init__
-oauth2client.client.SignedJwtAssertionCredentials.__init__
-oauth2client.django_orm.CredentialsField.__init__
-oauth2client.django_orm.FlowField.__init__
-oauth2client.django_orm.Storage.__init__
-oauth2client.file.Storage.__init__
-oauth2client.gce.AppAssertionCredentials.__init__
-oauth2client.keyring_storage.Storage.__init__
-oauth2client.locked_file.LockedFile.__init__
-oauth2client.locked_file._Opener.__init__
-oauth2client.multistore_file._MultiStore._Storage.__init__
-oauth2client.multistore_file._MultiStore.__init__" class="py-name" href="#" onclick="return doclink('link-6', '__init__', 'link-6');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
-<a name="CredentialsField.get_internal_type"></a><div id="CredentialsField.get_internal_type-def"><a name="L39"></a><tt class="py-lineno"> 39</tt> <a class="py-toggle" href="#" id="CredentialsField.get_internal_type-toggle" onclick="return toggle('CredentialsField.get_internal_type');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.django_orm.CredentialsField-class.html#get_internal_type">get_internal_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CredentialsField.get_internal_type-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="CredentialsField.get_internal_type-expanded"><a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">"TextField"</tt> </tt>
-</div><a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
-<a name="CredentialsField.to_python"></a><div id="CredentialsField.to_python-def"><a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="CredentialsField.to_python-toggle" onclick="return toggle('CredentialsField.to_python');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.django_orm.CredentialsField-class.html#to_python">to_python</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CredentialsField.to_python-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="CredentialsField.to_python-expanded"><a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt id="link-7" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-7', 'oauth2client', 'link-0');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-8', 'client', 'link-2');">client</a></tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Class oauth2client.client.Credentials=oauth2client.client.Credentials-class.html"><a title="oauth2client.client.Credentials" class="py-name" href="#" onclick="return doclink('link-9', 'Credentials', 'link-9');">Credentials</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">value</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Function oauth2client.clientsecrets.loads()=oauth2client.clientsecrets-module.html#loads"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-10', 'loads', 'link-10');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">b64decode</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"> </tt>
-<a name="CredentialsField.get_db_prep_value"></a><div id="CredentialsField.get_db_prep_value-def"><a name="L49"></a><tt class="py-lineno"> 49</tt> <a class="py-toggle" href="#" id="CredentialsField.get_db_prep_value-toggle" onclick="return toggle('CredentialsField.get_db_prep_value');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.django_orm.CredentialsField-class.html#get_db_prep_value">get_db_prep_value</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">,</tt> <tt class="py-param">connection</tt><tt class="py-op">,</tt> <tt class="py-param">prepared</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CredentialsField.get_db_prep_value-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="CredentialsField.get_db_prep_value-expanded"><a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">b64encode</tt><tt class="py-op">(</tt><tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"> </tt>
-<a name="FlowField"></a><div id="FlowField-def"><a name="L55"></a><tt class="py-lineno"> 55</tt> <a class="py-toggle" href="#" id="FlowField-toggle" onclick="return toggle('FlowField');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.django_orm.FlowField-class.html">FlowField</a><tt class="py-op">(</tt><tt class="py-base-class">models</tt><tt class="py-op">.</tt><tt class="py-base-class">Field</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FlowField-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="FlowField-expanded"><a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">  <tt id="link-11" class="py-name"><a title="oauth2client.django_orm.CredentialsField.__metaclass__
-oauth2client.django_orm.FlowField.__metaclass__" class="py-name" href="#" onclick="return doclink('link-11', '__metaclass__', 'link-4');">__metaclass__</a></tt> <tt class="py-op">=</tt> <tt class="py-name">models</tt><tt class="py-op">.</tt><tt class="py-name">SubfieldBase</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
-<a name="FlowField.__init__"></a><div id="FlowField.__init__-def"><a name="L59"></a><tt class="py-lineno"> 59</tt> <a class="py-toggle" href="#" id="FlowField.__init__-toggle" onclick="return toggle('FlowField.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.django_orm.FlowField-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FlowField.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="FlowField.__init__-expanded"><a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'null'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">      <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">'null'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-12" class="py-name" targets="Class oauth2client.django_orm.FlowField=oauth2client.django_orm.FlowField-class.html"><a title="oauth2client.django_orm.FlowField" class="py-name" href="#" onclick="return doclink('link-12', 'FlowField', 'link-12');">FlowField</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="apiclient.channel.Channel.__init__
-apiclient.channel.Notification.__init__
-apiclient.discovery.Resource.__init__
-apiclient.discovery.ResourceMethodParameters.__init__
-apiclient.errors.BatchError.__init__
-apiclient.errors.HttpError.__init__
-apiclient.errors.UnexpectedBodyError.__init__
-apiclient.errors.UnexpectedMethodError.__init__
-apiclient.http.BatchHttpRequest.__init__
-apiclient.http.HttpMock.__init__
-apiclient.http.HttpMockSequence.__init__
-apiclient.http.HttpRequest.__init__
-apiclient.http.HttpRequestMock.__init__
-apiclient.http.MediaDownloadProgress.__init__
-apiclient.http.MediaFileUpload.__init__
-apiclient.http.MediaInMemoryUpload.__init__
-apiclient.http.MediaIoBaseDownload.__init__
-apiclient.http.MediaIoBaseUpload.__init__
-apiclient.http.MediaUploadProgress.__init__
-apiclient.http.RequestMockBuilder.__init__
-apiclient.http._StreamSlice.__init__
-apiclient.model.JsonModel.__init__
-apiclient.model.ProtocolBufferModel.__init__
-apiclient.schema.Schemas.__init__
-apiclient.schema._SchemaToStruct.__init__
-oauth2client.appengine.AppAssertionCredentials.__init__
-oauth2client.appengine.OAuth2Decorator.__init__
-oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__
-oauth2client.appengine.StorageByKeyName.__init__
-oauth2client.client.AccessTokenCredentials.__init__
-oauth2client.client.AssertionCredentials.__init__
-oauth2client.client.MemoryCache.__init__
-oauth2client.client.OAuth2Credentials.__init__
-oauth2client.client.OAuth2WebServerFlow.__init__
-oauth2client.client.SignedJwtAssertionCredentials.__init__
-oauth2client.django_orm.CredentialsField.__init__
-oauth2client.django_orm.FlowField.__init__
-oauth2client.django_orm.Storage.__init__
-oauth2client.file.Storage.__init__
-oauth2client.gce.AppAssertionCredentials.__init__
-oauth2client.keyring_storage.Storage.__init__
-oauth2client.locked_file.LockedFile.__init__
-oauth2client.locked_file._Opener.__init__
-oauth2client.multistore_file._MultiStore._Storage.__init__
-oauth2client.multistore_file._MultiStore.__init__" class="py-name" href="#" onclick="return doclink('link-13', '__init__', 'link-6');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"> </tt>
-<a name="FlowField.get_internal_type"></a><div id="FlowField.get_internal_type-def"><a name="L64"></a><tt class="py-lineno"> 64</tt> <a class="py-toggle" href="#" id="FlowField.get_internal_type-toggle" onclick="return toggle('FlowField.get_internal_type');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.django_orm.FlowField-class.html#get_internal_type">get_internal_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FlowField.get_internal_type-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="FlowField.get_internal_type-expanded"><a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">"TextField"</tt> </tt>
-</div><a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"> </tt>
-<a name="FlowField.to_python"></a><div id="FlowField.to_python-def"><a name="L67"></a><tt class="py-lineno"> 67</tt> <a class="py-toggle" href="#" id="FlowField.to_python-toggle" onclick="return toggle('FlowField.to_python');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.django_orm.FlowField-class.html#to_python">to_python</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FlowField.to_python-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="FlowField.to_python-expanded"><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt id="link-14" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-14', 'oauth2client', 'link-0');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-15', 'client', 'link-2');">client</a></tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Class oauth2client.client.Flow=oauth2client.client.Flow-class.html"><a title="oauth2client.client.Flow" class="py-name" href="#" onclick="return doclink('link-16', 'Flow', 'link-16');">Flow</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">value</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-17', 'loads', 'link-10');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">b64decode</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"> </tt>
-<a name="FlowField.get_db_prep_value"></a><div id="FlowField.get_db_prep_value-def"><a name="L74"></a><tt class="py-lineno"> 74</tt> <a class="py-toggle" href="#" id="FlowField.get_db_prep_value-toggle" onclick="return toggle('FlowField.get_db_prep_value');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.django_orm.FlowField-class.html#get_db_prep_value">get_db_prep_value</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">,</tt> <tt class="py-param">connection</tt><tt class="py-op">,</tt> <tt class="py-param">prepared</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FlowField.get_db_prep_value-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="FlowField.get_db_prep_value-expanded"><a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">b64encode</tt><tt class="py-op">(</tt><tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"> </tt>
-<a name="Storage"></a><div id="Storage-def"><a name="L80"></a><tt class="py-lineno"> 80</tt> <a class="py-toggle" href="#" id="Storage-toggle" onclick="return toggle('Storage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.django_orm.Storage-class.html">Storage</a><tt class="py-op">(</tt><tt class="py-base-class">BaseStorage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Storage-expanded"><a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">  <tt class="py-docstring">"""Store and retrieve a single credential to and from</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">  the datastore.</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">  This Storage helper presumes the Credentials</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">  have been stored as a CredenialsField</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring">  on a db model class.</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"> </tt>
-<a name="Storage.__init__"></a><div id="Storage.__init__-def"><a name="L89"></a><tt class="py-lineno"> 89</tt> <a class="py-toggle" href="#" id="Storage.__init__-toggle" onclick="return toggle('Storage.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.django_orm.Storage-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">model_class</tt><tt class="py-op">,</tt> <tt class="py-param">key_name</tt><tt class="py-op">,</tt> <tt class="py-param">key_value</tt><tt class="py-op">,</tt> <tt class="py-param">property_name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Storage.__init__-expanded"><a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for Storage.</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring">      model: db.Model, model class</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-docstring">      key_name: string, key name for the entity that has the credentials</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-docstring">      key_value: string, key value for the entity that has the credentials</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring">      property_name: string, name of the property that is an CredentialsProperty</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">model_class</tt> <tt class="py-op">=</tt> <tt class="py-name">model_class</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">key_name</tt> <tt class="py-op">=</tt> <tt class="py-name">key_name</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">key_value</tt> <tt class="py-op">=</tt> <tt class="py-name">key_value</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">property_name</tt> <tt class="py-op">=</tt> <tt class="py-name">property_name</tt> </tt>
-</div><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
-<a name="Storage.locked_get"></a><div id="Storage.locked_get-def"><a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="Storage.locked_get-toggle" onclick="return toggle('Storage.locked_get');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.django_orm.Storage-class.html#locked_get">locked_get</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.locked_get-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Storage.locked_get-expanded"><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">    <tt class="py-docstring">"""Retrieve Credential from datastore.</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">      oauth2client.Credentials</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">    <tt class="py-name">credential</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">    <tt class="py-name">query</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">key_name</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">key_value</tt><tt class="py-op">}</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">    <tt class="py-name">entities</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">model_class</tt><tt class="py-op">.</tt><tt class="py-name">objects</tt><tt class="py-op">.</tt><tt class="py-name">filter</tt><tt class="py-op">(</tt><tt class="py-op">**</tt><tt class="py-name">query</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">entities</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">      <tt class="py-name">credential</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">entities</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">property_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">credential</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">credential</tt><tt class="py-op">,</tt> <tt class="py-string">'set_store'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-name">credential</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method oauth2client.client.OAuth2Credentials.set_store()=oauth2client.client.OAuth2Credentials-class.html#set_store"><a title="oauth2client.client.OAuth2Credentials.set_store" class="py-name" href="#" onclick="return doclink('link-18', 'set_store', 'link-18');">set_store</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">credential</tt> </tt>
-</div><a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"> </tt>
-<a name="Storage.locked_put"></a><div id="Storage.locked_put-def"><a name="L119"></a><tt class="py-lineno">119</tt> <a class="py-toggle" href="#" id="Storage.locked_put-toggle" onclick="return toggle('Storage.locked_put');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.django_orm.Storage-class.html#locked_put">locked_put</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">credentials</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.locked_put-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Storage.locked_put-expanded"><a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">    <tt class="py-docstring">"""Write a Credentials to the datastore.</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring">      credentials: Credentials, the credentials to store.</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">    <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">key_name</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">key_value</tt><tt class="py-op">}</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">    <tt class="py-name">entity</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">model_class</tt><tt class="py-op">(</tt><tt class="py-op">**</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">    <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">entity</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">property_name</tt><tt class="py-op">,</tt> <tt id="link-19" class="py-name" targets="Variable oauth2client.appengine.CredentialsModel.credentials=oauth2client.appengine.CredentialsModel-class.html#credentials,Variable oauth2client.appengine.CredentialsNDBModel.credentials=oauth2client.appengine.CredentialsNDBModel-class.html#credentials,Variable oauth2client.appengine.OAuth2Decorator.credentials=oauth2client.appengine.OAuth2Decorator-class.html#credentials"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-19', 'credentials', 'link-19');">credentials</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">    <tt class="py-name">entity</tt><tt class="py-op">.</tt><tt class="py-name">save</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"> </tt>
-<a name="Storage.locked_delete"></a><div id="Storage.locked_delete-def"><a name="L130"></a><tt class="py-lineno">130</tt> <a class="py-toggle" href="#" id="Storage.locked_delete-toggle" onclick="return toggle('Storage.locked_delete');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.django_orm.Storage-class.html#locked_delete">locked_delete</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.locked_delete-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Storage.locked_delete-expanded"><a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">    <tt class="py-docstring">"""Delete Credentials from the datastore."""</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">    <tt class="py-name">query</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">key_name</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">key_value</tt><tt class="py-op">}</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">    <tt class="py-name">entities</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">model_class</tt><tt class="py-op">.</tt><tt class="py-name">objects</tt><tt class="py-op">.</tt><tt class="py-name">filter</tt><tt class="py-op">(</tt><tt class="py-op">**</tt><tt class="py-name">query</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method oauth2client.client.MemoryCache.delete()=oauth2client.client.MemoryCache-class.html#delete,Method oauth2client.client.Storage.delete()=oauth2client.client.Storage-class.html#delete"><a title="oauth2client.client.MemoryCache.delete
-oauth2client.client.Storage.delete" class="py-name" href="#" onclick="return doclink('link-20', 'delete', 'link-20');">delete</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.django_orm.CredentialsField-class.html b/docs/epy/oauth2client.django_orm.CredentialsField-class.html
deleted file mode 100644
index 771bb07..0000000
--- a/docs/epy/oauth2client.django_orm.CredentialsField-class.html
+++ /dev/null
@@ -1,225 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.django_orm.CredentialsField</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.django_orm-module.html">Module&nbsp;django_orm</a> ::
-        Class&nbsp;CredentialsField
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.django_orm.CredentialsField-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class CredentialsField</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.django_orm-pysrc.html#CredentialsField">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_35" name="uml_class_diagram_for_oauth2cl_35">
-<area shape="rect" id="node191" href="oauth2client.django_orm.CredentialsField-class.html#__metaclass__" title="oauth2client.django_orm.CredentialsField.__metaclass__" alt="" coords="17,31,371,49"/>
-<area shape="rect" id="node191" href="oauth2client.django_orm.CredentialsField-class.html#__init__" title="oauth2client.django_orm.CredentialsField.__init__" alt="" coords="17,52,371,71"/>
-<area shape="rect" id="node191" href="oauth2client.django_orm.CredentialsField-class.html#get_internal_type" title="oauth2client.django_orm.CredentialsField.get_internal_type" alt="" coords="17,71,371,89"/>
-<area shape="rect" id="node191" href="oauth2client.django_orm.CredentialsField-class.html#to_python" title="oauth2client.django_orm.CredentialsField.to_python" alt="" coords="17,89,371,108"/>
-<area shape="rect" id="node191" href="oauth2client.django_orm.CredentialsField-class.html#get_db_prep_value" title="oauth2client.django_orm.CredentialsField.get_db_prep_value" alt="" coords="17,108,371,127"/>
-<area shape="rect" id="node1" href="oauth2client.django_orm.CredentialsField-class.html" title="oauth2client.django_orm.CredentialsField" alt="" coords="5,6,381,133"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_35.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_35" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">*args</span>,
-        <span class="summary-sig-arg">**kwargs</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.django_orm-pysrc.html#CredentialsField.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="get_internal_type"></a><span class="summary-sig-name">get_internal_type</span>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.django_orm-pysrc.html#CredentialsField.get_internal_type">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="to_python"></a><span class="summary-sig-name">to_python</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">value</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.django_orm-pysrc.html#CredentialsField.to_python">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="get_db_prep_value"></a><span class="summary-sig-name">get_db_prep_value</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">value</span>,
-        <span class="summary-sig-arg">connection</span>,
-        <span class="summary-sig-arg">prepared</span>=<span class="summary-sig-default">False</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.django_orm-pysrc.html#CredentialsField.get_db_prep_value">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="__metaclass__"></a><span class="summary-name">__metaclass__</span> = <code title="models.SubfieldBase">models.SubfieldBase</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.django_orm.FlowField-class.html b/docs/epy/oauth2client.django_orm.FlowField-class.html
deleted file mode 100644
index eec2b4c..0000000
--- a/docs/epy/oauth2client.django_orm.FlowField-class.html
+++ /dev/null
@@ -1,225 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.django_orm.FlowField</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.django_orm-module.html">Module&nbsp;django_orm</a> ::
-        Class&nbsp;FlowField
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.django_orm.FlowField-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class FlowField</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.django_orm-pysrc.html#FlowField">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_36" name="uml_class_diagram_for_oauth2cl_36">
-<area shape="rect" id="node192" href="oauth2client.django_orm.FlowField-class.html#__metaclass__" title="oauth2client.django_orm.FlowField.__metaclass__" alt="" coords="17,31,371,49"/>
-<area shape="rect" id="node192" href="oauth2client.django_orm.FlowField-class.html#__init__" title="oauth2client.django_orm.FlowField.__init__" alt="" coords="17,52,371,71"/>
-<area shape="rect" id="node192" href="oauth2client.django_orm.FlowField-class.html#get_internal_type" title="oauth2client.django_orm.FlowField.get_internal_type" alt="" coords="17,71,371,89"/>
-<area shape="rect" id="node192" href="oauth2client.django_orm.FlowField-class.html#to_python" title="oauth2client.django_orm.FlowField.to_python" alt="" coords="17,89,371,108"/>
-<area shape="rect" id="node192" href="oauth2client.django_orm.FlowField-class.html#get_db_prep_value" title="oauth2client.django_orm.FlowField.get_db_prep_value" alt="" coords="17,108,371,127"/>
-<area shape="rect" id="node1" href="oauth2client.django_orm.FlowField-class.html" title="oauth2client.django_orm.FlowField" alt="" coords="5,6,381,133"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_36.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_36" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">*args</span>,
-        <span class="summary-sig-arg">**kwargs</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.django_orm-pysrc.html#FlowField.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="get_internal_type"></a><span class="summary-sig-name">get_internal_type</span>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.django_orm-pysrc.html#FlowField.get_internal_type">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="to_python"></a><span class="summary-sig-name">to_python</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">value</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.django_orm-pysrc.html#FlowField.to_python">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="get_db_prep_value"></a><span class="summary-sig-name">get_db_prep_value</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">value</span>,
-        <span class="summary-sig-arg">connection</span>,
-        <span class="summary-sig-arg">prepared</span>=<span class="summary-sig-default">False</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.django_orm-pysrc.html#FlowField.get_db_prep_value">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="__metaclass__"></a><span class="summary-name">__metaclass__</span> = <code title="models.SubfieldBase">models.SubfieldBase</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.django_orm.Storage-class.html b/docs/epy/oauth2client.django_orm.Storage-class.html
deleted file mode 100644
index 7dc8230..0000000
--- a/docs/epy/oauth2client.django_orm.Storage-class.html
+++ /dev/null
@@ -1,405 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.django_orm.Storage</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.django_orm-module.html">Module&nbsp;django_orm</a> ::
-        Class&nbsp;Storage
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.django_orm.Storage-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Storage</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.django_orm-pysrc.html#Storage">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_37" name="uml_class_diagram_for_oauth2cl_37">
-<area shape="rect" id="node193" href="oauth2client.django_orm.Storage-class.html#__init__" title="Constructor for Storage." alt="" coords="17,191,409,209"/>
-<area shape="rect" id="node193" href="oauth2client.django_orm.Storage-class.html#locked_get" title="Retrieve Credential from datastore." alt="" coords="17,209,409,228"/>
-<area shape="rect" id="node193" href="oauth2client.django_orm.Storage-class.html#locked_put" title="Write a Credentials to the datastore." alt="" coords="17,228,409,247"/>
-<area shape="rect" id="node193" href="oauth2client.django_orm.Storage-class.html#locked_delete" title="Delete Credentials from the datastore." alt="" coords="17,247,409,265"/>
-<area shape="rect" id="node1" href="oauth2client.django_orm.Storage-class.html" title="Store and retrieve a single credential to and from the datastore." alt="" coords="5,158,421,271"/>
-<area shape="rect" id="node194" href="oauth2client.client.Storage-class.html#acquire_lock" title="Acquires any lock necessary to access this Storage." alt="" coords="151,39,276,57"/>
-<area shape="rect" id="node194" href="oauth2client.client.Storage-class.html#release_lock" title="Release the Storage lock." alt="" coords="151,57,276,76"/>
-<area shape="rect" id="node194" href="oauth2client.client.Storage-class.html#get" title="Retrieve credential." alt="" coords="151,76,276,95"/>
-<area shape="rect" id="node194" href="oauth2client.client.Storage-class.html#put" title="Write a credential." alt="" coords="151,95,276,113"/>
-<area shape="rect" id="node194" href="oauth2client.client.Storage-class.html#delete" title="Delete credential." alt="" coords="151,113,276,132"/>
-<area shape="rect" id="node2" href="oauth2client.client.Storage-class.html" title="Base class for all Storage objects." alt="" coords="139,6,288,138"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_37.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_37" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Store and retrieve a single credential to and from
-the datastore.
-
-This Storage helper presumes the Credentials
-have been stored as a CredenialsField
-on a db model class.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.django_orm.Storage-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">model_class</span>,
-        <span class="summary-sig-arg">key_name</span>,
-        <span class="summary-sig-arg">key_value</span>,
-        <span class="summary-sig-arg">property_name</span>)</span><br />
-      Constructor for Storage.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.django_orm-pysrc.html#Storage.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.django_orm.Storage-class.html#locked_get" class="summary-sig-name">locked_get</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Retrieve Credential from datastore.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.django_orm-pysrc.html#Storage.locked_get">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.django_orm.Storage-class.html#locked_put" class="summary-sig-name">locked_put</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">credentials</span>)</span><br />
-      Write a Credentials to the datastore.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.django_orm-pysrc.html#Storage.locked_put">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.django_orm.Storage-class.html#locked_delete" class="summary-sig-name">locked_delete</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Delete Credentials from the datastore.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.django_orm-pysrc.html#Storage.locked_delete">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Storage-class.html">client.Storage</a></code></b>:
-      <code><a href="oauth2client.client.Storage-class.html#acquire_lock">acquire_lock</a></code>,
-      <code><a href="oauth2client.client.Storage-class.html#delete">delete</a></code>,
-      <code><a href="oauth2client.client.Storage-class.html#get">get</a></code>,
-      <code><a href="oauth2client.client.Storage-class.html#put">put</a></code>,
-      <code><a href="oauth2client.client.Storage-class.html#release_lock">release_lock</a></code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">model_class</span>,
-        <span class="sig-arg">key_name</span>,
-        <span class="sig-arg">key_value</span>,
-        <span class="sig-arg">property_name</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.django_orm-pysrc.html#Storage.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor for Storage.
-
-Args:
-  model: db.Model, model class
-  key_name: string, key name for the entity that has the credentials
-  key_value: string, key value for the entity that has the credentials
-  property_name: string, name of the property that is an CredentialsProperty
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="locked_get"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_get</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.django_orm-pysrc.html#Storage.locked_get">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Retrieve Credential from datastore.
-
-Returns:
-  oauth2client.Credentials
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#locked_get">client.Storage.locked_get</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="locked_put"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_put</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">credentials</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.django_orm-pysrc.html#Storage.locked_put">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Write a Credentials to the datastore.
-
-Args:
-  credentials: Credentials, the credentials to store.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#locked_put">client.Storage.locked_put</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="locked_delete"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_delete</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.django_orm-pysrc.html#Storage.locked_delete">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Delete Credentials from the datastore.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#locked_delete">client.Storage.locked_delete</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.file-module.html b/docs/epy/oauth2client.file-module.html
deleted file mode 100644
index 5388051..0000000
--- a/docs/epy/oauth2client.file-module.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.file</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;file
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.file-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module file</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.file-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-Utilities for OAuth.
-
-Utilities for making it easier to work with OAuth 2.0
-credentials.
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        jcgregorio@google.com (Joe Gregorio)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.file.CredentialsFileSymbolicLinkError-class.html" class="summary-name">CredentialsFileSymbolicLinkError</a><br />
-      Credentials files must not be symbolic links.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.file.Storage-class.html" class="summary-name">Storage</a><br />
-      Store and retrieve a single credential to and from a file.
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.file-pysrc.html b/docs/epy/oauth2client.file-pysrc.html
deleted file mode 100644
index e614f99..0000000
--- a/docs/epy/oauth2client.file-pysrc.html
+++ /dev/null
@@ -1,253 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.file</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;file
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.file-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="oauth2client.file-module.html">Module oauth2client.file</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010 Google Inc.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">"""Utilities for OAuth.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">Utilities for making it easier to work with OAuth 2.0</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">credentials.</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">stat</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">threading</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module oauth2client.anyjson=oauth2client.anyjson-module.html"><a title="oauth2client.anyjson" class="py-name" href="#" onclick="return doclink('link-0', 'anyjson', 'link-0');">anyjson</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module oauth2client.client=oauth2client.client-module.html"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-1', 'client', 'link-1');">client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Class oauth2client.client.Storage=oauth2client.client.Storage-class.html,Class oauth2client.django_orm.Storage=oauth2client.django_orm.Storage-class.html,Class oauth2client.file.Storage=oauth2client.file.Storage-class.html,Class oauth2client.keyring_storage.Storage=oauth2client.keyring_storage.Storage-class.html"><a title="oauth2client.client.Storage
-oauth2client.django_orm.Storage
-oauth2client.file.Storage
-oauth2client.keyring_storage.Storage" class="py-name" href="#" onclick="return doclink('link-2', 'Storage', 'link-2');">Storage</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">BaseStorage</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-3', 'client', 'link-1');">client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class oauth2client.client.Credentials=oauth2client.client.Credentials-class.html"><a title="oauth2client.client.Credentials" class="py-name" href="#" onclick="return doclink('link-4', 'Credentials', 'link-4');">Credentials</a></tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"> </tt>
-<a name="CredentialsFileSymbolicLinkError"></a><div id="CredentialsFileSymbolicLinkError-def"><a name="L32"></a><tt class="py-lineno"> 32</tt> <a class="py-toggle" href="#" id="CredentialsFileSymbolicLinkError-toggle" onclick="return toggle('CredentialsFileSymbolicLinkError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.file.CredentialsFileSymbolicLinkError-class.html">CredentialsFileSymbolicLinkError</a><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CredentialsFileSymbolicLinkError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="CredentialsFileSymbolicLinkError-expanded"><a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">  <tt class="py-docstring">"""Credentials files must not be symbolic links."""</tt> </tt>
-</div><a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"> </tt>
-<a name="Storage"></a><div id="Storage-def"><a name="L36"></a><tt class="py-lineno"> 36</tt> <a class="py-toggle" href="#" id="Storage-toggle" onclick="return toggle('Storage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.file.Storage-class.html">Storage</a><tt class="py-op">(</tt><tt class="py-base-class">BaseStorage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Storage-expanded"><a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">  <tt class="py-docstring">"""Store and retrieve a single credential to and from a file."""</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
-<a name="Storage.__init__"></a><div id="Storage.__init__-def"><a name="L39"></a><tt class="py-lineno"> 39</tt> <a class="py-toggle" href="#" id="Storage.__init__-toggle" onclick="return toggle('Storage.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.file.Storage-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Storage.__init__-expanded"><a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt> <tt class="py-op">=</tt> <tt id="link-5" class="py-name" targets="Method oauth2client.locked_file.LockedFile.filename()=oauth2client.locked_file.LockedFile-class.html#filename,Method oauth2client.locked_file._Opener.filename()=oauth2client.locked_file._Opener-class.html#filename"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-5', 'filename', 'link-5');">filename</a></tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method oauth2client.multistore_file._MultiStore._lock()=oauth2client.multistore_file._MultiStore-class.html#_lock"><a title="oauth2client.multistore_file._MultiStore._lock" class="py-name" href="#" onclick="return doclink('link-6', '_lock', 'link-6');">_lock</a></tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Lock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"> </tt>
-<a name="Storage._validate_file"></a><div id="Storage._validate_file-def"><a name="L43"></a><tt class="py-lineno"> 43</tt> <a class="py-toggle" href="#" id="Storage._validate_file-toggle" onclick="return toggle('Storage._validate_file');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.file.Storage-class.html#_validate_file">_validate_file</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage._validate_file-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Storage._validate_file-expanded"><a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">islink</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-7" class="py-name" targets="Class oauth2client.file.CredentialsFileSymbolicLinkError=oauth2client.file.CredentialsFileSymbolicLinkError-class.html,Class oauth2client.locked_file.CredentialsFileSymbolicLinkError=oauth2client.locked_file.CredentialsFileSymbolicLinkError-class.html"><a title="oauth2client.file.CredentialsFileSymbolicLinkError
-oauth2client.locked_file.CredentialsFileSymbolicLinkError" class="py-name" href="#" onclick="return doclink('link-7', 'CredentialsFileSymbolicLinkError', 'link-7');">CredentialsFileSymbolicLinkError</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">          <tt class="py-string">'File: %s is a symbolic link.'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"> </tt>
-<a name="Storage.acquire_lock"></a><div id="Storage.acquire_lock-def"><a name="L48"></a><tt class="py-lineno"> 48</tt> <a class="py-toggle" href="#" id="Storage.acquire_lock-toggle" onclick="return toggle('Storage.acquire_lock');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.file.Storage-class.html#acquire_lock">acquire_lock</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.acquire_lock-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Storage.acquire_lock-expanded"><a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">    <tt class="py-docstring">"""Acquires any lock necessary to access this Storage.</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">    This lock is not reentrant."""</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="oauth2client.multistore_file._MultiStore._lock" class="py-name" href="#" onclick="return doclink('link-8', '_lock', 'link-6');">_lock</a></tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"> </tt>
-<a name="Storage.release_lock"></a><div id="Storage.release_lock-def"><a name="L54"></a><tt class="py-lineno"> 54</tt> <a class="py-toggle" href="#" id="Storage.release_lock-toggle" onclick="return toggle('Storage.release_lock');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.file.Storage-class.html#release_lock">release_lock</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.release_lock-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Storage.release_lock-expanded"><a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">    <tt class="py-docstring">"""Release the Storage lock.</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">    Trying to release a lock that isn't held will result in a</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring">    RuntimeError.</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="oauth2client.multistore_file._MultiStore._lock" class="py-name" href="#" onclick="return doclink('link-9', '_lock', 'link-6');">_lock</a></tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
-<a name="Storage.locked_get"></a><div id="Storage.locked_get-def"><a name="L62"></a><tt class="py-lineno"> 62</tt> <a class="py-toggle" href="#" id="Storage.locked_get-toggle" onclick="return toggle('Storage.locked_get');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.file.Storage-class.html#locked_get">locked_get</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.locked_get-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Storage.locked_get-expanded"><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">    <tt class="py-docstring">"""Retrieve Credential from file.</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring">      oauth2client.client.Credentials</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring">      CredentialsFileSymbolicLinkError if the file is a symbolic link.</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">    <tt id="link-10" class="py-name" targets="Variable oauth2client.appengine.CredentialsModel.credentials=oauth2client.appengine.CredentialsModel-class.html#credentials,Variable oauth2client.appengine.CredentialsNDBModel.credentials=oauth2client.appengine.CredentialsNDBModel-class.html#credentials,Variable oauth2client.appengine.OAuth2Decorator.credentials=oauth2client.appengine.OAuth2Decorator-class.html#credentials"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-10', 'credentials', 'link-10');">credentials</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method oauth2client.file.Storage._validate_file()=oauth2client.file.Storage-class.html#_validate_file"><a title="oauth2client.file.Storage._validate_file" class="py-name" href="#" onclick="return doclink('link-11', '_validate_file', 'link-11');">_validate_file</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">      <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">      <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method apiclient.http._StreamSlice.read()=apiclient.http._StreamSlice-class.html#read"><a title="apiclient.http._StreamSlice.read" class="py-name" href="#" onclick="return doclink('link-12', 'read', 'link-12');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">      <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">:</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-13" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-13', 'credentials', 'link-10');">credentials</a></tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">      <tt id="link-14" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-14', 'credentials', 'link-10');">credentials</a></tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name"><a title="oauth2client.client.Credentials" class="py-name" href="#" onclick="return doclink('link-15', 'Credentials', 'link-4');">Credentials</a></tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Class Method apiclient.http.MediaUpload.new_from_json()=apiclient.http.MediaUpload-class.html#new_from_json,Class Method oauth2client.client.Credentials.new_from_json()=oauth2client.client.Credentials-class.html#new_from_json"><a title="apiclient.http.MediaUpload.new_from_json
-oauth2client.client.Credentials.new_from_json" class="py-name" href="#" onclick="return doclink('link-16', 'new_from_json', 'link-16');">new_from_json</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">      <tt id="link-17" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-17', 'credentials', 'link-10');">credentials</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method oauth2client.client.OAuth2Credentials.set_store()=oauth2client.client.OAuth2Credentials-class.html#set_store"><a title="oauth2client.client.OAuth2Credentials.set_store" class="py-name" href="#" onclick="return doclink('link-18', 'set_store', 'link-18');">set_store</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">      <tt class="py-keyword">pass</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-19" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-19', 'credentials', 'link-10');">credentials</a></tt> </tt>
-</div><a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"> </tt>
-<a name="Storage._create_file_if_needed"></a><div id="Storage._create_file_if_needed-def"><a name="L88"></a><tt class="py-lineno"> 88</tt> <a class="py-toggle" href="#" id="Storage._create_file_if_needed-toggle" onclick="return toggle('Storage._create_file_if_needed');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.file.Storage-class.html#_create_file_if_needed">_create_file_if_needed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage._create_file_if_needed-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Storage._create_file_if_needed-expanded"><a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create an empty file if necessary.</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring">    This method will not initialize the file. Instead it implements a</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">    simple version of "touch" to ensure the file has been created.</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">      <tt class="py-name">old_umask</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">umask</tt><tt class="py-op">(</tt><tt class="py-number">0177</tt><tt class="py-op">)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">,</tt> <tt class="py-string">'a+b'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">      <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">umask</tt><tt class="py-op">(</tt><tt class="py-name">old_umask</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"> </tt>
-<a name="Storage.locked_put"></a><div id="Storage.locked_put-def"><a name="L101"></a><tt class="py-lineno">101</tt> <a class="py-toggle" href="#" id="Storage.locked_put-toggle" onclick="return toggle('Storage.locked_put');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.file.Storage-class.html#locked_put">locked_put</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">credentials</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.locked_put-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Storage.locked_put-expanded"><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">    <tt class="py-docstring">"""Write Credentials to file.</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring">      credentials: Credentials, the credentials to store.</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring">      CredentialsFileSymbolicLinkError if the file is a symbolic link.</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method oauth2client.file.Storage._create_file_if_needed()=oauth2client.file.Storage-class.html#_create_file_if_needed,Method oauth2client.multistore_file._MultiStore._create_file_if_needed()=oauth2client.multistore_file._MultiStore-class.html#_create_file_if_needed"><a title="oauth2client.file.Storage._create_file_if_needed
-oauth2client.multistore_file._MultiStore._create_file_if_needed" class="py-name" href="#" onclick="return doclink('link-20', '_create_file_if_needed', 'link-20');">_create_file_if_needed</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="oauth2client.file.Storage._validate_file" class="py-name" href="#" onclick="return doclink('link-21', '_validate_file', 'link-11');">_validate_file</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">    <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">,</tt> <tt class="py-string">'wb'</tt><tt class="py-op">)</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">    <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt id="link-22" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-22', 'credentials', 'link-10');">credentials</a></tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method apiclient.http.HttpRequest.to_json()=apiclient.http.HttpRequest-class.html#to_json,Method apiclient.http.MediaFileUpload.to_json()=apiclient.http.MediaFileUpload-class.html#to_json,Method apiclient.http.MediaIoBaseUpload.to_json()=apiclient.http.MediaIoBaseUpload-class.html#to_json,Method apiclient.http.MediaUpload.to_json()=apiclient.http.MediaUpload-class.html#to_json,Method oauth2client.client.Credentials.to_json()=oauth2client.client.Credentials-class.html#to_json,Method oauth2client.client.OAuth2Credentials.to_json()=oauth2client.client.OAuth2Credentials-class.html#to_json"><a title="apiclient.http.HttpRequest.to_json
-apiclient.http.MediaFileUpload.to_json
-apiclient.http.MediaIoBaseUpload.to_json
-apiclient.http.MediaUpload.to_json
-oauth2client.client.Credentials.to_json
-oauth2client.client.OAuth2Credentials.to_json" class="py-name" href="#" onclick="return doclink('link-23', 'to_json', 'link-23');">to_json</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">    <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"> </tt>
-<a name="Storage.locked_delete"></a><div id="Storage.locked_delete-def"><a name="L117"></a><tt class="py-lineno">117</tt> <a class="py-toggle" href="#" id="Storage.locked_delete-toggle" onclick="return toggle('Storage.locked_delete');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.file.Storage-class.html#locked_delete">locked_delete</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.locked_delete-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Storage.locked_delete-expanded"><a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">    <tt class="py-docstring">"""Delete Credentials file.</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-docstring">      credentials: Credentials, the credentials to store.</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">    <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">unlink</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.file.CredentialsFileSymbolicLinkError-class.html b/docs/epy/oauth2client.file.CredentialsFileSymbolicLinkError-class.html
deleted file mode 100644
index 449e8d1..0000000
--- a/docs/epy/oauth2client.file.CredentialsFileSymbolicLinkError-class.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.file.CredentialsFileSymbolicLinkError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.file-module.html">Module&nbsp;file</a> ::
-        Class&nbsp;CredentialsFileSymbolicLinkError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.file.CredentialsFileSymbolicLinkError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class CredentialsFileSymbolicLinkError</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.file-pysrc.html#CredentialsFileSymbolicLinkError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_38" name="uml_class_diagram_for_oauth2cl_38">
-<area shape="rect" id="node1" href="oauth2client.file.CredentialsFileSymbolicLinkError-class.html" title="Credentials files must not be symbolic links." alt="" coords="5,379,224,423"/>
-<area shape="rect" id="node196" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="51,316,177,335"/>
-<area shape="rect" id="node196" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="51,335,177,353"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="39,283,188,359"/>
-<area shape="rect" id="node197" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="36,31,193,49"/>
-<area shape="rect" id="node197" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="36,49,193,68"/>
-<area shape="rect" id="node197" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="36,71,193,89"/>
-<area shape="rect" id="node197" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="36,89,193,108"/>
-<area shape="rect" id="node197" href="javascript:void(0);" title="x[y]" alt="" coords="36,108,193,127"/>
-<area shape="rect" id="node197" href="javascript:void(0);" title="x[i:j]" alt="" coords="36,127,193,145"/>
-<area shape="rect" id="node197" href="javascript:void(0);" title="helper for pickle" alt="" coords="36,145,193,164"/>
-<area shape="rect" id="node197" href="javascript:void(0);" title="repr(x)" alt="" coords="36,164,193,183"/>
-<area shape="rect" id="node197" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="36,183,193,201"/>
-<area shape="rect" id="node197" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="36,201,193,220"/>
-<area shape="rect" id="node197" href="javascript:void(0);" title="str(x)" alt="" coords="36,220,193,239"/>
-<area shape="rect" id="node197" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="36,239,193,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="24,6,205,263"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_38.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_38" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Credentials files must not be symbolic links.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.file.Storage-class.html b/docs/epy/oauth2client.file.Storage-class.html
deleted file mode 100644
index c76ee1f..0000000
--- a/docs/epy/oauth2client.file.Storage-class.html
+++ /dev/null
@@ -1,543 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.file.Storage</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.file-module.html">Module&nbsp;file</a> ::
-        Class&nbsp;Storage
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.file.Storage-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Storage</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.file-pysrc.html#Storage">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_39" name="uml_class_diagram_for_oauth2cl_39">
-<area shape="rect" id="node198" href="oauth2client.file.Storage-class.html#__init__" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="17,153,188,172"/>
-<area shape="rect" id="node198" href="oauth2client.file.Storage-class.html#acquire_lock" title="Acquires any lock necessary to access this Storage." alt="" coords="17,172,188,191"/>
-<area shape="rect" id="node198" href="oauth2client.file.Storage-class.html#release_lock" title="Release the Storage lock." alt="" coords="17,191,188,209"/>
-<area shape="rect" id="node198" href="oauth2client.file.Storage-class.html#locked_get" title="Retrieve Credential from file." alt="" coords="17,209,188,228"/>
-<area shape="rect" id="node198" href="oauth2client.file.Storage-class.html#locked_put" title="Write Credentials to file." alt="" coords="17,228,188,247"/>
-<area shape="rect" id="node198" href="oauth2client.file.Storage-class.html#locked_delete" title="Delete Credentials file." alt="" coords="17,247,188,265"/>
-<area shape="rect" id="node1" href="oauth2client.file.Storage-class.html" title="Store and retrieve a single credential to and from a file." alt="" coords="5,121,200,271"/>
-<area shape="rect" id="node199" href="oauth2client.client.Storage-class.html#get" title="Retrieve credential." alt="" coords="40,39,165,57"/>
-<area shape="rect" id="node199" href="oauth2client.client.Storage-class.html#put" title="Write a credential." alt="" coords="40,57,165,76"/>
-<area shape="rect" id="node199" href="oauth2client.client.Storage-class.html#delete" title="Delete credential." alt="" coords="40,76,165,95"/>
-<area shape="rect" id="node2" href="oauth2client.client.Storage-class.html" title="Base class for all Storage objects." alt="" coords="28,6,177,101"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_39.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_39" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Store and retrieve a single credential to and from a file.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.file.Storage-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">filename</span>)</span><br />
-      x.__init__(...) initializes x; see help(type(x)) for signature</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_validate_file"></a><span class="summary-sig-name">_validate_file</span>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.file-pysrc.html#Storage._validate_file">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.file.Storage-class.html#acquire_lock" class="summary-sig-name">acquire_lock</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Acquires any lock necessary to access this Storage.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.acquire_lock">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.file.Storage-class.html#release_lock" class="summary-sig-name">release_lock</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Release the Storage lock.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.release_lock">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.file.Storage-class.html#locked_get" class="summary-sig-name">locked_get</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Retrieve Credential from file.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.locked_get">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.file.Storage-class.html#_create_file_if_needed" class="summary-sig-name" onclick="show_private();">_create_file_if_needed</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Create an empty file if necessary.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.file-pysrc.html#Storage._create_file_if_needed">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.file.Storage-class.html#locked_put" class="summary-sig-name">locked_put</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">credentials</span>)</span><br />
-      Write Credentials to file.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.locked_put">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.file.Storage-class.html#locked_delete" class="summary-sig-name">locked_delete</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Delete Credentials file.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.locked_delete">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Storage-class.html">client.Storage</a></code></b>:
-      <code><a href="oauth2client.client.Storage-class.html#delete">delete</a></code>,
-      <code><a href="oauth2client.client.Storage-class.html#get">get</a></code>,
-      <code><a href="oauth2client.client.Storage-class.html#put">put</a></code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">filename</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-x.__init__(...) initializes x; see help(type(x)) for signature
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="acquire_lock"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">acquire_lock</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.acquire_lock">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Acquires any lock necessary to access this Storage.
-
-This lock is not reentrant.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#acquire_lock">client.Storage.acquire_lock</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="release_lock"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">release_lock</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.release_lock">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Release the Storage lock.
-
-Trying to release a lock that isn't held will result in a
-RuntimeError.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#release_lock">client.Storage.release_lock</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="locked_get"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_get</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.locked_get">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Retrieve Credential from file.
-
-Returns:
-  oauth2client.client.Credentials
-
-Raises:
-  CredentialsFileSymbolicLinkError if the file is a symbolic link.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#locked_get">client.Storage.locked_get</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_create_file_if_needed"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_create_file_if_needed</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.file-pysrc.html#Storage._create_file_if_needed">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Create an empty file if necessary.
-
-This method will not initialize the file. Instead it implements a
-simple version of &quot;touch&quot; to ensure the file has been created.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="locked_put"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_put</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">credentials</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.locked_put">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Write Credentials to file.
-
-Args:
-  credentials: Credentials, the credentials to store.
-
-Raises:
-  CredentialsFileSymbolicLinkError if the file is a symbolic link.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#locked_put">client.Storage.locked_put</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="locked_delete"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_delete</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.locked_delete">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Delete Credentials file.
-
-Args:
-  credentials: Credentials, the credentials to store.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#locked_delete">client.Storage.locked_delete</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.gce-module.html b/docs/epy/oauth2client.gce-module.html
deleted file mode 100644
index e24d7d9..0000000
--- a/docs/epy/oauth2client.gce-module.html
+++ /dev/null
@@ -1,206 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.gce</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;gce
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.gce-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module gce</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.gce-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-Utilities for Google Compute Engine
-
-Utilities for making it easier to use OAuth 2.0 on Google Compute Engine.
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        jcgregorio@google.com (Joe Gregorio)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.gce.AppAssertionCredentials-class.html" class="summary-name">AppAssertionCredentials</a><br />
-      Credentials object for Compute Engine Assertion Grants
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.gce-module.html#META" class="summary-name">META</a> = <code title="'http://metadata.google.internal/0.1/meta-data/service-accounts/' 'def\
-ault/acquire{?scope}'">'http://metadata.google.internal/0.1/meta-data/service-<code class="variable-ellipsis">...</code></code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-VariablesDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="META"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <h3 class="epydoc">META</h3>
-  
-  <dl class="fields">
-  </dl>
-  <dl class="fields">
-    <dt>Value:</dt>
-      <dd><table><tr><td><pre class="variable">
-'http://metadata.google.internal/0.1/meta-data/service-accounts/' 'def<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-ault/acquire{?scope}'
-</pre></td></tr></table>
-</dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.gce-pysrc.html b/docs/epy/oauth2client.gce-pysrc.html
deleted file mode 100644
index 7546ae6..0000000
--- a/docs/epy/oauth2client.gce-pysrc.html
+++ /dev/null
@@ -1,250 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.gce</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;gce
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.gce-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="oauth2client.gce-module.html">Module oauth2client.gce</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2012 Google Inc.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">"""Utilities for Google Compute Engine</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">Utilities for making it easier to use OAuth 2.0 on Google Compute Engine.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">httplib2</tt> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">uritemplate</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package oauth2client=oauth2client-module.html"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-0', 'oauth2client', 'link-0');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module oauth2client.util=oauth2client.util-module.html"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-1', 'util', 'link-1');">util</a></tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-2', 'oauth2client', 'link-0');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module oauth2client.anyjson=oauth2client.anyjson-module.html"><a title="oauth2client.anyjson" class="py-name" href="#" onclick="return doclink('link-3', 'anyjson', 'link-3');">anyjson</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-4', 'oauth2client', 'link-0');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module oauth2client.client=oauth2client.client-module.html"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-5', 'client', 'link-5');">client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class oauth2client.client.AccessTokenRefreshError=oauth2client.client.AccessTokenRefreshError-class.html"><a title="oauth2client.client.AccessTokenRefreshError" class="py-name" href="#" onclick="return doclink('link-6', 'AccessTokenRefreshError', 'link-6');">AccessTokenRefreshError</a></tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-7', 'oauth2client', 'link-0');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-8', 'client', 'link-5');">client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Class oauth2client.client.AssertionCredentials=oauth2client.client.AssertionCredentials-class.html"><a title="oauth2client.client.AssertionCredentials" class="py-name" href="#" onclick="return doclink('link-9', 'AssertionCredentials', 'link-9');">AssertionCredentials</a></tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"><tt id="link-10" class="py-name" targets="Variable apiclient.discovery.logger=apiclient.discovery-module.html#logger,Variable oauth2client.appengine.logger=oauth2client.appengine-module.html#logger,Variable oauth2client.client.logger=oauth2client.client-module.html#logger,Variable oauth2client.crypt.logger=oauth2client.crypt-module.html#logger,Variable oauth2client.gce.logger=oauth2client.gce-module.html#logger,Variable oauth2client.locked_file.logger=oauth2client.locked_file-module.html#logger,Variable oauth2client.multistore_file.logger=oauth2client.multistore_file-module.html#logger,Variable oauth2client.util.logger=oauth2client.util-module.html#logger"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-10', 'logger', 'link-10');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-name">__name__</tt><tt class="py-op">)</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line"> </tt>
-<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"><tt class="py-comment"># URI Template for the endpoint that returns access_tokens.</tt> </tt>
-<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"><tt id="link-11" class="py-name" targets="Variable oauth2client.gce.META=oauth2client.gce-module.html#META"><a title="oauth2client.gce.META" class="py-name" href="#" onclick="return doclink('link-11', 'META', 'link-11');">META</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'http://metadata.google.internal/0.1/meta-data/service-accounts/'</tt> </tt>
-<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">        <tt class="py-string">'default/acquire{?scope}'</tt><tt class="py-op">)</tt> </tt>
-<a name="AppAssertionCredentials"></a><div id="AppAssertionCredentials-def"><a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"> </tt>
-<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"> </tt>
-<a name="L38"></a><tt class="py-lineno">38</tt> <a class="py-toggle" href="#" id="AppAssertionCredentials-toggle" onclick="return toggle('AppAssertionCredentials');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.gce.AppAssertionCredentials-class.html">AppAssertionCredentials</a><tt class="py-op">(</tt><tt class="py-base-class">AssertionCredentials</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AppAssertionCredentials-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="AppAssertionCredentials-expanded"><a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">  <tt class="py-docstring">"""Credentials object for Compute Engine Assertion Grants</tt> </tt>
-<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"><tt class="py-docstring">  This object will allow a Compute Engine instance to identify itself to</tt> </tt>
-<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line"><tt class="py-docstring">  Google and other OAuth 2.0 servers that can verify assertions. It can be used</tt> </tt>
-<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line"><tt class="py-docstring">  for the purpose of accessing data stored under an account assigned to the</tt> </tt>
-<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line"><tt class="py-docstring">  Compute Engine instance itself.</tt> </tt>
-<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line"><tt class="py-docstring">  This credential does not require a flow to instantiate because it represents</tt> </tt>
-<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line"><tt class="py-docstring">  a two legged flow, and therefore has all of the required information to</tt> </tt>
-<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line"><tt class="py-docstring">  generate and refresh its own access tokens.</tt> </tt>
-<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"> </tt>
-<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Function oauth2client.util.positional()=oauth2client.util-module.html#positional"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-12', 'positional', 'link-12');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="AppAssertionCredentials.__init__"></a><div id="AppAssertionCredentials.__init__-def"><a name="L52"></a><tt class="py-lineno">52</tt> <a class="py-toggle" href="#" id="AppAssertionCredentials.__init__-toggle" onclick="return toggle('AppAssertionCredentials.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.gce.AppAssertionCredentials-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">scope</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AppAssertionCredentials.__init__-collapsed" style="display:none;" pad="++" indent="++++++"></div><div id="AppAssertionCredentials.__init__-expanded"><a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for AppAssertionCredentials</tt> </tt>
-<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line"><tt class="py-docstring">      scope: string or iterable of strings, scope(s) of the credentials being</tt> </tt>
-<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line"><tt class="py-docstring">        requested.</tt> </tt>
-<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">scope</tt> <tt class="py-op">=</tt> <tt id="link-13" class="py-name"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-13', 'util', 'link-1');">util</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Function oauth2client.util.scopes_to_string()=oauth2client.util-module.html#scopes_to_string"><a title="oauth2client.util.scopes_to_string" class="py-name" href="#" onclick="return doclink('link-14', 'scopes_to_string', 'link-14');">scopes_to_string</a></tt><tt class="py-op">(</tt><tt class="py-name">scope</tt><tt class="py-op">)</tt> </tt>
-<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line"> </tt>
-<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">    <tt class="py-comment"># Assertion type is no longer used, but still in the parent class signature.</tt> </tt>
-<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-15" class="py-name" targets="Class oauth2client.appengine.AppAssertionCredentials=oauth2client.appengine.AppAssertionCredentials-class.html,Class oauth2client.gce.AppAssertionCredentials=oauth2client.gce.AppAssertionCredentials-class.html"><a title="oauth2client.appengine.AppAssertionCredentials
-oauth2client.gce.AppAssertionCredentials" class="py-name" href="#" onclick="return doclink('link-15', 'AppAssertionCredentials', 'link-15');">AppAssertionCredentials</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method apiclient.channel.Channel.__init__()=apiclient.channel.Channel-class.html#__init__,Method apiclient.channel.Notification.__init__()=apiclient.channel.Notification-class.html#__init__,Method apiclient.discovery.Resource.__init__()=apiclient.discovery.Resource-class.html#__init__,Method apiclient.discovery.ResourceMethodParameters.__init__()=apiclient.discovery.ResourceMethodParameters-class.html#__init__,Method apiclient.errors.BatchError.__init__()=apiclient.errors.BatchError-class.html#__init__,Method apiclient.errors.HttpError.__init__()=apiclient.errors.HttpError-class.html#__init__,Method apiclient.errors.UnexpectedBodyError.__init__()=apiclient.errors.UnexpectedBodyError-class.html#__init__,Method apiclient.errors.UnexpectedMethodError.__init__()=apiclient.errors.UnexpectedMethodError-class.html#__init__,Method apiclient.http.BatchHttpRequest.__init__()=apiclient.http.BatchHttpRequest-class.html#__init__,Method apiclient.http.HttpMock.__init__()=apiclient.http.HttpMock-class.html#__init__,Method apiclient.http.HttpMockSequence.__init__()=apiclient.http.HttpMockSequence-class.html#__init__,Method apiclient.http.HttpRequest.__init__()=apiclient.http.HttpRequest-class.html#__init__,Method apiclient.http.HttpRequestMock.__init__()=apiclient.http.HttpRequestMock-class.html#__init__,Method apiclient.http.MediaDownloadProgress.__init__()=apiclient.http.MediaDownloadProgress-class.html#__init__,Method apiclient.http.MediaFileUpload.__init__()=apiclient.http.MediaFileUpload-class.html#__init__,Method apiclient.http.MediaInMemoryUpload.__init__()=apiclient.http.MediaInMemoryUpload-class.html#__init__,Method apiclient.http.MediaIoBaseDownload.__init__()=apiclient.http.MediaIoBaseDownload-class.html#__init__,Method apiclient.http.MediaIoBaseUpload.__init__()=apiclient.http.MediaIoBaseUpload-class.html#__init__,Method apiclient.http.MediaUploadProgress.__init__()=apiclient.http.MediaUploadProgress-class.html#__init__,Method apiclient.http.RequestMockBuilder.__init__()=apiclient.http.RequestMockBuilder-class.html#__init__,Method apiclient.http._StreamSlice.__init__()=apiclient.http._StreamSlice-class.html#__init__,Method apiclient.model.JsonModel.__init__()=apiclient.model.JsonModel-class.html#__init__,Method apiclient.model.ProtocolBufferModel.__init__()=apiclient.model.ProtocolBufferModel-class.html#__init__,Method apiclient.schema.Schemas.__init__()=apiclient.schema.Schemas-class.html#__init__,Method apiclient.schema._SchemaToStruct.__init__()=apiclient.schema._SchemaToStruct-class.html#__init__,Method oauth2client.appengine.AppAssertionCredentials.__init__()=oauth2client.appengine.AppAssertionCredentials-class.html#__init__,Method oauth2client.appengine.OAuth2Decorator.__init__()=oauth2client.appengine.OAuth2Decorator-class.html#__init__,Method oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__()=oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html#__init__,Method oauth2client.appengine.StorageByKeyName.__init__()=oauth2client.appengine.StorageByKeyName-class.html#__init__,Method oauth2client.client.AccessTokenCredentials.__init__()=oauth2client.client.AccessTokenCredentials-class.html#__init__,Method oauth2client.client.AssertionCredentials.__init__()=oauth2client.client.AssertionCredentials-class.html#__init__,Method oauth2client.client.MemoryCache.__init__()=oauth2client.client.MemoryCache-class.html#__init__,Method oauth2client.client.OAuth2Credentials.__init__()=oauth2client.client.OAuth2Credentials-class.html#__init__,Method oauth2client.client.OAuth2WebServerFlow.__init__()=oauth2client.client.OAuth2WebServerFlow-class.html#__init__,Method oauth2client.client.SignedJwtAssertionCredentials.__init__()=oauth2client.client.SignedJwtAssertionCredentials-class.html#__init__,Method oauth2client.django_orm.CredentialsField.__init__()=oauth2client.django_orm.CredentialsField-class.html#__init__,Method oauth2client.django_orm.FlowField.__init__()=oauth2client.django_orm.FlowField-class.html#__init__,Method oauth2client.django_orm.Storage.__init__()=oauth2client.django_orm.Storage-class.html#__init__,Method oauth2client.file.Storage.__init__()=oauth2client.file.Storage-class.html#__init__,Method oauth2client.gce.AppAssertionCredentials.__init__()=oauth2client.gce.AppAssertionCredentials-class.html#__init__,Method oauth2client.keyring_storage.Storage.__init__()=oauth2client.keyring_storage.Storage-class.html#__init__,Method oauth2client.locked_file.LockedFile.__init__()=oauth2client.locked_file.LockedFile-class.html#__init__,Method oauth2client.locked_file._Opener.__init__()=oauth2client.locked_file._Opener-class.html#__init__,Method oauth2client.multistore_file._MultiStore._Storage.__init__()=oauth2client.multistore_file._MultiStore._Storage-class.html#__init__,Method oauth2client.multistore_file._MultiStore.__init__()=oauth2client.multistore_file._MultiStore-class.html#__init__"><a title="apiclient.channel.Channel.__init__
-apiclient.channel.Notification.__init__
-apiclient.discovery.Resource.__init__
-apiclient.discovery.ResourceMethodParameters.__init__
-apiclient.errors.BatchError.__init__
-apiclient.errors.HttpError.__init__
-apiclient.errors.UnexpectedBodyError.__init__
-apiclient.errors.UnexpectedMethodError.__init__
-apiclient.http.BatchHttpRequest.__init__
-apiclient.http.HttpMock.__init__
-apiclient.http.HttpMockSequence.__init__
-apiclient.http.HttpRequest.__init__
-apiclient.http.HttpRequestMock.__init__
-apiclient.http.MediaDownloadProgress.__init__
-apiclient.http.MediaFileUpload.__init__
-apiclient.http.MediaInMemoryUpload.__init__
-apiclient.http.MediaIoBaseDownload.__init__
-apiclient.http.MediaIoBaseUpload.__init__
-apiclient.http.MediaUploadProgress.__init__
-apiclient.http.RequestMockBuilder.__init__
-apiclient.http._StreamSlice.__init__
-apiclient.model.JsonModel.__init__
-apiclient.model.ProtocolBufferModel.__init__
-apiclient.schema.Schemas.__init__
-apiclient.schema._SchemaToStruct.__init__
-oauth2client.appengine.AppAssertionCredentials.__init__
-oauth2client.appengine.OAuth2Decorator.__init__
-oauth2client.appengine.OAuth2DecoratorFromClientSecrets.__init__
-oauth2client.appengine.StorageByKeyName.__init__
-oauth2client.client.AccessTokenCredentials.__init__
-oauth2client.client.AssertionCredentials.__init__
-oauth2client.client.MemoryCache.__init__
-oauth2client.client.OAuth2Credentials.__init__
-oauth2client.client.OAuth2WebServerFlow.__init__
-oauth2client.client.SignedJwtAssertionCredentials.__init__
-oauth2client.django_orm.CredentialsField.__init__
-oauth2client.django_orm.FlowField.__init__
-oauth2client.django_orm.Storage.__init__
-oauth2client.file.Storage.__init__
-oauth2client.gce.AppAssertionCredentials.__init__
-oauth2client.keyring_storage.Storage.__init__
-oauth2client.locked_file.LockedFile.__init__
-oauth2client.locked_file._Opener.__init__
-oauth2client.multistore_file._MultiStore._Storage.__init__
-oauth2client.multistore_file._MultiStore.__init__" class="py-name" href="#" onclick="return doclink('link-16', '__init__', 'link-16');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line"> </tt>
-<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">classmethod</tt> </tt>
-<a name="AppAssertionCredentials.from_json"></a><div id="AppAssertionCredentials.from_json-def"><a name="L65"></a><tt class="py-lineno">65</tt> <a class="py-toggle" href="#" id="AppAssertionCredentials.from_json-toggle" onclick="return toggle('AppAssertionCredentials.from_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.gce.AppAssertionCredentials-class.html#from_json">from_json</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">json</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AppAssertionCredentials.from_json-collapsed" style="display:none;" pad="++" indent="++++++"></div><div id="AppAssertionCredentials.from_json-expanded"><a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line">    <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Function oauth2client.clientsecrets.loads()=oauth2client.clientsecrets-module.html#loads"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-17', 'loads', 'link-17');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">json</tt><tt class="py-op">)</tt> </tt>
-<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-18" class="py-name"><a title="oauth2client.appengine.AppAssertionCredentials
-oauth2client.gce.AppAssertionCredentials" class="py-name" href="#" onclick="return doclink('link-18', 'AppAssertionCredentials', 'link-15');">AppAssertionCredentials</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'scope'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line"> </tt>
-<a name="AppAssertionCredentials._refresh"></a><div id="AppAssertionCredentials._refresh-def"><a name="L69"></a><tt class="py-lineno">69</tt> <a class="py-toggle" href="#" id="AppAssertionCredentials._refresh-toggle" onclick="return toggle('AppAssertionCredentials._refresh');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.gce.AppAssertionCredentials-class.html#_refresh">_refresh</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http_request</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AppAssertionCredentials._refresh-collapsed" style="display:none;" pad="++" indent="++++++"></div><div id="AppAssertionCredentials._refresh-expanded"><a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line">    <tt class="py-docstring">"""Refreshes the access_token.</tt> </tt>
-<a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line"><tt class="py-docstring">    Skip all the storage hoops and just refresh using the API.</tt> </tt>
-<a name="L73"></a><tt class="py-lineno">73</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L75"></a><tt class="py-lineno">75</tt>  <tt class="py-line"><tt class="py-docstring">      http_request: callable, a callable that matches the method signature of</tt> </tt>
-<a name="L76"></a><tt class="py-lineno">76</tt>  <tt class="py-line"><tt class="py-docstring">        httplib2.Http.request, used to make the refresh request.</tt> </tt>
-<a name="L77"></a><tt class="py-lineno">77</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L78"></a><tt class="py-lineno">78</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L79"></a><tt class="py-lineno">79</tt>  <tt class="py-line"><tt class="py-docstring">      AccessTokenRefreshError: When the refresh fails.</tt> </tt>
-<a name="L80"></a><tt class="py-lineno">80</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L81"></a><tt class="py-lineno">81</tt>  <tt class="py-line">    <tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">uritemplate</tt><tt class="py-op">.</tt><tt class="py-name">expand</tt><tt class="py-op">(</tt><tt id="link-19" class="py-name"><a title="oauth2client.gce.META" class="py-name" href="#" onclick="return doclink('link-19', 'META', 'link-11');">META</a></tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-string">'scope'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">scope</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L82"></a><tt class="py-lineno">82</tt>  <tt class="py-line">    <tt id="link-20" class="py-name" targets="Method apiclient.model.BaseModel.response()=apiclient.model.BaseModel-class.html#response,Method apiclient.model.Model.response()=apiclient.model.Model-class.html#response"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-20', 'response', 'link-20');">response</a></tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">http_request</tt><tt class="py-op">(</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L83"></a><tt class="py-lineno">83</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-21" class="py-name"><a title="apiclient.model.BaseModel.response
-apiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-21', 'response', 'link-20');">response</a></tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">200</tt><tt class="py-op">:</tt> </tt>
-<a name="L84"></a><tt class="py-lineno">84</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L85"></a><tt class="py-lineno">85</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-22', 'loads', 'link-17');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L86"></a><tt class="py-lineno">86</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt> <tt class="py-name">StandardError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L87"></a><tt class="py-lineno">87</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt id="link-23" class="py-name"><a title="oauth2client.client.AccessTokenRefreshError" class="py-name" href="#" onclick="return doclink('link-23', 'AccessTokenRefreshError', 'link-6');">AccessTokenRefreshError</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L88"></a><tt class="py-lineno">88</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">access_token</tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'accessToken'</tt><tt class="py-op">]</tt> </tt>
-<a name="L89"></a><tt class="py-lineno">89</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L90"></a><tt class="py-lineno">90</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-24" class="py-name"><a title="oauth2client.client.AccessTokenRefreshError" class="py-name" href="#" onclick="return doclink('link-24', 'AccessTokenRefreshError', 'link-6');">AccessTokenRefreshError</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L91"></a><tt class="py-lineno">91</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.gce.AppAssertionCredentials-class.html b/docs/epy/oauth2client.gce.AppAssertionCredentials-class.html
deleted file mode 100644
index e4dad8b..0000000
--- a/docs/epy/oauth2client.gce.AppAssertionCredentials-class.html
+++ /dev/null
@@ -1,453 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.gce.AppAssertionCredentials</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.gce-module.html">Module&nbsp;gce</a> ::
-        Class&nbsp;AppAssertionCredentials
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.gce.AppAssertionCredentials-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class AppAssertionCredentials</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.gce-pysrc.html#AppAssertionCredentials">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_40" name="uml_class_diagram_for_oauth2cl_40">
-<area shape="rect" id="node200" href="oauth2client.gce.AppAssertionCredentials-class.html#__init__" title="Constructor for AppAssertionCredentials" alt="" coords="25,420,209,439"/>
-<area shape="rect" id="node200" href="oauth2client.gce.AppAssertionCredentials-class.html#from_json" title="Instantiate a Credentials object from a JSON description of it." alt="" coords="25,439,209,457"/>
-<area shape="rect" id="node1" href="oauth2client.gce.AppAssertionCredentials-class.html" title="Credentials object for Compute Engine Assertion Grants" alt="" coords="13,387,221,463"/>
-<area shape="rect" id="node2" href="oauth2client.client.AssertionCredentials-class.html" title="Abstract Credentials object used for OAuth 2.0 assertion grants." alt="" coords="25,323,207,367"/>
-<area shape="rect" id="node202" href="oauth2client.client.OAuth2Credentials-class.html#authorize" title="Authorize an httplib2.Http instance with these credentials." alt="" coords="33,129,200,148"/>
-<area shape="rect" id="node202" href="oauth2client.client.OAuth2Credentials-class.html#refresh" title="Forces a refresh of the access_token." alt="" coords="33,148,200,167"/>
-<area shape="rect" id="node202" href="oauth2client.client.OAuth2Credentials-class.html#revoke" title="Revokes a refresh_token and makes the credentials void." alt="" coords="33,167,200,185"/>
-<area shape="rect" id="node202" href="oauth2client.client.OAuth2Credentials-class.html#apply" title="Add the authorization to the headers." alt="" coords="33,185,200,204"/>
-<area shape="rect" id="node202" href="oauth2client.client.OAuth2Credentials-class.html#to_json" title="Creating a JSON representation of an instance of Credentials." alt="" coords="33,204,200,223"/>
-<area shape="rect" id="node202" href="oauth2client.client.OAuth2Credentials-class.html#access_token_expired" title="True if the credential is expired or invalid." alt="" coords="33,223,200,241"/>
-<area shape="rect" id="node202" href="oauth2client.client.OAuth2Credentials-class.html#set_store" title="Set the Storage for the credential." alt="" coords="33,241,200,260"/>
-<area shape="rect" id="node202" href="oauth2client.client.OAuth2Credentials-class.html#__getstate__" title="Trim the state down to something that can be pickled." alt="" coords="33,260,200,279"/>
-<area shape="rect" id="node202" href="oauth2client.client.OAuth2Credentials-class.html#__setstate__" title="Reconstitute the state of the object from being pickled." alt="" coords="33,279,200,297"/>
-<area shape="rect" id="node3" href="oauth2client.client.OAuth2Credentials-class.html" title="Credentials object for OAuth 2.0." alt="" coords="21,97,211,303"/>
-<area shape="rect" id="node203" href="oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS" title="oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS" alt="" coords="17,31,216,49"/>
-<area shape="rect" id="node203" href="oauth2client.client.Credentials-class.html#new_from_json" title="Utility class method to instantiate a Credentials subclass from a JSON representation produced by to_json()." alt="" coords="17,52,216,71"/>
-<area shape="rect" id="node4" href="oauth2client.client.Credentials-class.html" title="Base class for all Credentials objects." alt="" coords="5,6,227,77"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_40.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_40" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Credentials object for Compute Engine Assertion Grants
-
-This object will allow a Compute Engine instance to identify itself to
-Google and other OAuth 2.0 servers that can verify assertions. It can be used
-for the purpose of accessing data stored under an account assigned to the
-Compute Engine instance itself.
-
-This credential does not require a flow to instantiate because it represents
-a two legged flow, and therefore has all of the required information to
-generate and refresh its own access tokens.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.gce.AppAssertionCredentials-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">scope</span>,
-        <span class="summary-sig-arg">**kwargs</span>)</span><br />
-      Constructor for AppAssertionCredentials</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.gce-pysrc.html#AppAssertionCredentials.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.gce.AppAssertionCredentials-class.html#_refresh" class="summary-sig-name" onclick="show_private();">_refresh</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">http_request</span>)</span><br />
-      Refreshes the access_token.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.gce-pysrc.html#AppAssertionCredentials._refresh">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.AssertionCredentials-class.html">client.AssertionCredentials</a></code></b> (private):
-      <code><a href="oauth2client.client.AssertionCredentials-class.html#_generate_assertion" onclick="show_private();">_generate_assertion</a></code>,
-      <code><a href="oauth2client.client.AssertionCredentials-class.html#_generate_refresh_request_body" onclick="show_private();">_generate_refresh_request_body</a></code>,
-      <code><a href="oauth2client.client.AssertionCredentials-class.html#_revoke" onclick="show_private();">_revoke</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.OAuth2Credentials-class.html">client.OAuth2Credentials</a></code></b>:
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#__getstate__">__getstate__</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#__setstate__">__setstate__</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#access_token_expired">access_token_expired</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#apply">apply</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#authorize">authorize</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#refresh">refresh</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#revoke">revoke</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#set_store">set_store</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#to_json">to_json</a></code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.OAuth2Credentials-class.html">client.OAuth2Credentials</a></code></b> (private):
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_do_refresh_request" onclick="show_private();">_do_refresh_request</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_do_revoke" onclick="show_private();">_do_revoke</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_headers" onclick="show_private();">_generate_refresh_request_headers</a></code>,
-      <code><a href="oauth2client.client.OAuth2Credentials-class.html#_updateFromCredential" onclick="show_private();">_updateFromCredential</a></code>
-      </p></div>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">client.Credentials</a></code></b> (private):
-      <code><a href="oauth2client.client.Credentials-class.html#_to_json" onclick="show_private();">_to_json</a></code>
-      </p></div>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.gce.AppAssertionCredentials-class.html#from_json" class="summary-sig-name">from_json</a>(<span class="summary-sig-arg">cls</span>,
-        <span class="summary-sig-arg">json</span>)</span><br />
-      Instantiate a Credentials object from a JSON description of it.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.gce-pysrc.html#AppAssertionCredentials.from_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">client.Credentials</a></code></b>:
-      <code><a href="oauth2client.client.Credentials-class.html#new_from_json">new_from_json</a></code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">client.Credentials</a></code></b>:
-      <code><a href="oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS">NON_SERIALIZED_MEMBERS</a></code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">scope</span>,
-        <span class="sig-arg">**kwargs</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.gce-pysrc.html#AppAssertionCredentials.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor for AppAssertionCredentials
-
-Args:
-  scope: string or iterable of strings, scope(s) of the credentials being
-    requested.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="from_json"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">from_json</span>(<span class="sig-arg">cls</span>,
-        <span class="sig-arg">json</span>)</span>
-    <br /><em class="fname">Class Method</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.gce-pysrc.html#AppAssertionCredentials.from_json">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Instantiate a Credentials object from a JSON description of it. The JSON
-should have been produced by calling .to_json() on the object.
-
-Args:
-  data: dict, A deserialized JSON object.
-
-Returns:
-  An instance of a Credentials subclass.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Credentials-class.html#from_json">client.Credentials.from_json</a>
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_refresh"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_refresh</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">http_request</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.gce-pysrc.html#AppAssertionCredentials._refresh">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Refreshes the access_token.
-
-Skip all the storage hoops and just refresh using the API.
-
-Args:
-  http_request: callable, a callable that matches the method signature of
-    httplib2.Http.request, used to make the refresh request.
-
-Raises:
-  AccessTokenRefreshError: When the refresh fails.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.OAuth2Credentials-class.html#_refresh" onclick="show_private();">client.OAuth2Credentials._refresh</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.keyring_storage-module.html b/docs/epy/oauth2client.keyring_storage-module.html
deleted file mode 100644
index cd7779a..0000000
--- a/docs/epy/oauth2client.keyring_storage-module.html
+++ /dev/null
@@ -1,135 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.keyring_storage</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;keyring_storage
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.keyring_storage-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module keyring_storage</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.keyring_storage-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-A keyring based Storage.
-
-A Storage for Credentials that uses the keyring module.
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        jcgregorio@google.com (Joe Gregorio)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.keyring_storage.Storage-class.html" class="summary-name">Storage</a><br />
-      Store and retrieve a single credential to and from the keyring.
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.keyring_storage-pysrc.html b/docs/epy/oauth2client.keyring_storage-pysrc.html
deleted file mode 100644
index 466aa16..0000000
--- a/docs/epy/oauth2client.keyring_storage-pysrc.html
+++ /dev/null
@@ -1,233 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.keyring_storage</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;keyring_storage
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.keyring_storage-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="oauth2client.keyring_storage-module.html">Module oauth2client.keyring_storage</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2012 Google Inc.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">"""A keyring based Storage.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">A Storage for Credentials that uses the keyring module.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">keyring</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">threading</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module oauth2client.client=oauth2client.client-module.html"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-0', 'client', 'link-0');">client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Class oauth2client.client.Storage=oauth2client.client.Storage-class.html,Class oauth2client.django_orm.Storage=oauth2client.django_orm.Storage-class.html,Class oauth2client.file.Storage=oauth2client.file.Storage-class.html,Class oauth2client.keyring_storage.Storage=oauth2client.keyring_storage.Storage-class.html"><a title="oauth2client.client.Storage
-oauth2client.django_orm.Storage
-oauth2client.file.Storage
-oauth2client.keyring_storage.Storage" class="py-name" href="#" onclick="return doclink('link-1', 'Storage', 'link-1');">Storage</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">BaseStorage</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-2', 'client', 'link-0');">client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class oauth2client.client.Credentials=oauth2client.client.Credentials-class.html"><a title="oauth2client.client.Credentials" class="py-name" href="#" onclick="return doclink('link-3', 'Credentials', 'link-3');">Credentials</a></tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
-<a name="Storage"></a><div id="Storage-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="Storage-toggle" onclick="return toggle('Storage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.keyring_storage.Storage-class.html">Storage</a><tt class="py-op">(</tt><tt class="py-base-class">BaseStorage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Storage-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">  <tt class="py-docstring">"""Store and retrieve a single credential to and from the keyring.</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring">  To use this module you must have the keyring module installed. See</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-docstring">  &lt;http://pypi.python.org/pypi/keyring/&gt;. This is an optional module and is not</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring">  installed with oauth2client by default because it does not work on all the</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-docstring">  platforms that oauth2client supports, such as Google App Engine.</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-docstring">  The keyring module &lt;http://pypi.python.org/pypi/keyring/&gt; is a cross-platform</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-docstring">  library for access the keyring capabilities of the local system. The user will</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-docstring">  be prompted for their keyring password when this module is used, and the</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-docstring">  manner in which the user is prompted will vary per platform.</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-docstring">  Usage:</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-docstring">    from oauth2client.keyring_storage import Storage</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">    s = Storage('name_of_application', 'user1')</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">    credentials = s.get()</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"> </tt>
-<a name="Storage.__init__"></a><div id="Storage.__init__-def"><a name="L50"></a><tt class="py-lineno"> 50</tt> <a class="py-toggle" href="#" id="Storage.__init__-toggle" onclick="return toggle('Storage.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.keyring_storage.Storage-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">service_name</tt><tt class="py-op">,</tt> <tt class="py-param">user_name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Storage.__init__-expanded"><a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">      service_name: string, The name of the service under which the credentials</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">        are stored.</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">      user_name: string, The name of the user to store credentials for.</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_service_name</tt> <tt class="py-op">=</tt> <tt class="py-name">service_name</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_user_name</tt> <tt class="py-op">=</tt> <tt class="py-name">user_name</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method oauth2client.multistore_file._MultiStore._lock()=oauth2client.multistore_file._MultiStore-class.html#_lock"><a title="oauth2client.multistore_file._MultiStore._lock" class="py-name" href="#" onclick="return doclink('link-4', '_lock', 'link-4');">_lock</a></tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Lock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
-<a name="Storage.acquire_lock"></a><div id="Storage.acquire_lock-def"><a name="L62"></a><tt class="py-lineno"> 62</tt> <a class="py-toggle" href="#" id="Storage.acquire_lock-toggle" onclick="return toggle('Storage.acquire_lock');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.keyring_storage.Storage-class.html#acquire_lock">acquire_lock</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.acquire_lock-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Storage.acquire_lock-expanded"><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">    <tt class="py-docstring">"""Acquires any lock necessary to access this Storage.</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">    This lock is not reentrant."""</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="oauth2client.multistore_file._MultiStore._lock" class="py-name" href="#" onclick="return doclink('link-5', '_lock', 'link-4');">_lock</a></tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"> </tt>
-<a name="Storage.release_lock"></a><div id="Storage.release_lock-def"><a name="L68"></a><tt class="py-lineno"> 68</tt> <a class="py-toggle" href="#" id="Storage.release_lock-toggle" onclick="return toggle('Storage.release_lock');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.keyring_storage.Storage-class.html#release_lock">release_lock</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.release_lock-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Storage.release_lock-expanded"><a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">    <tt class="py-docstring">"""Release the Storage lock.</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-docstring">    Trying to release a lock that isn't held will result in a</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">    RuntimeError.</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="oauth2client.multistore_file._MultiStore._lock" class="py-name" href="#" onclick="return doclink('link-6', '_lock', 'link-4');">_lock</a></tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"> </tt>
-<a name="Storage.locked_get"></a><div id="Storage.locked_get-def"><a name="L76"></a><tt class="py-lineno"> 76</tt> <a class="py-toggle" href="#" id="Storage.locked_get-toggle" onclick="return toggle('Storage.locked_get');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.keyring_storage.Storage-class.html#locked_get">locked_get</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.locked_get-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Storage.locked_get-expanded"><a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">    <tt class="py-docstring">"""Retrieve Credential from file.</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">      oauth2client.client.Credentials</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">    <tt id="link-7" class="py-name" targets="Variable oauth2client.appengine.CredentialsModel.credentials=oauth2client.appengine.CredentialsModel-class.html#credentials,Variable oauth2client.appengine.CredentialsNDBModel.credentials=oauth2client.appengine.CredentialsNDBModel-class.html#credentials,Variable oauth2client.appengine.OAuth2Decorator.credentials=oauth2client.appengine.OAuth2Decorator-class.html#credentials"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-7', 'credentials', 'link-7');">credentials</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">    <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">keyring</tt><tt class="py-op">.</tt><tt class="py-name">get_password</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_service_name</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_user_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">content</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt id="link-8" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-8', 'credentials', 'link-7');">credentials</a></tt> <tt class="py-op">=</tt> <tt id="link-9" class="py-name"><a title="oauth2client.client.Credentials" class="py-name" href="#" onclick="return doclink('link-9', 'Credentials', 'link-3');">Credentials</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Class Method apiclient.http.MediaUpload.new_from_json()=apiclient.http.MediaUpload-class.html#new_from_json,Class Method oauth2client.client.Credentials.new_from_json()=oauth2client.client.Credentials-class.html#new_from_json"><a title="apiclient.http.MediaUpload.new_from_json
-oauth2client.client.Credentials.new_from_json" class="py-name" href="#" onclick="return doclink('link-10', 'new_from_json', 'link-10');">new_from_json</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt id="link-11" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-11', 'credentials', 'link-7');">credentials</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method oauth2client.client.OAuth2Credentials.set_store()=oauth2client.client.OAuth2Credentials-class.html#set_store"><a title="oauth2client.client.OAuth2Credentials.set_store" class="py-name" href="#" onclick="return doclink('link-12', 'set_store', 'link-12');">set_store</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-13" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-13', 'credentials', 'link-7');">credentials</a></tt> </tt>
-</div><a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"> </tt>
-<a name="Storage.locked_put"></a><div id="Storage.locked_put-def"><a name="L94"></a><tt class="py-lineno"> 94</tt> <a class="py-toggle" href="#" id="Storage.locked_put-toggle" onclick="return toggle('Storage.locked_put');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.keyring_storage.Storage-class.html#locked_put">locked_put</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">credentials</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.locked_put-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Storage.locked_put-expanded"><a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">    <tt class="py-docstring">"""Write Credentials to file.</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-docstring">      credentials: Credentials, the credentials to store.</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">    <tt class="py-name">keyring</tt><tt class="py-op">.</tt><tt class="py-name">set_password</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_service_name</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_user_name</tt><tt class="py-op">,</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                         <tt id="link-14" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-14', 'credentials', 'link-7');">credentials</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method apiclient.http.HttpRequest.to_json()=apiclient.http.HttpRequest-class.html#to_json,Method apiclient.http.MediaFileUpload.to_json()=apiclient.http.MediaFileUpload-class.html#to_json,Method apiclient.http.MediaIoBaseUpload.to_json()=apiclient.http.MediaIoBaseUpload-class.html#to_json,Method apiclient.http.MediaUpload.to_json()=apiclient.http.MediaUpload-class.html#to_json,Method oauth2client.client.Credentials.to_json()=oauth2client.client.Credentials-class.html#to_json,Method oauth2client.client.OAuth2Credentials.to_json()=oauth2client.client.OAuth2Credentials-class.html#to_json"><a title="apiclient.http.HttpRequest.to_json
-apiclient.http.MediaFileUpload.to_json
-apiclient.http.MediaIoBaseUpload.to_json
-apiclient.http.MediaUpload.to_json
-oauth2client.client.Credentials.to_json
-oauth2client.client.OAuth2Credentials.to_json" class="py-name" href="#" onclick="return doclink('link-15', 'to_json', 'link-15');">to_json</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
-<a name="Storage.locked_delete"></a><div id="Storage.locked_delete-def"><a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="Storage.locked_delete-toggle" onclick="return toggle('Storage.locked_delete');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.keyring_storage.Storage-class.html#locked_delete">locked_delete</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Storage.locked_delete-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Storage.locked_delete-expanded"><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">    <tt class="py-docstring">"""Delete Credentials file.</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">      credentials: Credentials, the credentials to store.</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">    <tt class="py-name">keyring</tt><tt class="py-op">.</tt><tt class="py-name">set_password</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_service_name</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_user_name</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.keyring_storage.Storage-class.html b/docs/epy/oauth2client.keyring_storage.Storage-class.html
deleted file mode 100644
index b34d3e4..0000000
--- a/docs/epy/oauth2client.keyring_storage.Storage-class.html
+++ /dev/null
@@ -1,501 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.keyring_storage.Storage</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.keyring_storage-module.html">Module&nbsp;keyring_storage</a> ::
-        Class&nbsp;Storage
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.keyring_storage.Storage-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Storage</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.keyring_storage-pysrc.html#Storage">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_41" name="uml_class_diagram_for_oauth2cl_41">
-<area shape="rect" id="node204" href="oauth2client.keyring_storage.Storage-class.html#__init__" title="Constructor." alt="" coords="17,153,260,172"/>
-<area shape="rect" id="node204" href="oauth2client.keyring_storage.Storage-class.html#acquire_lock" title="Acquires any lock necessary to access this Storage." alt="" coords="17,172,260,191"/>
-<area shape="rect" id="node204" href="oauth2client.keyring_storage.Storage-class.html#release_lock" title="Release the Storage lock." alt="" coords="17,191,260,209"/>
-<area shape="rect" id="node204" href="oauth2client.keyring_storage.Storage-class.html#locked_get" title="Retrieve Credential from file." alt="" coords="17,209,260,228"/>
-<area shape="rect" id="node204" href="oauth2client.keyring_storage.Storage-class.html#locked_put" title="Write Credentials to file." alt="" coords="17,228,260,247"/>
-<area shape="rect" id="node204" href="oauth2client.keyring_storage.Storage-class.html#locked_delete" title="Delete Credentials file." alt="" coords="17,247,260,265"/>
-<area shape="rect" id="node1" href="oauth2client.keyring_storage.Storage-class.html" title="Store and retrieve a single credential to and from the keyring." alt="" coords="5,121,272,271"/>
-<area shape="rect" id="node205" href="oauth2client.client.Storage-class.html#get" title="Retrieve credential." alt="" coords="76,39,201,57"/>
-<area shape="rect" id="node205" href="oauth2client.client.Storage-class.html#put" title="Write a credential." alt="" coords="76,57,201,76"/>
-<area shape="rect" id="node205" href="oauth2client.client.Storage-class.html#delete" title="Delete credential." alt="" coords="76,76,201,95"/>
-<area shape="rect" id="node2" href="oauth2client.client.Storage-class.html" title="Base class for all Storage objects." alt="" coords="64,6,213,101"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_41.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_41" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Store and retrieve a single credential to and from the keyring.
-
-To use this module you must have the keyring module installed. See
-&lt;http://pypi.python.org/pypi/keyring/&gt;. This is an optional module and is not
-installed with oauth2client by default because it does not work on all the
-platforms that oauth2client supports, such as Google App Engine.
-
-The keyring module &lt;http://pypi.python.org/pypi/keyring/&gt; is a cross-platform
-library for access the keyring capabilities of the local system. The user will
-be prompted for their keyring password when this module is used, and the
-manner in which the user is prompted will vary per platform.
-
-Usage:
-  from oauth2client.keyring_storage import Storage
-
-  s = Storage('name_of_application', 'user1')
-  credentials = s.get()
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.keyring_storage.Storage-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">service_name</span>,
-        <span class="summary-sig-arg">user_name</span>)</span><br />
-      Constructor.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.keyring_storage-pysrc.html#Storage.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.keyring_storage.Storage-class.html#acquire_lock" class="summary-sig-name">acquire_lock</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Acquires any lock necessary to access this Storage.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.keyring_storage-pysrc.html#Storage.acquire_lock">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.keyring_storage.Storage-class.html#release_lock" class="summary-sig-name">release_lock</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Release the Storage lock.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.keyring_storage-pysrc.html#Storage.release_lock">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.keyring_storage.Storage-class.html#locked_get" class="summary-sig-name">locked_get</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Retrieve Credential from file.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.keyring_storage-pysrc.html#Storage.locked_get">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.keyring_storage.Storage-class.html#locked_put" class="summary-sig-name">locked_put</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">credentials</span>)</span><br />
-      Write Credentials to file.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.keyring_storage-pysrc.html#Storage.locked_put">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.keyring_storage.Storage-class.html#locked_delete" class="summary-sig-name">locked_delete</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Delete Credentials file.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.keyring_storage-pysrc.html#Storage.locked_delete">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Storage-class.html">client.Storage</a></code></b>:
-      <code><a href="oauth2client.client.Storage-class.html#delete">delete</a></code>,
-      <code><a href="oauth2client.client.Storage-class.html#get">get</a></code>,
-      <code><a href="oauth2client.client.Storage-class.html#put">put</a></code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">service_name</span>,
-        <span class="sig-arg">user_name</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.keyring_storage-pysrc.html#Storage.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Constructor.
-
-Args:
-  service_name: string, The name of the service under which the credentials
-    are stored.
-  user_name: string, The name of the user to store credentials for.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="acquire_lock"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">acquire_lock</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.keyring_storage-pysrc.html#Storage.acquire_lock">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Acquires any lock necessary to access this Storage.
-
-This lock is not reentrant.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#acquire_lock">client.Storage.acquire_lock</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="release_lock"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">release_lock</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.keyring_storage-pysrc.html#Storage.release_lock">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Release the Storage lock.
-
-Trying to release a lock that isn't held will result in a
-RuntimeError.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#release_lock">client.Storage.release_lock</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="locked_get"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_get</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.keyring_storage-pysrc.html#Storage.locked_get">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Retrieve Credential from file.
-
-Returns:
-  oauth2client.client.Credentials
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#locked_get">client.Storage.locked_get</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="locked_put"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_put</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">credentials</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.keyring_storage-pysrc.html#Storage.locked_put">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Write Credentials to file.
-
-Args:
-  credentials: Credentials, the credentials to store.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#locked_put">client.Storage.locked_put</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="locked_delete"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_delete</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.keyring_storage-pysrc.html#Storage.locked_delete">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Delete Credentials file.
-
-Args:
-  credentials: Credentials, the credentials to store.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#locked_delete">client.Storage.locked_delete</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.locked_file-module.html b/docs/epy/oauth2client.locked_file-module.html
deleted file mode 100644
index b1655ef..0000000
--- a/docs/epy/oauth2client.locked_file-module.html
+++ /dev/null
@@ -1,251 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.locked_file</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;locked_file
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.locked_file-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module locked_file</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.locked_file-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-Locked file interface that should work on Unix and Windows pythons.
-
-This module first tries to use fcntl locking to ensure serialized access
-to a file, then falls back on a lock file if that is unavialable.
-
-Usage:
-    f = LockedFile('filename', 'r+b', 'rb')
-    f.open_and_lock()
-    if f.is_locked():
-      print 'Acquired filename with r+b mode'
-      f.file_handle().write('locked data')
-    else:
-      print 'Aquired filename with rb mode'
-    f.unlock_and_close()
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        cache@google.com (David T McWherter)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.locked_file.CredentialsFileSymbolicLinkError-class.html" class="summary-name">CredentialsFileSymbolicLinkError</a><br />
-      Credentials files must not be symbolic links.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.locked_file.AlreadyLockedException-class.html" class="summary-name">AlreadyLockedException</a><br />
-      Trying to lock a file that has already been locked by the LockedFile.
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.locked_file._Opener-class.html" class="summary-name" onclick="show_private();">_Opener</a><br />
-      Base class for different locking primitives.
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.locked_file._PosixOpener-class.html" class="summary-name" onclick="show_private();">_PosixOpener</a><br />
-      Lock files using Posix advisory lock files.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.locked_file.LockedFile-class.html" class="summary-name">LockedFile</a><br />
-      Represent a file that has exclusive access.
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="validate_file"></a><span class="summary-sig-name">validate_file</span>(<span class="summary-sig-arg">filename</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.locked_file-pysrc.html#validate_file">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="_FcntlOpener"></a><span class="summary-name">_FcntlOpener</span> = <code title="None">None</code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="_Win32Opener"></a><span class="summary-name">_Win32Opener</span> = <code title="None">None</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.locked_file-pysrc.html b/docs/epy/oauth2client.locked_file-pysrc.html
deleted file mode 100644
index c81b479..0000000
--- a/docs/epy/oauth2client.locked_file-pysrc.html
+++ /dev/null
@@ -1,520 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.locked_file</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;locked_file
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.locked_file-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="oauth2client.locked_file-module.html">Module oauth2client.locked_file</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright 2011 Google Inc.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">"""Locked file interface that should work on Unix and Windows pythons.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">This module first tries to use fcntl locking to ensure serialized access</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">to a file, then falls back on a lock file if that is unavialable.</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">Usage:</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">    f = LockedFile('filename', 'r+b', 'rb')</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">    f.open_and_lock()</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">    if f.is_locked():</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">      print 'Acquired filename with r+b mode'</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">      f.file_handle().write('locked data')</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring">    else:</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">      print 'Aquired filename with rb mode'</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-docstring">    f.unlock_and_close()</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'cache@google.com (David T McWherter)'</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">errno</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package oauth2client=oauth2client-module.html"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-0', 'oauth2client', 'link-0');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module oauth2client.util=oauth2client.util-module.html"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-1', 'util', 'link-1');">util</a></tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable apiclient.discovery.logger=apiclient.discovery-module.html#logger,Variable oauth2client.appengine.logger=oauth2client.appengine-module.html#logger,Variable oauth2client.client.logger=oauth2client.client-module.html#logger,Variable oauth2client.crypt.logger=oauth2client.crypt-module.html#logger,Variable oauth2client.gce.logger=oauth2client.gce-module.html#logger,Variable oauth2client.locked_file.logger=oauth2client.locked_file-module.html#logger,Variable oauth2client.multistore_file.logger=oauth2client.multistore_file-module.html#logger,Variable oauth2client.util.logger=oauth2client.util-module.html#logger"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-2', 'logger', 'link-2');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-name">__name__</tt><tt class="py-op">)</tt> </tt>
-<a name="CredentialsFileSymbolicLinkError"></a><div id="CredentialsFileSymbolicLinkError-def"><a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <a class="py-toggle" href="#" id="CredentialsFileSymbolicLinkError-toggle" onclick="return toggle('CredentialsFileSymbolicLinkError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.locked_file.CredentialsFileSymbolicLinkError-class.html">CredentialsFileSymbolicLinkError</a><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CredentialsFileSymbolicLinkError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="CredentialsFileSymbolicLinkError-expanded"><a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">  <tt class="py-docstring">"""Credentials files must not be symbolic links."""</tt> </tt>
-</div><a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
-<a name="AlreadyLockedException"></a><div id="AlreadyLockedException-def"><a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <a class="py-toggle" href="#" id="AlreadyLockedException-toggle" onclick="return toggle('AlreadyLockedException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.locked_file.AlreadyLockedException-class.html">AlreadyLockedException</a><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AlreadyLockedException-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="AlreadyLockedException-expanded"><a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">  <tt class="py-docstring">"""Trying to lock a file that has already been locked by the LockedFile."""</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"> </tt>
-<a name="validate_file"></a><div id="validate_file-def"><a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <a class="py-toggle" href="#" id="validate_file-toggle" onclick="return toggle('validate_file');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file-module.html#validate_file">validate_file</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="validate_file-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="validate_file-expanded"><a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">islink</tt><tt class="py-op">(</tt><tt id="link-3" class="py-name" targets="Method oauth2client.locked_file.LockedFile.filename()=oauth2client.locked_file.LockedFile-class.html#filename,Method oauth2client.locked_file._Opener.filename()=oauth2client.locked_file._Opener-class.html#filename"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-3', 'filename', 'link-3');">filename</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-4" class="py-name" targets="Class oauth2client.file.CredentialsFileSymbolicLinkError=oauth2client.file.CredentialsFileSymbolicLinkError-class.html,Class oauth2client.locked_file.CredentialsFileSymbolicLinkError=oauth2client.locked_file.CredentialsFileSymbolicLinkError-class.html"><a title="oauth2client.file.CredentialsFileSymbolicLinkError
-oauth2client.locked_file.CredentialsFileSymbolicLinkError" class="py-name" href="#" onclick="return doclink('link-4', 'CredentialsFileSymbolicLinkError', 'link-4');">CredentialsFileSymbolicLinkError</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-string">'File: %s is a symbolic link.'</tt> <tt class="py-op">%</tt> <tt id="link-5" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-5', 'filename', 'link-3');">filename</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"> </tt>
-<a name="_Opener"></a><div id="_Opener-def"><a name="L57"></a><tt class="py-lineno"> 57</tt> <a class="py-toggle" href="#" id="_Opener-toggle" onclick="return toggle('_Opener');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.locked_file._Opener-class.html">_Opener</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_Opener-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_Opener-expanded"><a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">  <tt class="py-docstring">"""Base class for different locking primitives."""</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
-<a name="_Opener.__init__"></a><div id="_Opener.__init__-def"><a name="L60"></a><tt class="py-lineno"> 60</tt> <a class="py-toggle" href="#" id="_Opener.__init__-toggle" onclick="return toggle('_Opener.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file._Opener-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">mode</tt><tt class="py-op">,</tt> <tt class="py-param">fallback_mode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_Opener.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_Opener.__init__-expanded"><a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create an Opener.</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring">      filename: string, The pathname of the file.</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">      mode: string, The preferred mode to access the file with.</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring">      fallback_mode: string, The mode to use if locking fails.</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_locked</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt> <tt class="py-op">=</tt> <tt id="link-6" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-6', 'filename', 'link-3');">filename</a></tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_mode</tt> <tt class="py-op">=</tt> <tt class="py-name">mode</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fallback_mode</tt> <tt class="py-op">=</tt> <tt class="py-name">fallback_mode</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"> </tt>
-<a name="_Opener.is_locked"></a><div id="_Opener.is_locked-def"><a name="L74"></a><tt class="py-lineno"> 74</tt> <a class="py-toggle" href="#" id="_Opener.is_locked-toggle" onclick="return toggle('_Opener.is_locked');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file._Opener-class.html#is_locked">is_locked</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_Opener.is_locked-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_Opener.is_locked-expanded"><a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">    <tt class="py-docstring">"""Was the file locked."""</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_locked</tt> </tt>
-</div><a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"> </tt>
-<a name="_Opener.file_handle"></a><div id="_Opener.file_handle-def"><a name="L78"></a><tt class="py-lineno"> 78</tt> <a class="py-toggle" href="#" id="_Opener.file_handle-toggle" onclick="return toggle('_Opener.file_handle');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file._Opener-class.html#file_handle">file_handle</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_Opener.file_handle-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_Opener.file_handle-expanded"><a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">    <tt class="py-docstring">"""The file handle to the file. Valid only after opened."""</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt> </tt>
-</div><a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"> </tt>
-<a name="_Opener.filename"></a><div id="_Opener.filename-def"><a name="L82"></a><tt class="py-lineno"> 82</tt> <a class="py-toggle" href="#" id="_Opener.filename-toggle" onclick="return toggle('_Opener.filename');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file._Opener-class.html#filename">filename</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_Opener.filename-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_Opener.filename-expanded"><a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">    <tt class="py-docstring">"""The filename that is being locked."""</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt> </tt>
-</div><a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"> </tt>
-<a name="_Opener.open_and_lock"></a><div id="_Opener.open_and_lock-def"><a name="L86"></a><tt class="py-lineno"> 86</tt> <a class="py-toggle" href="#" id="_Opener.open_and_lock-toggle" onclick="return toggle('_Opener.open_and_lock');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file._Opener-class.html#open_and_lock">open_and_lock</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">,</tt> <tt class="py-param">delay</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_Opener.open_and_lock-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_Opener.open_and_lock-expanded"><a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">    <tt class="py-docstring">"""Open the file and lock it.</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring">      timeout: float, How long to try to lock for.</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring">      delay: float, How long to wait between retries.</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">    <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"> </tt>
-<a name="_Opener.unlock_and_close"></a><div id="_Opener.unlock_and_close-def"><a name="L95"></a><tt class="py-lineno"> 95</tt> <a class="py-toggle" href="#" id="_Opener.unlock_and_close-toggle" onclick="return toggle('_Opener.unlock_and_close');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file._Opener-class.html#unlock_and_close">unlock_and_close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_Opener.unlock_and_close-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_Opener.unlock_and_close-expanded"><a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">    <tt class="py-docstring">"""Unlock and close the file."""</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">    <tt class="py-keyword">pass</tt> </tt>
-</div></div><a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"> </tt>
-<a name="_PosixOpener"></a><div id="_PosixOpener-def"><a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <a class="py-toggle" href="#" id="_PosixOpener-toggle" onclick="return toggle('_PosixOpener');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.locked_file._PosixOpener-class.html">_PosixOpener</a><tt class="py-op">(</tt><tt class="py-base-class">_Opener</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_PosixOpener-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_PosixOpener-expanded"><a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">  <tt class="py-docstring">"""Lock files using Posix advisory lock files."""</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
-<a name="_PosixOpener.open_and_lock"></a><div id="_PosixOpener.open_and_lock-def"><a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="_PosixOpener.open_and_lock-toggle" onclick="return toggle('_PosixOpener.open_and_lock');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file._PosixOpener-class.html#open_and_lock">open_and_lock</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">,</tt> <tt class="py-param">delay</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_PosixOpener.open_and_lock-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_PosixOpener.open_and_lock-expanded"><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">    <tt class="py-docstring">"""Open the file and lock it.</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring">    Tries to create a .lock file next to the file we're trying to open.</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-docstring">      timeout: float, How long to try to lock for.</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-docstring">      delay: float, How long to wait between retries.</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-docstring">      AlreadyLockedException: if the lock is already acquired.</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-docstring">      IOError: if the open fails.</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring">      CredentialsFileSymbolicLinkError if the file is a symbolic link.</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_locked</tt><tt class="py-op">:</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-7" class="py-name" targets="Class oauth2client.locked_file.AlreadyLockedException=oauth2client.locked_file.AlreadyLockedException-class.html"><a title="oauth2client.locked_file.AlreadyLockedException" class="py-name" href="#" onclick="return doclink('link-7', 'AlreadyLockedException', 'link-7');">AlreadyLockedException</a></tt><tt class="py-op">(</tt><tt class="py-string">'File %s is already locked'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">                                   <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_locked</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">    <tt id="link-8" class="py-name" targets="Function oauth2client.locked_file.validate_file()=oauth2client.locked_file-module.html#validate_file"><a title="oauth2client.locked_file.validate_file" class="py-name" href="#" onclick="return doclink('link-8', 'validate_file', 'link-8');">validate_file</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_mode</tt><tt class="py-op">)</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">      <tt class="py-comment"># If we can't access with _mode, try _fallback_mode and don't lock.</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">errno</tt> <tt class="py-op">==</tt> <tt class="py-name">errno</tt><tt class="py-op">.</tt><tt class="py-name">EACCES</tt><tt class="py-op">:</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fallback_mode</tt><tt class="py-op">)</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">    <tt class="py-name">lock_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method oauth2client.locked_file._PosixOpener._posix_lockfile()=oauth2client.locked_file._PosixOpener-class.html#_posix_lockfile"><a title="oauth2client.locked_file._PosixOpener._posix_lockfile" class="py-name" href="#" onclick="return doclink('link-9', '_posix_lockfile', 'link-9');">_posix_lockfile</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">    <tt class="py-name">start_time</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock_fd</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">lock_filename</tt><tt class="py-op">,</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">                                <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">O_CREAT</tt><tt class="py-op">|</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">O_EXCL</tt><tt class="py-op">|</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">O_RDWR</tt><tt class="py-op">)</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_locked</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-keyword">break</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt> <tt class="py-name">OSError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">errno</tt> <tt class="py-op">!=</tt> <tt class="py-name">errno</tt><tt class="py-op">.</tt><tt class="py-name">EEXIST</tt><tt class="py-op">:</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">start_time</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">timeout</tt><tt class="py-op">:</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">          <tt id="link-10" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-10', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-string">'Could not acquire lock %s in %s seconds'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">              <tt class="py-name">lock_filename</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">          <tt class="py-comment"># Close the file and open in fallback_mode.</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt><tt class="py-op">:</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fallback_mode</tt><tt class="py-op">)</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">          <tt class="py-keyword">return</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-name">delay</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"> </tt>
-<a name="_PosixOpener.unlock_and_close"></a><div id="_PosixOpener.unlock_and_close-def"><a name="L153"></a><tt class="py-lineno">153</tt> <a class="py-toggle" href="#" id="_PosixOpener.unlock_and_close-toggle" onclick="return toggle('_PosixOpener.unlock_and_close');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file._PosixOpener-class.html#unlock_and_close">unlock_and_close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_PosixOpener.unlock_and_close-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_PosixOpener.unlock_and_close-expanded"><a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">    <tt class="py-docstring">"""Unlock a file by removing the .lock file, and close the handle."""</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_locked</tt><tt class="py-op">:</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">      <tt class="py-name">lock_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="oauth2client.locked_file._PosixOpener._posix_lockfile" class="py-name" href="#" onclick="return doclink('link-11', '_posix_lockfile', 'link-9');">_posix_lockfile</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">      <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock_fd</tt><tt class="py-op">)</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">      <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">unlink</tt><tt class="py-op">(</tt><tt class="py-name">lock_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_locked</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock_fd</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt><tt class="py-op">:</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"> </tt>
-<a name="_PosixOpener._posix_lockfile"></a><div id="_PosixOpener._posix_lockfile-def"><a name="L164"></a><tt class="py-lineno">164</tt> <a class="py-toggle" href="#" id="_PosixOpener._posix_lockfile-toggle" onclick="return toggle('_PosixOpener._posix_lockfile');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file._PosixOpener-class.html#_posix_lockfile">_posix_lockfile</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_PosixOpener._posix_lockfile-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_PosixOpener._posix_lockfile-expanded"><a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">    <tt class="py-docstring">"""The name of the lock file to use for posix locking."""</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">'%s.lock'</tt> <tt class="py-op">%</tt> <tt id="link-12" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-12', 'filename', 'link-3');">filename</a></tt> </tt>
-</div></div><a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">  <tt class="py-keyword">import</tt> <tt class="py-name">fcntl</tt> </tt>
-<a name="_FcntlOpener"></a><div id="_FcntlOpener-def"><a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <a class="py-toggle" href="#" id="_FcntlOpener-toggle" onclick="return toggle('_FcntlOpener');">-</a><tt class="py-line">  <tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.locked_file._FcntlOpener-class.html">_FcntlOpener</a><tt class="py-op">(</tt><tt class="py-base-class">_Opener</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_FcntlOpener-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_FcntlOpener-expanded"><a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">    <tt class="py-docstring">"""Open, lock, and unlock a file using fcntl.lockf."""</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"> </tt>
-<a name="_FcntlOpener.open_and_lock"></a><div id="_FcntlOpener.open_and_lock-def"><a name="L175"></a><tt class="py-lineno">175</tt> <a class="py-toggle" href="#" id="_FcntlOpener.open_and_lock-toggle" onclick="return toggle('_FcntlOpener.open_and_lock');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file._FcntlOpener-class.html#open_and_lock">open_and_lock</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">,</tt> <tt class="py-param">delay</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_FcntlOpener.open_and_lock-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="_FcntlOpener.open_and_lock-expanded"><a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">      <tt class="py-docstring">"""Open the file and lock it.</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"><tt class="py-docstring">        timeout: float, How long to try to lock for.</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"><tt class="py-docstring">        delay: float, How long to wait between retries</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"><tt class="py-docstring">      Raises:</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"><tt class="py-docstring">        AlreadyLockedException: if the lock is already acquired.</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"><tt class="py-docstring">        IOError: if the open fails.</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-docstring">        CredentialsFileSymbolicLinkError if the file is a symbolic link.</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_locked</tt><tt class="py-op">:</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt id="link-13" class="py-name"><a title="oauth2client.locked_file.AlreadyLockedException" class="py-name" href="#" onclick="return doclink('link-13', 'AlreadyLockedException', 'link-7');">AlreadyLockedException</a></tt><tt class="py-op">(</tt><tt class="py-string">'File %s is already locked'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">                                     <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">      <tt class="py-name">start_time</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">      <tt id="link-14" class="py-name"><a title="oauth2client.locked_file.validate_file" class="py-name" href="#" onclick="return doclink('link-14', 'validate_file', 'link-8');">validate_file</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_mode</tt><tt class="py-op">)</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-comment"># If we can't access with _mode, try _fallback_mode and don't lock.</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">errno</tt> <tt class="py-op">==</tt> <tt class="py-name">errno</tt><tt class="py-op">.</tt><tt class="py-name">EACCES</tt><tt class="py-op">:</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fallback_mode</tt><tt class="py-op">)</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">          <tt class="py-keyword">return</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line"> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">      <tt class="py-comment"># We opened in _mode, try to lock the file.</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">      <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">          <tt class="py-name">fcntl</tt><tt class="py-op">.</tt><tt class="py-name">lockf</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt><tt class="py-op">.</tt><tt class="py-name">fileno</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">fcntl</tt><tt class="py-op">.</tt><tt class="py-name">LOCK_EX</tt><tt class="py-op">)</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_locked</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">          <tt class="py-keyword">return</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">          <tt class="py-comment"># If not retrying, then just pass on the error.</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">timeout</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">e</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">errno</tt> <tt class="py-op">!=</tt> <tt class="py-name">errno</tt><tt class="py-op">.</tt><tt class="py-name">EACCES</tt><tt class="py-op">:</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">e</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">          <tt class="py-comment"># We could not acquire the lock. Try again.</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">start_time</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">timeout</tt><tt class="py-op">:</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">            <tt id="link-15" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-15', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-string">'Could not lock %s in %s seconds'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt><tt class="py-op">:</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">              <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fallback_mode</tt><tt class="py-op">)</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">          <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-name">delay</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"> </tt>
-<a name="_FcntlOpener.unlock_and_close"></a><div id="_FcntlOpener.unlock_and_close-def"><a name="L223"></a><tt class="py-lineno">223</tt> <a class="py-toggle" href="#" id="_FcntlOpener.unlock_and_close-toggle" onclick="return toggle('_FcntlOpener.unlock_and_close');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file._FcntlOpener-class.html#unlock_and_close">unlock_and_close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_FcntlOpener.unlock_and_close-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="_FcntlOpener.unlock_and_close-expanded"><a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">      <tt class="py-docstring">"""Close and unlock the file using the fcntl.lockf primitive."""</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_locked</tt><tt class="py-op">:</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-name">fcntl</tt><tt class="py-op">.</tt><tt class="py-name">lockf</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt><tt class="py-op">.</tt><tt class="py-name">fileno</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">fcntl</tt><tt class="py-op">.</tt><tt class="py-name">LOCK_UN</tt><tt class="py-op">)</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_locked</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt><tt class="py-op">:</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">  <tt id="link-16" class="py-name" targets="Variable oauth2client.locked_file._FcntlOpener=oauth2client.locked_file-module.html#_FcntlOpener"><a title="oauth2client.locked_file._FcntlOpener" class="py-name" href="#" onclick="return doclink('link-16', '_FcntlOpener', 'link-16');">_FcntlOpener</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">  <tt class="py-keyword">import</tt> <tt class="py-name">pywintypes</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">  <tt class="py-keyword">import</tt> <tt class="py-name">win32con</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">  <tt class="py-keyword">import</tt> <tt class="py-name">win32file</tt> </tt>
-<a name="_Win32Opener"></a><div id="_Win32Opener-def"><a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt> <a class="py-toggle" href="#" id="_Win32Opener-toggle" onclick="return toggle('_Win32Opener');">-</a><tt class="py-line">  <tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.locked_file._Win32Opener-class.html">_Win32Opener</a><tt class="py-op">(</tt><tt class="py-base-class">_Opener</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_Win32Opener-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_Win32Opener-expanded"><a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">    <tt class="py-docstring">"""Open, lock, and unlock a file using windows primitives."""</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">    <tt class="py-comment"># Error #33:</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">    <tt class="py-comment">#  'The process cannot access the file because another process'</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">    <tt class="py-name">FILE_IN_USE_ERROR</tt> <tt class="py-op">=</tt> <tt class="py-number">33</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">    <tt class="py-comment"># Error #158:</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">    <tt class="py-comment">#  'The segment is already unlocked.'</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">    <tt class="py-name">FILE_ALREADY_UNLOCKED_ERROR</tt> <tt class="py-op">=</tt> <tt class="py-number">158</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"> </tt>
-<a name="_Win32Opener.open_and_lock"></a><div id="_Win32Opener.open_and_lock-def"><a name="L250"></a><tt class="py-lineno">250</tt> <a class="py-toggle" href="#" id="_Win32Opener.open_and_lock-toggle" onclick="return toggle('_Win32Opener.open_and_lock');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file._Win32Opener-class.html#open_and_lock">open_and_lock</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">,</tt> <tt class="py-param">delay</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_Win32Opener.open_and_lock-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="_Win32Opener.open_and_lock-expanded"><a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">      <tt class="py-docstring">"""Open the file and lock it.</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"><tt class="py-docstring">        timeout: float, How long to try to lock for.</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"><tt class="py-docstring">        delay: float, How long to wait between retries</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"><tt class="py-docstring">      Raises:</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line"><tt class="py-docstring">        AlreadyLockedException: if the lock is already acquired.</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line"><tt class="py-docstring">        IOError: if the open fails.</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"><tt class="py-docstring">        CredentialsFileSymbolicLinkError if the file is a symbolic link.</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_locked</tt><tt class="py-op">:</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt id="link-17" class="py-name"><a title="oauth2client.locked_file.AlreadyLockedException" class="py-name" href="#" onclick="return doclink('link-17', 'AlreadyLockedException', 'link-7');">AlreadyLockedException</a></tt><tt class="py-op">(</tt><tt class="py-string">'File %s is already locked'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">                                     <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">      <tt class="py-name">start_time</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">      <tt id="link-18" class="py-name"><a title="oauth2client.locked_file.validate_file" class="py-name" href="#" onclick="return doclink('link-18', 'validate_file', 'link-8');">validate_file</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_mode</tt><tt class="py-op">)</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">        <tt class="py-comment"># If we can't access with _mode, try _fallback_mode and don't lock.</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">errno</tt> <tt class="py-op">==</tt> <tt class="py-name">errno</tt><tt class="py-op">.</tt><tt class="py-name">EACCES</tt><tt class="py-op">:</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fallback_mode</tt><tt class="py-op">)</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">          <tt class="py-keyword">return</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">      <tt class="py-comment"># We opened in _mode, try to lock the file.</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">      <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">          <tt class="py-name">hfile</tt> <tt class="py-op">=</tt> <tt class="py-name">win32file</tt><tt class="py-op">.</tt><tt class="py-name">_get_osfhandle</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt><tt class="py-op">.</tt><tt class="py-name">fileno</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">          <tt class="py-name">win32file</tt><tt class="py-op">.</tt><tt class="py-name">LockFileEx</tt><tt class="py-op">(</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">              <tt class="py-name">hfile</tt><tt class="py-op">,</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">              <tt class="py-op">(</tt><tt class="py-name">win32con</tt><tt class="py-op">.</tt><tt class="py-name">LOCKFILE_FAIL_IMMEDIATELY</tt><tt class="py-op">|</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">               <tt class="py-name">win32con</tt><tt class="py-op">.</tt><tt class="py-name">LOCKFILE_EXCLUSIVE_LOCK</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">0x10000</tt><tt class="py-op">,</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">              <tt class="py-name">pywintypes</tt><tt class="py-op">.</tt><tt class="py-name">OVERLAPPED</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_locked</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">          <tt class="py-keyword">return</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pywintypes</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">timeout</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">e</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line"> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">          <tt class="py-comment"># If the error is not that the file is already in use, raise.</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt id="link-19" class="py-name" targets="Variable oauth2client.locked_file._Win32Opener=oauth2client.locked_file-module.html#_Win32Opener"><a title="oauth2client.locked_file._Win32Opener" class="py-name" href="#" onclick="return doclink('link-19', '_Win32Opener', 'link-19');">_Win32Opener</a></tt><tt class="py-op">.</tt><tt class="py-name">FILE_IN_USE_ERROR</tt><tt class="py-op">:</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">          <tt class="py-comment"># We could not acquire the lock. Try again.</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">start_time</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">timeout</tt><tt class="py-op">:</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">            <tt id="link-20" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-20', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-string">'Could not lock %s in %s seconds'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt><tt class="py-op">:</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">              <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fallback_mode</tt><tt class="py-op">)</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">          <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-name">delay</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line"> </tt>
-<a name="_Win32Opener.unlock_and_close"></a><div id="_Win32Opener.unlock_and_close-def"><a name="L305"></a><tt class="py-lineno">305</tt> <a class="py-toggle" href="#" id="_Win32Opener.unlock_and_close-toggle" onclick="return toggle('_Win32Opener.unlock_and_close');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file._Win32Opener-class.html#unlock_and_close">unlock_and_close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_Win32Opener.unlock_and_close-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="_Win32Opener.unlock_and_close-expanded"><a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">      <tt class="py-docstring">"""Close and unlock the file using the win32 primitive."""</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_locked</tt><tt class="py-op">:</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">          <tt class="py-name">hfile</tt> <tt class="py-op">=</tt> <tt class="py-name">win32file</tt><tt class="py-op">.</tt><tt class="py-name">_get_osfhandle</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt><tt class="py-op">.</tt><tt class="py-name">fileno</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">          <tt class="py-name">win32file</tt><tt class="py-op">.</tt><tt class="py-name">UnlockFileEx</tt><tt class="py-op">(</tt><tt class="py-name">hfile</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">0x10000</tt><tt class="py-op">,</tt> <tt class="py-name">pywintypes</tt><tt class="py-op">.</tt><tt class="py-name">OVERLAPPED</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pywintypes</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt id="link-21" class="py-name"><a title="oauth2client.locked_file._Win32Opener" class="py-name" href="#" onclick="return doclink('link-21', '_Win32Opener', 'link-19');">_Win32Opener</a></tt><tt class="py-op">.</tt><tt class="py-name">FILE_ALREADY_UNLOCKED_ERROR</tt><tt class="py-op">:</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_locked</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt><tt class="py-op">:</tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fh</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">  <tt id="link-22" class="py-name"><a title="oauth2client.locked_file._Win32Opener" class="py-name" href="#" onclick="return doclink('link-22', '_Win32Opener', 'link-19');">_Win32Opener</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="LockedFile"></a><div id="LockedFile-def"><a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line"> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line"> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt> <a class="py-toggle" href="#" id="LockedFile-toggle" onclick="return toggle('LockedFile');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.locked_file.LockedFile-class.html">LockedFile</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="LockedFile-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="LockedFile-expanded"><a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">  <tt class="py-docstring">"""Represent a file that has exclusive access."""</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line"> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Function oauth2client.util.positional()=oauth2client.util-module.html#positional"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-23', 'positional', 'link-23');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="LockedFile.__init__"></a><div id="LockedFile.__init__-def"><a name="L325"></a><tt class="py-lineno">325</tt> <a class="py-toggle" href="#" id="LockedFile.__init__-toggle" onclick="return toggle('LockedFile.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file.LockedFile-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">mode</tt><tt class="py-op">,</tt> <tt class="py-param">fallback_mode</tt><tt class="py-op">,</tt> <tt class="py-param">use_native_locking</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="LockedFile.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="LockedFile.__init__-expanded"><a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">    <tt class="py-docstring">"""Construct a LockedFile.</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line"><tt class="py-docstring">      filename: string, The path of the file to open.</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line"><tt class="py-docstring">      mode: string, The mode to try to open the file with.</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line"><tt class="py-docstring">      fallback_mode: string, The mode to use if locking fails.</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line"><tt class="py-docstring">      use_native_locking: bool, Whether or not fcntl/win32 locking is used.</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">    <tt class="py-name">opener</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">opener</tt> <tt class="py-keyword">and</tt> <tt class="py-name">use_native_locking</tt><tt class="py-op">:</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt id="link-24" class="py-name"><a title="oauth2client.locked_file._Win32Opener" class="py-name" href="#" onclick="return doclink('link-24', '_Win32Opener', 'link-19');">_Win32Opener</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">        <tt class="py-name">opener</tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="oauth2client.locked_file._Win32Opener" class="py-name" href="#" onclick="return doclink('link-25', '_Win32Opener', 'link-19');">_Win32Opener</a></tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-26', 'filename', 'link-3');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">,</tt> <tt class="py-name">fallback_mode</tt><tt class="py-op">)</tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt id="link-27" class="py-name"><a title="oauth2client.locked_file._FcntlOpener" class="py-name" href="#" onclick="return doclink('link-27', '_FcntlOpener', 'link-16');">_FcntlOpener</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">        <tt class="py-name">opener</tt> <tt class="py-op">=</tt> <tt id="link-28" class="py-name"><a title="oauth2client.locked_file._FcntlOpener" class="py-name" href="#" onclick="return doclink('link-28', '_FcntlOpener', 'link-16');">_FcntlOpener</a></tt><tt class="py-op">(</tt><tt id="link-29" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-29', 'filename', 'link-3');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">,</tt> <tt class="py-name">fallback_mode</tt><tt class="py-op">)</tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line"> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">opener</tt><tt class="py-op">:</tt> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">      <tt class="py-name">opener</tt> <tt class="py-op">=</tt> <tt id="link-30" class="py-name" targets="Class oauth2client.locked_file._PosixOpener=oauth2client.locked_file._PosixOpener-class.html"><a title="oauth2client.locked_file._PosixOpener" class="py-name" href="#" onclick="return doclink('link-30', '_PosixOpener', 'link-30');">_PosixOpener</a></tt><tt class="py-op">(</tt><tt id="link-31" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-31', 'filename', 'link-3');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">,</tt> <tt class="py-name">fallback_mode</tt><tt class="py-op">)</tt> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line"> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_opener</tt> <tt class="py-op">=</tt> <tt class="py-name">opener</tt> </tt>
-</div><a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"> </tt>
-<a name="LockedFile.filename"></a><div id="LockedFile.filename-def"><a name="L346"></a><tt class="py-lineno">346</tt> <a class="py-toggle" href="#" id="LockedFile.filename-toggle" onclick="return toggle('LockedFile.filename');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file.LockedFile-class.html#filename">filename</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="LockedFile.filename-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="LockedFile.filename-expanded"><a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">    <tt class="py-docstring">"""Return the filename we were constructed with."""</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_opener</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt> </tt>
-</div><a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"> </tt>
-<a name="LockedFile.file_handle"></a><div id="LockedFile.file_handle-def"><a name="L350"></a><tt class="py-lineno">350</tt> <a class="py-toggle" href="#" id="LockedFile.file_handle-toggle" onclick="return toggle('LockedFile.file_handle');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file.LockedFile-class.html#file_handle">file_handle</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="LockedFile.file_handle-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="LockedFile.file_handle-expanded"><a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">    <tt class="py-docstring">"""Return the file_handle to the opened file."""</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_opener</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Method oauth2client.locked_file.LockedFile.file_handle()=oauth2client.locked_file.LockedFile-class.html#file_handle,Method oauth2client.locked_file._Opener.file_handle()=oauth2client.locked_file._Opener-class.html#file_handle"><a title="oauth2client.locked_file.LockedFile.file_handle
-oauth2client.locked_file._Opener.file_handle" class="py-name" href="#" onclick="return doclink('link-32', 'file_handle', 'link-32');">file_handle</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line"> </tt>
-<a name="LockedFile.is_locked"></a><div id="LockedFile.is_locked-def"><a name="L354"></a><tt class="py-lineno">354</tt> <a class="py-toggle" href="#" id="LockedFile.is_locked-toggle" onclick="return toggle('LockedFile.is_locked');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file.LockedFile-class.html#is_locked">is_locked</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="LockedFile.is_locked-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="LockedFile.is_locked-expanded"><a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">    <tt class="py-docstring">"""Return whether we successfully locked the file."""</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_opener</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method oauth2client.locked_file.LockedFile.is_locked()=oauth2client.locked_file.LockedFile-class.html#is_locked,Method oauth2client.locked_file._Opener.is_locked()=oauth2client.locked_file._Opener-class.html#is_locked"><a title="oauth2client.locked_file.LockedFile.is_locked
-oauth2client.locked_file._Opener.is_locked" class="py-name" href="#" onclick="return doclink('link-33', 'is_locked', 'link-33');">is_locked</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line"> </tt>
-<a name="LockedFile.open_and_lock"></a><div id="LockedFile.open_and_lock-def"><a name="L358"></a><tt class="py-lineno">358</tt> <a class="py-toggle" href="#" id="LockedFile.open_and_lock-toggle" onclick="return toggle('LockedFile.open_and_lock');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file.LockedFile-class.html#open_and_lock">open_and_lock</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-param">delay</tt><tt class="py-op">=</tt><tt class="py-number">0.05</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="LockedFile.open_and_lock-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="LockedFile.open_and_lock-expanded"><a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">    <tt class="py-docstring">"""Open the file, trying to lock it.</tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line"><tt class="py-docstring">      timeout: float, The number of seconds to try to acquire the lock.</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line"><tt class="py-docstring">      delay: float, The number of seconds to wait between retry attempts.</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line"><tt class="py-docstring">      AlreadyLockedException: if the lock is already acquired.</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line"><tt class="py-docstring">      IOError: if the open fails.</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_opener</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Method oauth2client.locked_file.LockedFile.open_and_lock()=oauth2client.locked_file.LockedFile-class.html#open_and_lock,Method oauth2client.locked_file._Opener.open_and_lock()=oauth2client.locked_file._Opener-class.html#open_and_lock,Method oauth2client.locked_file._PosixOpener.open_and_lock()=oauth2client.locked_file._PosixOpener-class.html#open_and_lock"><a title="oauth2client.locked_file.LockedFile.open_and_lock
-oauth2client.locked_file._Opener.open_and_lock
-oauth2client.locked_file._PosixOpener.open_and_lock" class="py-name" href="#" onclick="return doclink('link-34', 'open_and_lock', 'link-34');">open_and_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">,</tt> <tt class="py-name">delay</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line"> </tt>
-<a name="LockedFile.unlock_and_close"></a><div id="LockedFile.unlock_and_close-def"><a name="L371"></a><tt class="py-lineno">371</tt> <a class="py-toggle" href="#" id="LockedFile.unlock_and_close-toggle" onclick="return toggle('LockedFile.unlock_and_close');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.locked_file.LockedFile-class.html#unlock_and_close">unlock_and_close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="LockedFile.unlock_and_close-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="LockedFile.unlock_and_close-expanded"><a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">    <tt class="py-docstring">"""Unlock and close a file."""</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_opener</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method oauth2client.locked_file.LockedFile.unlock_and_close()=oauth2client.locked_file.LockedFile-class.html#unlock_and_close,Method oauth2client.locked_file._Opener.unlock_and_close()=oauth2client.locked_file._Opener-class.html#unlock_and_close,Method oauth2client.locked_file._PosixOpener.unlock_and_close()=oauth2client.locked_file._PosixOpener-class.html#unlock_and_close"><a title="oauth2client.locked_file.LockedFile.unlock_and_close
-oauth2client.locked_file._Opener.unlock_and_close
-oauth2client.locked_file._PosixOpener.unlock_and_close" class="py-name" href="#" onclick="return doclink('link-35', 'unlock_and_close', 'link-35');">unlock_and_close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.locked_file.AlreadyLockedException-class.html b/docs/epy/oauth2client.locked_file.AlreadyLockedException-class.html
deleted file mode 100644
index f5aa374..0000000
--- a/docs/epy/oauth2client.locked_file.AlreadyLockedException-class.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.locked_file.AlreadyLockedException</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.locked_file-module.html">Module&nbsp;locked_file</a> ::
-        Class&nbsp;AlreadyLockedException
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.locked_file.AlreadyLockedException-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class AlreadyLockedException</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.locked_file-pysrc.html#AlreadyLockedException">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_42" name="uml_class_diagram_for_oauth2cl_42">
-<area shape="rect" id="node1" href="oauth2client.locked_file.AlreadyLockedException-class.html" title="Trying to lock a file that has already been locked by the LockedFile." alt="" coords="11,379,181,423"/>
-<area shape="rect" id="node207" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node207" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-<area shape="rect" id="node208" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node208" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node208" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node208" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node208" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node208" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node208" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node208" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node208" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node208" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node208" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node208" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_42.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_42" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Trying to lock a file that has already been locked by the LockedFile.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.locked_file.CredentialsFileSymbolicLinkError-class.html b/docs/epy/oauth2client.locked_file.CredentialsFileSymbolicLinkError-class.html
deleted file mode 100644
index f5449e1..0000000
--- a/docs/epy/oauth2client.locked_file.CredentialsFileSymbolicLinkError-class.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.locked_file.CredentialsFileSymbolicLinkError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.locked_file-module.html">Module&nbsp;locked_file</a> ::
-        Class&nbsp;CredentialsFileSymbolicLinkError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.locked_file.CredentialsFileSymbolicLinkError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class CredentialsFileSymbolicLinkError</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.locked_file-pysrc.html#CredentialsFileSymbolicLinkError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_43" name="uml_class_diagram_for_oauth2cl_43">
-<area shape="rect" id="node1" href="oauth2client.locked_file.CredentialsFileSymbolicLinkError-class.html" title="Credentials files must not be symbolic links." alt="" coords="5,379,224,423"/>
-<area shape="rect" id="node210" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="51,316,177,335"/>
-<area shape="rect" id="node210" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="51,335,177,353"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="39,283,188,359"/>
-<area shape="rect" id="node211" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="36,31,193,49"/>
-<area shape="rect" id="node211" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="36,49,193,68"/>
-<area shape="rect" id="node211" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="36,71,193,89"/>
-<area shape="rect" id="node211" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="36,89,193,108"/>
-<area shape="rect" id="node211" href="javascript:void(0);" title="x[y]" alt="" coords="36,108,193,127"/>
-<area shape="rect" id="node211" href="javascript:void(0);" title="x[i:j]" alt="" coords="36,127,193,145"/>
-<area shape="rect" id="node211" href="javascript:void(0);" title="helper for pickle" alt="" coords="36,145,193,164"/>
-<area shape="rect" id="node211" href="javascript:void(0);" title="repr(x)" alt="" coords="36,164,193,183"/>
-<area shape="rect" id="node211" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="36,183,193,201"/>
-<area shape="rect" id="node211" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="36,201,193,220"/>
-<area shape="rect" id="node211" href="javascript:void(0);" title="str(x)" alt="" coords="36,220,193,239"/>
-<area shape="rect" id="node211" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="36,239,193,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="24,6,205,263"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_43.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_43" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Credentials files must not be symbolic links.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.locked_file.LockedFile-class.html b/docs/epy/oauth2client.locked_file.LockedFile-class.html
deleted file mode 100644
index 1d1d322..0000000
--- a/docs/epy/oauth2client.locked_file.LockedFile-class.html
+++ /dev/null
@@ -1,378 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.locked_file.LockedFile</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.locked_file-module.html">Module&nbsp;locked_file</a> ::
-        Class&nbsp;LockedFile
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.locked_file.LockedFile-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class LockedFile</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.locked_file-pysrc.html#LockedFile">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_44" name="uml_class_diagram_for_oauth2cl_44">
-<area shape="rect" id="node212" href="oauth2client.locked_file.LockedFile-class.html#__init__" title="Construct a LockedFile." alt="" coords="17,39,441,57"/>
-<area shape="rect" id="node212" href="oauth2client.locked_file.LockedFile-class.html#filename" title="Return the filename we were constructed with." alt="" coords="17,57,441,76"/>
-<area shape="rect" id="node212" href="oauth2client.locked_file.LockedFile-class.html#file_handle" title="Return the file_handle to the opened file." alt="" coords="17,76,441,95"/>
-<area shape="rect" id="node212" href="oauth2client.locked_file.LockedFile-class.html#is_locked" title="Return whether we successfully locked the file." alt="" coords="17,95,441,113"/>
-<area shape="rect" id="node212" href="oauth2client.locked_file.LockedFile-class.html#open_and_lock" title="Open the file, trying to lock it." alt="" coords="17,113,441,132"/>
-<area shape="rect" id="node212" href="oauth2client.locked_file.LockedFile-class.html#unlock_and_close" title="Unlock and close a file." alt="" coords="17,132,441,151"/>
-<area shape="rect" id="node1" href="oauth2client.locked_file.LockedFile-class.html" title="Represent a file that has exclusive access." alt="" coords="5,6,453,157"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_44.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_44" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Represent a file that has exclusive access.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.locked_file.LockedFile-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">filename</span>,
-        <span class="summary-sig-arg">mode</span>,
-        <span class="summary-sig-arg">fallback_mode</span>,
-        <span class="summary-sig-arg">use_native_locking</span>=<span class="summary-sig-default">True</span>)</span><br />
-      Construct a LockedFile.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.locked_file-pysrc.html#LockedFile.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="filename"></a><span class="summary-sig-name">filename</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Return the filename we were constructed with.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.locked_file-pysrc.html#LockedFile.filename">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="file_handle"></a><span class="summary-sig-name">file_handle</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Return the file_handle to the opened file.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.locked_file-pysrc.html#LockedFile.file_handle">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="is_locked"></a><span class="summary-sig-name">is_locked</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Return whether we successfully locked the file.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.locked_file-pysrc.html#LockedFile.is_locked">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.locked_file.LockedFile-class.html#open_and_lock" class="summary-sig-name">open_and_lock</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">0</span>,
-        <span class="summary-sig-arg">delay</span>=<span class="summary-sig-default">0.05</span>)</span><br />
-      Open the file, trying to lock it.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.locked_file-pysrc.html#LockedFile.open_and_lock">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="unlock_and_close"></a><span class="summary-sig-name">unlock_and_close</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Unlock and close a file.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.locked_file-pysrc.html#LockedFile.unlock_and_close">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">filename</span>,
-        <span class="sig-arg">mode</span>,
-        <span class="sig-arg">fallback_mode</span>,
-        <span class="sig-arg">use_native_locking</span>=<span class="sig-default">True</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.locked_file-pysrc.html#LockedFile.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Construct a LockedFile.
-
-Args:
-  filename: string, The path of the file to open.
-  mode: string, The mode to try to open the file with.
-  fallback_mode: string, The mode to use if locking fails.
-  use_native_locking: bool, Whether or not fcntl/win32 locking is used.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(4)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="open_and_lock"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">open_and_lock</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">timeout</span>=<span class="sig-default">0</span>,
-        <span class="sig-arg">delay</span>=<span class="sig-default">0.05</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.locked_file-pysrc.html#LockedFile.open_and_lock">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Open the file, trying to lock it.
-
-Args:
-  timeout: float, The number of seconds to try to acquire the lock.
-  delay: float, The number of seconds to wait between retry attempts.
-
-Raises:
-  AlreadyLockedException: if the lock is already acquired.
-  IOError: if the open fails.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.locked_file._Opener-class.html b/docs/epy/oauth2client.locked_file._Opener-class.html
deleted file mode 100644
index 1513b01..0000000
--- a/docs/epy/oauth2client.locked_file._Opener-class.html
+++ /dev/null
@@ -1,389 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.locked_file._Opener</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.locked_file-module.html">Module&nbsp;locked_file</a> ::
-        Class&nbsp;_Opener
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.locked_file._Opener-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class _Opener</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.locked_file-pysrc.html#_Opener">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_45" name="uml_class_diagram_for_oauth2cl_45">
-<area shape="rect" id="node213" href="oauth2client.locked_file._Opener-class.html#__init__" title="Create an Opener." alt="" coords="17,39,288,57"/>
-<area shape="rect" id="node213" href="oauth2client.locked_file._Opener-class.html#is_locked" title="Was the file locked." alt="" coords="17,57,288,76"/>
-<area shape="rect" id="node213" href="oauth2client.locked_file._Opener-class.html#file_handle" title="The file handle to the file." alt="" coords="17,76,288,95"/>
-<area shape="rect" id="node213" href="oauth2client.locked_file._Opener-class.html#filename" title="The filename that is being locked." alt="" coords="17,95,288,113"/>
-<area shape="rect" id="node213" href="oauth2client.locked_file._Opener-class.html#open_and_lock" title="Open the file and lock it." alt="" coords="17,113,288,132"/>
-<area shape="rect" id="node213" href="oauth2client.locked_file._Opener-class.html#unlock_and_close" title="Unlock and close the file." alt="" coords="17,132,288,151"/>
-<area shape="rect" id="node1" href="oauth2client.locked_file._Opener-class.html" title="Base class for different locking primitives." alt="" coords="5,6,299,157"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_45.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_45" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Base class for different locking primitives.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.locked_file._Opener-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">filename</span>,
-        <span class="summary-sig-arg">mode</span>,
-        <span class="summary-sig-arg">fallback_mode</span>)</span><br />
-      Create an Opener.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.locked_file-pysrc.html#_Opener.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="is_locked"></a><span class="summary-sig-name">is_locked</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Was the file locked.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.locked_file-pysrc.html#_Opener.is_locked">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.locked_file._Opener-class.html#file_handle" class="summary-sig-name">file_handle</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      The file handle to the file.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.locked_file-pysrc.html#_Opener.file_handle">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="filename"></a><span class="summary-sig-name">filename</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      The filename that is being locked.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.locked_file-pysrc.html#_Opener.filename">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.locked_file._Opener-class.html#open_and_lock" class="summary-sig-name">open_and_lock</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">timeout</span>,
-        <span class="summary-sig-arg">delay</span>)</span><br />
-      Open the file and lock it.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.locked_file-pysrc.html#_Opener.open_and_lock">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="unlock_and_close"></a><span class="summary-sig-name">unlock_and_close</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Unlock and close the file.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.locked_file-pysrc.html#_Opener.unlock_and_close">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">filename</span>,
-        <span class="sig-arg">mode</span>,
-        <span class="sig-arg">fallback_mode</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.locked_file-pysrc.html#_Opener.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Create an Opener.
-
-Args:
-  filename: string, The pathname of the file.
-  mode: string, The preferred mode to access the file with.
-  fallback_mode: string, The mode to use if locking fails.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="file_handle"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">file_handle</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.locked_file-pysrc.html#_Opener.file_handle">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-The file handle to the file. Valid only after opened.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="open_and_lock"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">open_and_lock</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">timeout</span>,
-        <span class="sig-arg">delay</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.locked_file-pysrc.html#_Opener.open_and_lock">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Open the file and lock it.
-
-Args:
-  timeout: float, How long to try to lock for.
-  delay: float, How long to wait between retries.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.locked_file._PosixOpener-class.html b/docs/epy/oauth2client.locked_file._PosixOpener-class.html
deleted file mode 100644
index fa15b22..0000000
--- a/docs/epy/oauth2client.locked_file._PosixOpener-class.html
+++ /dev/null
@@ -1,322 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.locked_file._PosixOpener</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.locked_file-module.html">Module&nbsp;locked_file</a> ::
-        Class&nbsp;_PosixOpener
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.locked_file._PosixOpener-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class _PosixOpener</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.locked_file-pysrc.html#_PosixOpener">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_46" name="uml_class_diagram_for_oauth2cl_46">
-<area shape="rect" id="node214" href="oauth2client.locked_file._PosixOpener-class.html#open_and_lock" title="Open the file and lock it." alt="" coords="47,172,260,191"/>
-<area shape="rect" id="node214" href="oauth2client.locked_file._PosixOpener-class.html#unlock_and_close" title="Unlock a file by removing the .lock file, and close the handle." alt="" coords="47,191,260,209"/>
-<area shape="rect" id="node1" href="oauth2client.locked_file._PosixOpener-class.html" title="Lock files using Posix advisory lock files." alt="" coords="35,139,272,215"/>
-<area shape="rect" id="node215" href="oauth2client.locked_file._Opener-class.html#__init__" title="Create an Opener." alt="" coords="17,39,288,57"/>
-<area shape="rect" id="node215" href="oauth2client.locked_file._Opener-class.html#is_locked" title="Was the file locked." alt="" coords="17,57,288,76"/>
-<area shape="rect" id="node215" href="oauth2client.locked_file._Opener-class.html#file_handle" title="The file handle to the file." alt="" coords="17,76,288,95"/>
-<area shape="rect" id="node215" href="oauth2client.locked_file._Opener-class.html#filename" title="The filename that is being locked." alt="" coords="17,95,288,113"/>
-<area shape="rect" id="node2" href="oauth2client.locked_file._Opener-class.html" title="Base class for different locking primitives." alt="" coords="5,6,299,119"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_46.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_46" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Lock files using Posix advisory lock files.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.locked_file._PosixOpener-class.html#open_and_lock" class="summary-sig-name">open_and_lock</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">timeout</span>,
-        <span class="summary-sig-arg">delay</span>)</span><br />
-      Open the file and lock it.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.locked_file-pysrc.html#_PosixOpener.open_and_lock">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.locked_file._PosixOpener-class.html#unlock_and_close" class="summary-sig-name">unlock_and_close</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Unlock a file by removing the .lock file, and close the handle.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.locked_file-pysrc.html#_PosixOpener.unlock_and_close">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_posix_lockfile"></a><span class="summary-sig-name">_posix_lockfile</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">filename</span>)</span><br />
-      The name of the lock file to use for posix locking.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.locked_file-pysrc.html#_PosixOpener._posix_lockfile">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.locked_file._Opener-class.html" onclick="show_private();">_Opener</a></code></b>:
-      <code><a href="oauth2client.locked_file._Opener-class.html#__init__">__init__</a></code>,
-      <code><a href="oauth2client.locked_file._Opener-class.html#file_handle">file_handle</a></code>,
-      <code><a href="oauth2client.locked_file._Opener-class.html#filename">filename</a></code>,
-      <code><a href="oauth2client.locked_file._Opener-class.html#is_locked">is_locked</a></code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="open_and_lock"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">open_and_lock</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">timeout</span>,
-        <span class="sig-arg">delay</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.locked_file-pysrc.html#_PosixOpener.open_and_lock">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Open the file and lock it.
-
-Tries to create a .lock file next to the file we're trying to open.
-
-Args:
-  timeout: float, How long to try to lock for.
-  delay: float, How long to wait between retries.
-
-Raises:
-  AlreadyLockedException: if the lock is already acquired.
-  IOError: if the open fails.
-  CredentialsFileSymbolicLinkError if the file is a symbolic link.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.locked_file._Opener-class.html#open_and_lock">_Opener.open_and_lock</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="unlock_and_close"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">unlock_and_close</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.locked_file-pysrc.html#_PosixOpener.unlock_and_close">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Unlock a file by removing the .lock file, and close the handle.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.locked_file._Opener-class.html#unlock_and_close">_Opener.unlock_and_close</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.multistore_file-module.html b/docs/epy/oauth2client.multistore_file-module.html
deleted file mode 100644
index 0f5cb01..0000000
--- a/docs/epy/oauth2client.multistore_file-module.html
+++ /dev/null
@@ -1,539 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.multistore_file</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;multistore_file
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.multistore_file-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module multistore_file</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-Multi-credential file store with lock support.
-
-This module implements a JSON credential store where multiple
-credentials can be stored in one file. That file supports locking
-both in a single process and across processes.
-
-The credential themselves are keyed off of:
-* client_id
-* user_agent
-* scope
-
-The format of the stored data is like so:
-{
-  'file_version': 1,
-  'data': [
-    {
-      'key': {
-        'clientId': '&lt;client id&gt;',
-        'userAgent': '&lt;user agent&gt;',
-        'scope': '&lt;scope&gt;'
-      },
-      'credential': {
-        # JSON serialized Credentials.
-      }
-    }
-  ]
-}
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        jbeda@google.com (Joe Beda)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.multistore_file.Error-class.html" class="summary-name">Error</a><br />
-      Base error for this module.
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.multistore_file.NewerCredentialStoreError-class.html" class="summary-name">NewerCredentialStoreError</a><br />
-      The credential store is a newer version that supported.
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.multistore_file._MultiStore-class.html" class="summary-name" onclick="show_private();">_MultiStore</a><br />
-      A file backed store for multiple credentials.
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file-module.html#get_credential_storage" class="summary-sig-name">get_credential_storage</a>(<span class="summary-sig-arg">filename</span>,
-        <span class="summary-sig-arg">client_id</span>,
-        <span class="summary-sig-arg">user_agent</span>,
-        <span class="summary-sig-arg">scope</span>,
-        <span class="summary-sig-arg">warn_on_readonly</span>=<span class="summary-sig-default">True</span>)</span><br />
-      Get a Storage instance for a credential.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#get_credential_storage">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file-module.html#get_credential_storage_custom_string_key" class="summary-sig-name">get_credential_storage_custom_string_key</a>(<span class="summary-sig-arg">filename</span>,
-        <span class="summary-sig-arg">key_string</span>,
-        <span class="summary-sig-arg">warn_on_readonly</span>=<span class="summary-sig-default">True</span>)</span><br />
-      Get a Storage instance for a credential using a single string as a key.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#get_credential_storage_custom_string_key">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file-module.html#get_credential_storage_custom_key" class="summary-sig-name">get_credential_storage_custom_key</a>(<span class="summary-sig-arg">filename</span>,
-        <span class="summary-sig-arg">key_dict</span>,
-        <span class="summary-sig-arg">warn_on_readonly</span>=<span class="summary-sig-default">True</span>)</span><br />
-      Get a Storage instance for a credential using a dictionary as a key.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#get_credential_storage_custom_key">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file-module.html#get_all_credential_keys" class="summary-sig-name">get_all_credential_keys</a>(<span class="summary-sig-arg">filename</span>,
-        <span class="summary-sig-arg">warn_on_readonly</span>=<span class="summary-sig-default">True</span>)</span><br />
-      Gets all the registered credential keys in the given Multistore.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#get_all_credential_keys">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file-module.html#_get_multistore" class="summary-sig-name" onclick="show_private();">_get_multistore</a>(<span class="summary-sig-arg">filename</span>,
-        <span class="summary-sig-arg">warn_on_readonly</span>=<span class="summary-sig-default">True</span>)</span><br />
-      A helper method to initialize the multistore with proper locking.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_get_multistore">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="_multistores"></a><span class="summary-name">_multistores</span> = <code title="{}">{}</code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="_multistores_lock"></a><span class="summary-name">_multistores_lock</span> = <code title="threading.Lock()">threading.Lock()</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="get_credential_storage"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_credential_storage</span>(<span class="sig-arg">filename</span>,
-        <span class="sig-arg">client_id</span>,
-        <span class="sig-arg">user_agent</span>,
-        <span class="sig-arg">scope</span>,
-        <span class="sig-arg">warn_on_readonly</span>=<span class="sig-default">True</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#get_credential_storage">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Get a Storage instance for a credential.
-
-Args:
-  filename: The JSON file storing a set of credentials
-  client_id: The client_id for the credential
-  user_agent: The user agent for the credential
-  scope: string or iterable of strings, Scope(s) being requested
-  warn_on_readonly: if True, log a warning if the store is readonly
-
-Returns:
-  An object derived from client.Storage for getting/setting the
-  credential.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(4)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="get_credential_storage_custom_string_key"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_credential_storage_custom_string_key</span>(<span class="sig-arg">filename</span>,
-        <span class="sig-arg">key_string</span>,
-        <span class="sig-arg">warn_on_readonly</span>=<span class="sig-default">True</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#get_credential_storage_custom_string_key">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Get a Storage instance for a credential using a single string as a key.
-
-Allows you to provide a string as a custom key that will be used for
-credential storage and retrieval.
-
-Args:
-  filename: The JSON file storing a set of credentials
-  key_string: A string to use as the key for storing this credential.
-  warn_on_readonly: if True, log a warning if the store is readonly
-
-Returns:
-  An object derived from client.Storage for getting/setting the
-  credential.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="get_credential_storage_custom_key"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_credential_storage_custom_key</span>(<span class="sig-arg">filename</span>,
-        <span class="sig-arg">key_dict</span>,
-        <span class="sig-arg">warn_on_readonly</span>=<span class="sig-default">True</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#get_credential_storage_custom_key">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Get a Storage instance for a credential using a dictionary as a key.
-
-Allows you to provide a dictionary as a custom key that will be used for
-credential storage and retrieval.
-
-Args:
-  filename: The JSON file storing a set of credentials
-  key_dict: A dictionary to use as the key for storing this credential. There
-    is no ordering of the keys in the dictionary. Logically equivalent
-    dictionaries will produce equivalent storage keys.
-  warn_on_readonly: if True, log a warning if the store is readonly
-
-Returns:
-  An object derived from client.Storage for getting/setting the
-  credential.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="get_all_credential_keys"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_all_credential_keys</span>(<span class="sig-arg">filename</span>,
-        <span class="sig-arg">warn_on_readonly</span>=<span class="sig-default">True</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#get_all_credential_keys">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Gets all the registered credential keys in the given Multistore.
-
-Args:
-  filename: The JSON file storing a set of credentials
-  warn_on_readonly: if True, log a warning if the store is readonly
-
-Returns:
-  A list of the credential keys present in the file.  They are returned as
-  dictionaries that can be passed into get_credential_storage_custom_key to
-  get the actual credentials.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(1)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_get_multistore"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_get_multistore</span>(<span class="sig-arg">filename</span>,
-        <span class="sig-arg">warn_on_readonly</span>=<span class="sig-default">True</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_get_multistore">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-A helper method to initialize the multistore with proper locking.
-
-Args:
-  filename: The JSON file storing a set of credentials
-  warn_on_readonly: if True, log a warning if the store is readonly
-
-Returns:
-  A multistore object
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(1)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.multistore_file-pysrc.html b/docs/epy/oauth2client.multistore_file-pysrc.html
deleted file mode 100644
index c1620bf..0000000
--- a/docs/epy/oauth2client.multistore_file-pysrc.html
+++ /dev/null
@@ -1,655 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.multistore_file</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;multistore_file
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.multistore_file-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="oauth2client.multistore_file-module.html">Module oauth2client.multistore_file</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright 2011 Google Inc.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">"""Multi-credential file store with lock support.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">This module implements a JSON credential store where multiple</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">credentials can be stored in one file. That file supports locking</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">both in a single process and across processes.</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">The credential themselves are keyed off of:</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">* client_id</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">* user_agent</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">* scope</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring">The format of the stored data is like so:</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">{</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-docstring">  'file_version': 1,</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-docstring">  'data': [</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-docstring">    {</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring">      'key': {</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring">        'clientId': '&lt;client id&gt;',</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-docstring">        'userAgent': '&lt;user agent&gt;',</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring">        'scope': '&lt;scope&gt;'</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-docstring">      },</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring">      'credential': {</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-docstring">        # JSON serialized Credentials.</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-docstring">      }</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-docstring">    }</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-docstring">  ]</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-docstring">}</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jbeda@google.com (Joe Beda)'</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">base64</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">errno</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">threading</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module oauth2client.anyjson=oauth2client.anyjson-module.html"><a title="oauth2client.anyjson" class="py-name" href="#" onclick="return doclink('link-0', 'anyjson', 'link-0');">anyjson</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package oauth2client=oauth2client-module.html"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-1', 'oauth2client', 'link-1');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module oauth2client.client=oauth2client.client-module.html"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-2', 'client', 'link-2');">client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class oauth2client.client.Storage=oauth2client.client.Storage-class.html,Class oauth2client.django_orm.Storage=oauth2client.django_orm.Storage-class.html,Class oauth2client.file.Storage=oauth2client.file.Storage-class.html,Class oauth2client.keyring_storage.Storage=oauth2client.keyring_storage.Storage-class.html"><a title="oauth2client.client.Storage
-oauth2client.django_orm.Storage
-oauth2client.file.Storage
-oauth2client.keyring_storage.Storage" class="py-name" href="#" onclick="return doclink('link-3', 'Storage', 'link-3');">Storage</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">BaseStorage</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-4', 'oauth2client', 'link-1');">oauth2client</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-5', 'client', 'link-2');">client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class oauth2client.client.Credentials=oauth2client.client.Credentials-class.html"><a title="oauth2client.client.Credentials" class="py-name" href="#" onclick="return doclink('link-6', 'Credentials', 'link-6');">Credentials</a></tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-7', 'oauth2client', 'link-1');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-8" class="py-name" targets="Module oauth2client.util=oauth2client.util-module.html"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-8', 'util', 'link-8');">util</a></tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-9" class="py-name" targets="Module oauth2client.locked_file=oauth2client.locked_file-module.html"><a title="oauth2client.locked_file" class="py-name" href="#" onclick="return doclink('link-9', 'locked_file', 'link-9');">locked_file</a></tt> <tt class="py-keyword">import</tt> <tt id="link-10" class="py-name" targets="Class oauth2client.locked_file.LockedFile=oauth2client.locked_file.LockedFile-class.html"><a title="oauth2client.locked_file.LockedFile" class="py-name" href="#" onclick="return doclink('link-10', 'LockedFile', 'link-10');">LockedFile</a></tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt id="link-11" class="py-name" targets="Variable apiclient.discovery.logger=apiclient.discovery-module.html#logger,Variable oauth2client.appengine.logger=oauth2client.appengine-module.html#logger,Variable oauth2client.client.logger=oauth2client.client-module.html#logger,Variable oauth2client.crypt.logger=oauth2client.crypt-module.html#logger,Variable oauth2client.gce.logger=oauth2client.gce-module.html#logger,Variable oauth2client.locked_file.logger=oauth2client.locked_file-module.html#logger,Variable oauth2client.multistore_file.logger=oauth2client.multistore_file-module.html#logger,Variable oauth2client.util.logger=oauth2client.util-module.html#logger"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-11', 'logger', 'link-11');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-name">__name__</tt><tt class="py-op">)</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-comment"># A dict from 'filename'-&gt;_MultiStore instances</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt id="link-12" class="py-name" targets="Variable oauth2client.multistore_file._multistores=oauth2client.multistore_file-module.html#_multistores"><a title="oauth2client.multistore_file._multistores" class="py-name" href="#" onclick="return doclink('link-12', '_multistores', 'link-12');">_multistores</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt id="link-13" class="py-name" targets="Variable oauth2client.multistore_file._multistores_lock=oauth2client.multistore_file-module.html#_multistores_lock"><a title="oauth2client.multistore_file._multistores_lock" class="py-name" href="#" onclick="return doclink('link-13', '_multistores_lock', 'link-13');">_multistores_lock</a></tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Lock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="Error"></a><div id="Error-def"><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <a class="py-toggle" href="#" id="Error-toggle" onclick="return toggle('Error');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.multistore_file.Error-class.html">Error</a><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Error-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Error-expanded"><a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">  <tt class="py-docstring">"""Base error for this module."""</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
-<a name="NewerCredentialStoreError"></a><div id="NewerCredentialStoreError-def"><a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <a class="py-toggle" href="#" id="NewerCredentialStoreError-toggle" onclick="return toggle('NewerCredentialStoreError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.multistore_file.NewerCredentialStoreError-class.html">NewerCredentialStoreError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="NewerCredentialStoreError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="NewerCredentialStoreError-expanded"><a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">  <tt class="py-docstring">"""The credential store is a newer version that supported."""</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"> </tt>
-<a name="get_credential_storage"></a><div id="get_credential_storage-def"><a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Function oauth2client.util.positional()=oauth2client.util-module.html#positional"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-14', 'positional', 'link-14');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <a class="py-toggle" href="#" id="get_credential_storage-toggle" onclick="return toggle('get_credential_storage');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file-module.html#get_credential_storage">get_credential_storage</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">client_id</tt><tt class="py-op">,</tt> <tt class="py-param">user_agent</tt><tt class="py-op">,</tt> <tt class="py-param">scope</tt><tt class="py-op">,</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">                           <tt class="py-param">warn_on_readonly</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_credential_storage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="get_credential_storage-expanded"><a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">  <tt class="py-docstring">"""Get a Storage instance for a credential.</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">    filename: The JSON file storing a set of credentials</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">    client_id: The client_id for the credential</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">    user_agent: The user agent for the credential</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">    scope: string or iterable of strings, Scope(s) being requested</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">    warn_on_readonly: if True, log a warning if the store is readonly</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"><tt class="py-docstring">    An object derived from client.Storage for getting/setting the</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-docstring">    credential.</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">  <tt class="py-comment"># Recreate the legacy key with these specific parameters</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">  <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'clientId'</tt><tt class="py-op">:</tt> <tt class="py-name">client_id</tt><tt class="py-op">,</tt> <tt class="py-string">'userAgent'</tt><tt class="py-op">:</tt> <tt class="py-name">user_agent</tt><tt class="py-op">,</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">         <tt class="py-string">'scope'</tt><tt class="py-op">:</tt> <tt id="link-15" class="py-name"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-15', 'util', 'link-8');">util</a></tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Function oauth2client.util.scopes_to_string()=oauth2client.util-module.html#scopes_to_string"><a title="oauth2client.util.scopes_to_string" class="py-name" href="#" onclick="return doclink('link-16', 'scopes_to_string', 'link-16');">scopes_to_string</a></tt><tt class="py-op">(</tt><tt class="py-name">scope</tt><tt class="py-op">)</tt><tt class="py-op">}</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-17" class="py-name" targets="Function oauth2client.multistore_file.get_credential_storage_custom_key()=oauth2client.multistore_file-module.html#get_credential_storage_custom_key"><a title="oauth2client.multistore_file.get_credential_storage_custom_key" class="py-name" href="#" onclick="return doclink('link-17', 'get_credential_storage_custom_key', 'link-17');">get_credential_storage_custom_key</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">      <tt id="link-18" class="py-name" targets="Method oauth2client.locked_file.LockedFile.filename()=oauth2client.locked_file.LockedFile-class.html#filename,Method oauth2client.locked_file._Opener.filename()=oauth2client.locked_file._Opener-class.html#filename"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-18', 'filename', 'link-18');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">warn_on_readonly</tt><tt class="py-op">=</tt><tt class="py-name">warn_on_readonly</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"> </tt>
-<a name="get_credential_storage_custom_string_key"></a><div id="get_credential_storage_custom_string_key-def"><a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-19', 'positional', 'link-14');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <a class="py-toggle" href="#" id="get_credential_storage_custom_string_key-toggle" onclick="return toggle('get_credential_storage_custom_string_key');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file-module.html#get_credential_storage_custom_string_key">get_credential_storage_custom_string_key</a><tt class="py-op">(</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">    <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">key_string</tt><tt class="py-op">,</tt> <tt class="py-param">warn_on_readonly</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_credential_storage_custom_string_key-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="get_credential_storage_custom_string_key-expanded"><a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">  <tt class="py-docstring">"""Get a Storage instance for a credential using a single string as a key.</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring">  Allows you to provide a string as a custom key that will be used for</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-docstring">  credential storage and retrieval.</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">    filename: The JSON file storing a set of credentials</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring">    key_string: A string to use as the key for storing this credential.</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-docstring">    warn_on_readonly: if True, log a warning if the store is readonly</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-docstring">    An object derived from client.Storage for getting/setting the</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-docstring">    credential.</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">  <tt class="py-comment"># Create a key dictionary that can be used</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">  <tt class="py-name">key_dict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'key'</tt><tt class="py-op">:</tt> <tt class="py-name">key_string</tt><tt class="py-op">}</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-20" class="py-name"><a title="oauth2client.multistore_file.get_credential_storage_custom_key" class="py-name" href="#" onclick="return doclink('link-20', 'get_credential_storage_custom_key', 'link-17');">get_credential_storage_custom_key</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">      <tt id="link-21" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-21', 'filename', 'link-18');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">key_dict</tt><tt class="py-op">,</tt> <tt class="py-name">warn_on_readonly</tt><tt class="py-op">=</tt><tt class="py-name">warn_on_readonly</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"> </tt>
-<a name="get_credential_storage_custom_key"></a><div id="get_credential_storage_custom_key-def"><a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-22', 'positional', 'link-14');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <a class="py-toggle" href="#" id="get_credential_storage_custom_key-toggle" onclick="return toggle('get_credential_storage_custom_key');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file-module.html#get_credential_storage_custom_key">get_credential_storage_custom_key</a><tt class="py-op">(</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">    <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">key_dict</tt><tt class="py-op">,</tt> <tt class="py-param">warn_on_readonly</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_credential_storage_custom_key-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="get_credential_storage_custom_key-expanded"><a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">  <tt class="py-docstring">"""Get a Storage instance for a credential using a dictionary as a key.</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring">  Allows you to provide a dictionary as a custom key that will be used for</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">  credential storage and retrieval.</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">    filename: The JSON file storing a set of credentials</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring">    key_dict: A dictionary to use as the key for storing this credential. There</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">      is no ordering of the keys in the dictionary. Logically equivalent</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-docstring">      dictionaries will produce equivalent storage keys.</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">    warn_on_readonly: if True, log a warning if the store is readonly</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-docstring">    An object derived from client.Storage for getting/setting the</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-docstring">    credential.</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">  <tt class="py-name">multistore</tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name" targets="Function oauth2client.multistore_file._get_multistore()=oauth2client.multistore_file-module.html#_get_multistore"><a title="oauth2client.multistore_file._get_multistore" class="py-name" href="#" onclick="return doclink('link-23', '_get_multistore', 'link-23');">_get_multistore</a></tt><tt class="py-op">(</tt><tt id="link-24" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-24', 'filename', 'link-18');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">warn_on_readonly</tt><tt class="py-op">=</tt><tt class="py-name">warn_on_readonly</tt><tt class="py-op">)</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">  <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-25', 'util', 'link-8');">util</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Function oauth2client.util.dict_to_tuple_key()=oauth2client.util-module.html#dict_to_tuple_key"><a title="oauth2client.util.dict_to_tuple_key" class="py-name" href="#" onclick="return doclink('link-26', 'dict_to_tuple_key', 'link-26');">dict_to_tuple_key</a></tt><tt class="py-op">(</tt><tt class="py-name">key_dict</tt><tt class="py-op">)</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">multistore</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method oauth2client.multistore_file._MultiStore._get_storage()=oauth2client.multistore_file._MultiStore-class.html#_get_storage"><a title="oauth2client.multistore_file._MultiStore._get_storage" class="py-name" href="#" onclick="return doclink('link-27', '_get_storage', 'link-27');">_get_storage</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"> </tt>
-<a name="get_all_credential_keys"></a><div id="get_all_credential_keys-def"><a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-28', 'positional', 'link-14');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <a class="py-toggle" href="#" id="get_all_credential_keys-toggle" onclick="return toggle('get_all_credential_keys');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file-module.html#get_all_credential_keys">get_all_credential_keys</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">warn_on_readonly</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_all_credential_keys-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="get_all_credential_keys-expanded"><a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">  <tt class="py-docstring">"""Gets all the registered credential keys in the given Multistore.</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-docstring">    filename: The JSON file storing a set of credentials</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-docstring">    warn_on_readonly: if True, log a warning if the store is readonly</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">    A list of the credential keys present in the file.  They are returned as</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">    dictionaries that can be passed into get_credential_storage_custom_key to</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">    get the actual credentials.</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">  <tt class="py-name">multistore</tt> <tt class="py-op">=</tt> <tt id="link-29" class="py-name"><a title="oauth2client.multistore_file._get_multistore" class="py-name" href="#" onclick="return doclink('link-29', '_get_multistore', 'link-23');">_get_multistore</a></tt><tt class="py-op">(</tt><tt id="link-30" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-30', 'filename', 'link-18');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">warn_on_readonly</tt><tt class="py-op">=</tt><tt class="py-name">warn_on_readonly</tt><tt class="py-op">)</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">  <tt class="py-name">multistore</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method oauth2client.multistore_file._MultiStore._lock()=oauth2client.multistore_file._MultiStore-class.html#_lock"><a title="oauth2client.multistore_file._MultiStore._lock" class="py-name" href="#" onclick="return doclink('link-31', '_lock', 'link-31');">_lock</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">  <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">multistore</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Method oauth2client.multistore_file._MultiStore._get_all_credential_keys()=oauth2client.multistore_file._MultiStore-class.html#_get_all_credential_keys"><a title="oauth2client.multistore_file._MultiStore._get_all_credential_keys" class="py-name" href="#" onclick="return doclink('link-32', '_get_all_credential_keys', 'link-32');">_get_all_credential_keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">  <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">    <tt class="py-name">multistore</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method oauth2client.multistore_file._MultiStore._unlock()=oauth2client.multistore_file._MultiStore-class.html#_unlock"><a title="oauth2client.multistore_file._MultiStore._unlock" class="py-name" href="#" onclick="return doclink('link-33', '_unlock', 'link-33');">_unlock</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"> </tt>
-<a name="_get_multistore"></a><div id="_get_multistore-def"><a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-34', 'positional', 'link-14');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <a class="py-toggle" href="#" id="_get_multistore-toggle" onclick="return toggle('_get_multistore');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file-module.html#_get_multistore">_get_multistore</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">warn_on_readonly</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_get_multistore-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_get_multistore-expanded"><a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">  <tt class="py-docstring">"""A helper method to initialize the multistore with proper locking.</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-docstring">    filename: The JSON file storing a set of credentials</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-docstring">    warn_on_readonly: if True, log a warning if the store is readonly</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-docstring">    A multistore object</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">  <tt id="link-35" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-35', 'filename', 'link-18');">filename</a></tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt id="link-36" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-36', 'filename', 'link-18');">filename</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">  <tt id="link-37" class="py-name"><a title="oauth2client.multistore_file._multistores_lock" class="py-name" href="#" onclick="return doclink('link-37', '_multistores_lock', 'link-13');">_multistores_lock</a></tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">  <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">    <tt class="py-name">multistore</tt> <tt class="py-op">=</tt> <tt id="link-38" class="py-name"><a title="oauth2client.multistore_file._multistores" class="py-name" href="#" onclick="return doclink('link-38', '_multistores', 'link-12');">_multistores</a></tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt id="link-39" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-39', 'filename', 'link-18');">filename</a></tt><tt class="py-op">,</tt> <tt id="link-40" class="py-name" targets="Class oauth2client.multistore_file._MultiStore=oauth2client.multistore_file._MultiStore-class.html"><a title="oauth2client.multistore_file._MultiStore" class="py-name" href="#" onclick="return doclink('link-40', '_MultiStore', 'link-40');">_MultiStore</a></tt><tt class="py-op">(</tt><tt id="link-41" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-41', 'filename', 'link-18');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">warn_on_readonly</tt><tt class="py-op">=</tt><tt class="py-name">warn_on_readonly</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">  <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">    <tt id="link-42" class="py-name"><a title="oauth2client.multistore_file._multistores_lock" class="py-name" href="#" onclick="return doclink('link-42', '_multistores_lock', 'link-13');">_multistores_lock</a></tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">multistore</tt> </tt>
-</div><a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore"></a><div id="_MultiStore-def"><a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt> <a class="py-toggle" href="#" id="_MultiStore-toggle" onclick="return toggle('_MultiStore');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore-class.html">_MultiStore</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_MultiStore-expanded"><a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">  <tt class="py-docstring">"""A file backed store for multiple credentials."""</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-43', 'positional', 'link-14');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="_MultiStore.__init__"></a><div id="_MultiStore.__init__-def"><a name="L191"></a><tt class="py-lineno">191</tt> <a class="py-toggle" href="#" id="_MultiStore.__init__-toggle" onclick="return toggle('_MultiStore.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">warn_on_readonly</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_MultiStore.__init__-expanded"><a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">    <tt class="py-docstring">"""Initialize the class.</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"><tt class="py-docstring">    This will create the file if necessary.</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_file</tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name"><a title="oauth2client.locked_file.LockedFile" class="py-name" href="#" onclick="return doclink('link-44', 'LockedFile', 'link-10');">LockedFile</a></tt><tt class="py-op">(</tt><tt id="link-45" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-45', 'filename', 'link-18');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-string">'r+b'</tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_thread_lock</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Lock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_only</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_warn_on_readonly</tt> <tt class="py-op">=</tt> <tt class="py-name">warn_on_readonly</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line"> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name" targets="Method oauth2client.file.Storage._create_file_if_needed()=oauth2client.file.Storage-class.html#_create_file_if_needed,Method oauth2client.multistore_file._MultiStore._create_file_if_needed()=oauth2client.multistore_file._MultiStore-class.html#_create_file_if_needed"><a title="oauth2client.file.Storage._create_file_if_needed
-oauth2client.multistore_file._MultiStore._create_file_if_needed" class="py-name" href="#" onclick="return doclink('link-46', '_create_file_if_needed', 'link-46');">_create_file_if_needed</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">    <tt class="py-comment"># Cache of deserialized store. This is only valid after the</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">    <tt class="py-comment"># _MultiStore is locked or _refresh_data_cache is called. This is</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">    <tt class="py-comment"># of the form of:</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">    <tt class="py-comment">#</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">    <tt class="py-comment"># ((key, value), (key, value)...) -&gt; OAuth2Credential</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">    <tt class="py-comment">#</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">    <tt class="py-comment"># If this is None, then the store hasn't been read yet.</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._Storage"></a><div id="_MultiStore._Storage-def"><a name="L212"></a><tt class="py-lineno">212</tt> <a class="py-toggle" href="#" id="_MultiStore._Storage-toggle" onclick="return toggle('_MultiStore._Storage');">-</a><tt class="py-line">  <tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore._Storage-class.html">_Storage</a><tt class="py-op">(</tt><tt class="py-base-class">BaseStorage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._Storage-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_MultiStore._Storage-expanded"><a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">    <tt class="py-docstring">"""A Storage object that knows how to read/write a single credential."""</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._Storage.__init__"></a><div id="_MultiStore._Storage.__init__-def"><a name="L215"></a><tt class="py-lineno">215</tt> <a class="py-toggle" href="#" id="_MultiStore._Storage.__init__-toggle" onclick="return toggle('_MultiStore._Storage.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore._Storage-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">multistore</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._Storage.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="_MultiStore._Storage.__init__-expanded"><a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_multistore</tt> <tt class="py-op">=</tt> <tt class="py-name">multistore</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_key</tt> <tt class="py-op">=</tt> <tt class="py-name">key</tt> </tt>
-</div><a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._Storage.acquire_lock"></a><div id="_MultiStore._Storage.acquire_lock-def"><a name="L219"></a><tt class="py-lineno">219</tt> <a class="py-toggle" href="#" id="_MultiStore._Storage.acquire_lock-toggle" onclick="return toggle('_MultiStore._Storage.acquire_lock');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore._Storage-class.html#acquire_lock">acquire_lock</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._Storage.acquire_lock-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="_MultiStore._Storage.acquire_lock-expanded"><a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">      <tt class="py-docstring">"""Acquires any lock necessary to access this Storage.</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"><tt class="py-docstring">      This lock is not reentrant.</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_multistore</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="oauth2client.multistore_file._MultiStore._lock" class="py-name" href="#" onclick="return doclink('link-47', '_lock', 'link-31');">_lock</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._Storage.release_lock"></a><div id="_MultiStore._Storage.release_lock-def"><a name="L226"></a><tt class="py-lineno">226</tt> <a class="py-toggle" href="#" id="_MultiStore._Storage.release_lock-toggle" onclick="return toggle('_MultiStore._Storage.release_lock');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore._Storage-class.html#release_lock">release_lock</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._Storage.release_lock-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="_MultiStore._Storage.release_lock-expanded"><a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">      <tt class="py-docstring">"""Release the Storage lock.</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">      Trying to release a lock that isn't held will result in a</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring">      RuntimeError.</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_multistore</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="oauth2client.multistore_file._MultiStore._unlock" class="py-name" href="#" onclick="return doclink('link-48', '_unlock', 'link-33');">_unlock</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._Storage.locked_get"></a><div id="_MultiStore._Storage.locked_get-def"><a name="L234"></a><tt class="py-lineno">234</tt> <a class="py-toggle" href="#" id="_MultiStore._Storage.locked_get-toggle" onclick="return toggle('_MultiStore._Storage.locked_get');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore._Storage-class.html#locked_get">locked_get</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._Storage.locked_get-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="_MultiStore._Storage.locked_get-expanded"><a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">      <tt class="py-docstring">"""Retrieve credential.</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"><tt class="py-docstring">      The Storage lock must be held when this is called.</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"><tt class="py-docstring">      Returns:</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"><tt class="py-docstring">        oauth2client.client.Credentials</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">      <tt class="py-name">credential</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_multistore</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name" targets="Method oauth2client.multistore_file._MultiStore._get_credential()=oauth2client.multistore_file._MultiStore-class.html#_get_credential"><a title="oauth2client.multistore_file._MultiStore._get_credential" class="py-name" href="#" onclick="return doclink('link-49', '_get_credential', 'link-49');">_get_credential</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_key</tt><tt class="py-op">)</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">credential</tt><tt class="py-op">:</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-name">credential</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Method oauth2client.client.OAuth2Credentials.set_store()=oauth2client.client.OAuth2Credentials-class.html#set_store"><a title="oauth2client.client.OAuth2Credentials.set_store" class="py-name" href="#" onclick="return doclink('link-50', 'set_store', 'link-50');">set_store</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">credential</tt> </tt>
-</div><a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._Storage.locked_put"></a><div id="_MultiStore._Storage.locked_put-def"><a name="L247"></a><tt class="py-lineno">247</tt> <a class="py-toggle" href="#" id="_MultiStore._Storage.locked_put-toggle" onclick="return toggle('_MultiStore._Storage.locked_put');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore._Storage-class.html#locked_put">locked_put</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">credentials</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._Storage.locked_put-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="_MultiStore._Storage.locked_put-expanded"><a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">      <tt class="py-docstring">"""Write a credential.</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"><tt class="py-docstring">      The Storage lock must be held when this is called.</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line"><tt class="py-docstring">        credentials: Credentials, the credentials to store.</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_multistore</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name" targets="Method oauth2client.multistore_file._MultiStore._update_credential()=oauth2client.multistore_file._MultiStore-class.html#_update_credential"><a title="oauth2client.multistore_file._MultiStore._update_credential" class="py-name" href="#" onclick="return doclink('link-51', '_update_credential', 'link-51');">_update_credential</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_key</tt><tt class="py-op">,</tt> <tt id="link-52" class="py-name" targets="Variable oauth2client.appengine.CredentialsModel.credentials=oauth2client.appengine.CredentialsModel-class.html#credentials,Variable oauth2client.appengine.CredentialsNDBModel.credentials=oauth2client.appengine.CredentialsNDBModel-class.html#credentials,Variable oauth2client.appengine.OAuth2Decorator.credentials=oauth2client.appengine.OAuth2Decorator-class.html#credentials"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-52', 'credentials', 'link-52');">credentials</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._Storage.locked_delete"></a><div id="_MultiStore._Storage.locked_delete-def"><a name="L257"></a><tt class="py-lineno">257</tt> <a class="py-toggle" href="#" id="_MultiStore._Storage.locked_delete-toggle" onclick="return toggle('_MultiStore._Storage.locked_delete');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore._Storage-class.html#locked_delete">locked_delete</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._Storage.locked_delete-collapsed" style="display:none;" pad="+++" indent="++++++++++"></div><div id="_MultiStore._Storage.locked_delete-expanded"><a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">      <tt class="py-docstring">"""Delete a credential.</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"><tt class="py-docstring">      The Storage lock must be held when this is called.</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"><tt class="py-docstring">      Args:</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line"><tt class="py-docstring">        credentials: Credentials, the credentials to store.</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_multistore</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name" targets="Method oauth2client.multistore_file._MultiStore._delete_credential()=oauth2client.multistore_file._MultiStore-class.html#_delete_credential"><a title="oauth2client.multistore_file._MultiStore._delete_credential" class="py-name" href="#" onclick="return doclink('link-53', '_delete_credential', 'link-53');">_delete_credential</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_key</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._create_file_if_needed"></a><div id="_MultiStore._create_file_if_needed-def"><a name="L267"></a><tt class="py-lineno">267</tt> <a class="py-toggle" href="#" id="_MultiStore._create_file_if_needed-toggle" onclick="return toggle('_MultiStore._create_file_if_needed');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore-class.html#_create_file_if_needed">_create_file_if_needed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._create_file_if_needed-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_MultiStore._create_file_if_needed-expanded"><a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create an empty file if necessary.</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line"><tt class="py-docstring">    This method will not initialize the file. Instead it implements a</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line"><tt class="py-docstring">    simple version of "touch" to ensure the file has been created.</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_file</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-54', 'filename', 'link-18');">filename</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">      <tt class="py-name">old_umask</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">umask</tt><tt class="py-op">(</tt><tt class="py-number">0177</tt><tt class="py-op">)</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">        <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_file</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-55', 'filename', 'link-18');">filename</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'a+b'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">      <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">umask</tt><tt class="py-op">(</tt><tt class="py-name">old_umask</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._lock"></a><div id="_MultiStore._lock-def"><a name="L280"></a><tt class="py-lineno">280</tt> <a class="py-toggle" href="#" id="_MultiStore._lock-toggle" onclick="return toggle('_MultiStore._lock');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore-class.html#_lock">_lock</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._lock-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_MultiStore._lock-expanded"><a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">    <tt class="py-docstring">"""Lock the entire multistore."""</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_thread_lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_file</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Method oauth2client.locked_file.LockedFile.open_and_lock()=oauth2client.locked_file.LockedFile-class.html#open_and_lock,Method oauth2client.locked_file._Opener.open_and_lock()=oauth2client.locked_file._Opener-class.html#open_and_lock,Method oauth2client.locked_file._PosixOpener.open_and_lock()=oauth2client.locked_file._PosixOpener-class.html#open_and_lock"><a title="oauth2client.locked_file.LockedFile.open_and_lock
-oauth2client.locked_file._Opener.open_and_lock
-oauth2client.locked_file._PosixOpener.open_and_lock" class="py-name" href="#" onclick="return doclink('link-56', 'open_and_lock', 'link-56');">open_and_lock</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_file</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Method oauth2client.locked_file.LockedFile.is_locked()=oauth2client.locked_file.LockedFile-class.html#is_locked,Method oauth2client.locked_file._Opener.is_locked()=oauth2client.locked_file._Opener-class.html#is_locked"><a title="oauth2client.locked_file.LockedFile.is_locked
-oauth2client.locked_file._Opener.is_locked" class="py-name" href="#" onclick="return doclink('link-57', 'is_locked', 'link-57');">is_locked</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_only</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_warn_on_readonly</tt><tt class="py-op">:</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">        <tt id="link-58" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-58', 'logger', 'link-11');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-string">'The credentials file (%s) is not writable. Opening in '</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">                    <tt class="py-string">'read-only mode. Any refreshed credentials will only be '</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">                    <tt class="py-string">'valid for this run.'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_file</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-59', 'filename', 'link-18');">filename</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">getsize</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_file</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-60', 'filename', 'link-18');">filename</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">      <tt id="link-61" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-61', 'logger', 'link-11');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">'Initializing empty multistore file'</tt><tt class="py-op">)</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">      <tt class="py-comment"># The multistore is empty so write out an empty file.</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name" targets="Method oauth2client.multistore_file._MultiStore._write()=oauth2client.multistore_file._MultiStore-class.html#_write"><a title="oauth2client.multistore_file._MultiStore._write" class="py-name" href="#" onclick="return doclink('link-62', '_write', 'link-62');">_write</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_only</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">      <tt class="py-comment"># Only refresh the data if we are read/write or we haven't</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">      <tt class="py-comment"># cached the data yet. If we are readonly, we assume is isn't</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">      <tt class="py-comment"># changing out from under us and that we only have to read it</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">      <tt class="py-comment"># once. This prevents us from whacking any new access keys that</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">      <tt class="py-comment"># we have cached in memory but were unable to write out.</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name" targets="Method oauth2client.multistore_file._MultiStore._refresh_data_cache()=oauth2client.multistore_file._MultiStore-class.html#_refresh_data_cache"><a title="oauth2client.multistore_file._MultiStore._refresh_data_cache" class="py-name" href="#" onclick="return doclink('link-63', '_refresh_data_cache', 'link-63');">_refresh_data_cache</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._unlock"></a><div id="_MultiStore._unlock-def"><a name="L303"></a><tt class="py-lineno">303</tt> <a class="py-toggle" href="#" id="_MultiStore._unlock-toggle" onclick="return toggle('_MultiStore._unlock');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore-class.html#_unlock">_unlock</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._unlock-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_MultiStore._unlock-expanded"><a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">    <tt class="py-docstring">"""Release the lock on the multistore."""</tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_file</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name" targets="Method oauth2client.locked_file.LockedFile.unlock_and_close()=oauth2client.locked_file.LockedFile-class.html#unlock_and_close,Method oauth2client.locked_file._Opener.unlock_and_close()=oauth2client.locked_file._Opener-class.html#unlock_and_close,Method oauth2client.locked_file._PosixOpener.unlock_and_close()=oauth2client.locked_file._PosixOpener-class.html#unlock_and_close"><a title="oauth2client.locked_file.LockedFile.unlock_and_close
-oauth2client.locked_file._Opener.unlock_and_close
-oauth2client.locked_file._PosixOpener.unlock_and_close" class="py-name" href="#" onclick="return doclink('link-64', 'unlock_and_close', 'link-64');">unlock_and_close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_thread_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._locked_json_read"></a><div id="_MultiStore._locked_json_read-def"><a name="L308"></a><tt class="py-lineno">308</tt> <a class="py-toggle" href="#" id="_MultiStore._locked_json_read-toggle" onclick="return toggle('_MultiStore._locked_json_read');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore-class.html#_locked_json_read">_locked_json_read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._locked_json_read-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_MultiStore._locked_json_read-expanded"><a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get the raw content of the multistore file.</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line"><tt class="py-docstring">    The multistore must be locked when this is called.</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line"><tt class="py-docstring">      The contents of the multistore decoded as JSON.</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_thread_lock</tt><tt class="py-op">.</tt><tt class="py-name">locked</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_file</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name" targets="Method oauth2client.locked_file.LockedFile.file_handle()=oauth2client.locked_file.LockedFile-class.html#file_handle,Method oauth2client.locked_file._Opener.file_handle()=oauth2client.locked_file._Opener-class.html#file_handle"><a title="oauth2client.locked_file.LockedFile.file_handle
-oauth2client.locked_file._Opener.file_handle" class="py-name" href="#" onclick="return doclink('link-65', 'file_handle', 'link-65');">file_handle</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name" targets="Function oauth2client.clientsecrets.load()=oauth2client.clientsecrets-module.html#load"><a title="oauth2client.clientsecrets.load" class="py-name" href="#" onclick="return doclink('link-66', 'load', 'link-66');">load</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_file</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="oauth2client.locked_file.LockedFile.file_handle
-oauth2client.locked_file._Opener.file_handle" class="py-name" href="#" onclick="return doclink('link-67', 'file_handle', 'link-65');">file_handle</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._locked_json_write"></a><div id="_MultiStore._locked_json_write-def"><a name="L320"></a><tt class="py-lineno">320</tt> <a class="py-toggle" href="#" id="_MultiStore._locked_json_write-toggle" onclick="return toggle('_MultiStore._locked_json_write');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore-class.html#_locked_json_write">_locked_json_write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._locked_json_write-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_MultiStore._locked_json_write-expanded"><a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">    <tt class="py-docstring">"""Write a JSON serializable data structure to the multistore.</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line"><tt class="py-docstring">    The multistore must be locked when this is called.</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line"><tt class="py-docstring">      data: The data to be serialized and written.</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_thread_lock</tt><tt class="py-op">.</tt><tt class="py-name">locked</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_only</tt><tt class="py-op">:</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_file</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="oauth2client.locked_file.LockedFile.file_handle
-oauth2client.locked_file._Opener.file_handle" class="py-name" href="#" onclick="return doclink('link-68', 'file_handle', 'link-65');">file_handle</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">    <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">dump</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_file</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="oauth2client.locked_file.LockedFile.file_handle
-oauth2client.locked_file._Opener.file_handle" class="py-name" href="#" onclick="return doclink('link-69', 'file_handle', 'link-65');">file_handle</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-70" class="py-name" targets="Method apiclient.schema._SchemaToStruct.indent()=apiclient.schema._SchemaToStruct-class.html#indent"><a title="apiclient.schema._SchemaToStruct.indent" class="py-name" href="#" onclick="return doclink('link-70', 'indent', 'link-70');">indent</a></tt><tt class="py-op">=</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_file</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="oauth2client.locked_file.LockedFile.file_handle
-oauth2client.locked_file._Opener.file_handle" class="py-name" href="#" onclick="return doclink('link-71', 'file_handle', 'link-65');">file_handle</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">truncate</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._refresh_data_cache"></a><div id="_MultiStore._refresh_data_cache-def"><a name="L335"></a><tt class="py-lineno">335</tt> <a class="py-toggle" href="#" id="_MultiStore._refresh_data_cache-toggle" onclick="return toggle('_MultiStore._refresh_data_cache');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore-class.html#_refresh_data_cache">_refresh_data_cache</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._refresh_data_cache-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_MultiStore._refresh_data_cache-expanded"><a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">    <tt class="py-docstring">"""Refresh the contents of the multistore.</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line"><tt class="py-docstring">    The multistore must be locked when this is called.</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line"><tt class="py-docstring">      NewerCredentialStoreError: Raised when a newer client has written the</tt> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line"><tt class="py-docstring">        store.</tt> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">      <tt class="py-name">raw_data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name" targets="Method oauth2client.multistore_file._MultiStore._locked_json_read()=oauth2client.multistore_file._MultiStore-class.html#_locked_json_read"><a title="oauth2client.multistore_file._MultiStore._locked_json_read" class="py-name" href="#" onclick="return doclink('link-72', '_locked_json_read', 'link-72');">_locked_json_read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">      <tt id="link-73" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-73', 'logger', 'link-11');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-string">'Credential data store could not be loaded. '</tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">                  <tt class="py-string">'Will ignore and overwrite.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line"> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">    <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">      <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">raw_data</tt><tt class="py-op">[</tt><tt class="py-string">'file_version'</tt><tt class="py-op">]</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">      <tt id="link-74" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-74', 'logger', 'link-11');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-string">'Missing version for credential data store. It may be '</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">                  <tt class="py-string">'corrupt or an old version. Overwriting.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">version</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-75" class="py-name" targets="Class oauth2client.multistore_file.NewerCredentialStoreError=oauth2client.multistore_file.NewerCredentialStoreError-class.html"><a title="oauth2client.multistore_file.NewerCredentialStoreError" class="py-name" href="#" onclick="return doclink('link-75', 'NewerCredentialStoreError', 'link-75');">NewerCredentialStoreError</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">          <tt class="py-string">'Credential file has file_version of %d. '</tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">          <tt class="py-string">'Only file_version of 1 is supported.'</tt> <tt class="py-op">%</tt> <tt class="py-name">version</tt><tt class="py-op">)</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line"> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">    <tt id="link-76" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-76', 'credentials', 'link-52');">credentials</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">      <tt id="link-77" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-77', 'credentials', 'link-52');">credentials</a></tt> <tt class="py-op">=</tt> <tt class="py-name">raw_data</tt><tt class="py-op">[</tt><tt class="py-string">'data'</tt><tt class="py-op">]</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-op">(</tt><tt class="py-name">TypeError</tt><tt class="py-op">,</tt> <tt class="py-name">KeyError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">      <tt class="py-keyword">pass</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line"> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">cred_entry</tt> <tt class="py-keyword">in</tt> <tt id="link-78" class="py-name"><a title="oauth2client.appengine.CredentialsModel.credentials
-oauth2client.appengine.CredentialsNDBModel.credentials
-oauth2client.appengine.OAuth2Decorator.credentials" class="py-name" href="#" onclick="return doclink('link-78', 'credentials', 'link-52');">credentials</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">credential</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name" targets="Method oauth2client.multistore_file._MultiStore._decode_credential_from_json()=oauth2client.multistore_file._MultiStore-class.html#_decode_credential_from_json"><a title="oauth2client.multistore_file._MultiStore._decode_credential_from_json" class="py-name" href="#" onclick="return doclink('link-79', '_decode_credential_from_json', 'link-79');">_decode_credential_from_json</a></tt><tt class="py-op">(</tt><tt class="py-name">cred_entry</tt><tt class="py-op">)</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">credential</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">        <tt class="py-comment"># If something goes wrong loading a credential, just ignore it</tt> </tt>
-<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">        <tt id="link-80" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-80', 'logger', 'link-11');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Error decoding credential, skipping'</tt><tt class="py-op">,</tt> <tt class="py-name">exc_info</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._decode_credential_from_json"></a><div id="_MultiStore._decode_credential_from_json-def"><a name="L377"></a><tt class="py-lineno">377</tt> <a class="py-toggle" href="#" id="_MultiStore._decode_credential_from_json-toggle" onclick="return toggle('_MultiStore._decode_credential_from_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore-class.html#_decode_credential_from_json">_decode_credential_from_json</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">cred_entry</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._decode_credential_from_json-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_MultiStore._decode_credential_from_json-expanded"><a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">    <tt class="py-docstring">"""Load a credential from our JSON serialization.</tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line"><tt class="py-docstring">      cred_entry: A dict entry from the data member of our format</tt> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line"><tt class="py-docstring">      (key, cred) where the key is the key tuple and the cred is the</tt> </tt>
-<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line"><tt class="py-docstring">        OAuth2Credential object.</tt> </tt>
-<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">    <tt class="py-name">raw_key</tt> <tt class="py-op">=</tt> <tt class="py-name">cred_entry</tt><tt class="py-op">[</tt><tt class="py-string">'key'</tt><tt class="py-op">]</tt> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">    <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt id="link-81" class="py-name"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-81', 'util', 'link-8');">util</a></tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="oauth2client.util.dict_to_tuple_key" class="py-name" href="#" onclick="return doclink('link-82', 'dict_to_tuple_key', 'link-26');">dict_to_tuple_key</a></tt><tt class="py-op">(</tt><tt class="py-name">raw_key</tt><tt class="py-op">)</tt> </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">    <tt class="py-name">credential</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">    <tt class="py-name">credential</tt> <tt class="py-op">=</tt> <tt id="link-83" class="py-name"><a title="oauth2client.client.Credentials" class="py-name" href="#" onclick="return doclink('link-83', 'Credentials', 'link-6');">Credentials</a></tt><tt class="py-op">.</tt><tt id="link-84" class="py-name" targets="Class Method apiclient.http.MediaUpload.new_from_json()=apiclient.http.MediaUpload-class.html#new_from_json,Class Method oauth2client.client.Credentials.new_from_json()=oauth2client.client.Credentials-class.html#new_from_json"><a title="apiclient.http.MediaUpload.new_from_json
-oauth2client.client.Credentials.new_from_json" class="py-name" href="#" onclick="return doclink('link-84', 'new_from_json', 'link-84');">new_from_json</a></tt><tt class="py-op">(</tt><tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">cred_entry</tt><tt class="py-op">[</tt><tt class="py-string">'credential'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">credential</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._write"></a><div id="_MultiStore._write-def"><a name="L393"></a><tt class="py-lineno">393</tt> <a class="py-toggle" href="#" id="_MultiStore._write-toggle" onclick="return toggle('_MultiStore._write');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore-class.html#_write">_write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._write-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_MultiStore._write-expanded"><a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">    <tt class="py-docstring">"""Write the cached data back out.</tt> </tt>
-<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line"><tt class="py-docstring">    The multistore must be locked.</tt> </tt>
-<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">    <tt class="py-name">raw_data</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'file_version'</tt><tt class="py-op">:</tt> <tt class="py-number">1</tt><tt class="py-op">}</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">    <tt class="py-name">raw_creds</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">    <tt class="py-name">raw_data</tt><tt class="py-op">[</tt><tt class="py-string">'data'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">raw_creds</tt> </tt>
-<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">cred_key</tt><tt class="py-op">,</tt> <tt class="py-name">cred</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data</tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line">      <tt class="py-name">raw_key</tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">cred_key</tt><tt class="py-op">)</tt> </tt>
-<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">      <tt class="py-name">raw_cred</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name" targets="Function oauth2client.clientsecrets.loads()=oauth2client.clientsecrets-module.html#loads"><a title="oauth2client.clientsecrets.loads" class="py-name" href="#" onclick="return doclink('link-85', 'loads', 'link-85');">loads</a></tt><tt class="py-op">(</tt><tt class="py-name">cred</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name" targets="Method apiclient.http.HttpRequest.to_json()=apiclient.http.HttpRequest-class.html#to_json,Method apiclient.http.MediaFileUpload.to_json()=apiclient.http.MediaFileUpload-class.html#to_json,Method apiclient.http.MediaIoBaseUpload.to_json()=apiclient.http.MediaIoBaseUpload-class.html#to_json,Method apiclient.http.MediaUpload.to_json()=apiclient.http.MediaUpload-class.html#to_json,Method oauth2client.client.Credentials.to_json()=oauth2client.client.Credentials-class.html#to_json,Method oauth2client.client.OAuth2Credentials.to_json()=oauth2client.client.OAuth2Credentials-class.html#to_json"><a title="apiclient.http.HttpRequest.to_json
-apiclient.http.MediaFileUpload.to_json
-apiclient.http.MediaIoBaseUpload.to_json
-apiclient.http.MediaUpload.to_json
-oauth2client.client.Credentials.to_json
-oauth2client.client.OAuth2Credentials.to_json" class="py-name" href="#" onclick="return doclink('link-86', 'to_json', 'link-86');">to_json</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">      <tt class="py-name">raw_creds</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-string">'key'</tt><tt class="py-op">:</tt> <tt class="py-name">raw_key</tt><tt class="py-op">,</tt> <tt class="py-string">'credential'</tt><tt class="py-op">:</tt> <tt class="py-name">raw_cred</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name" targets="Method oauth2client.multistore_file._MultiStore._locked_json_write()=oauth2client.multistore_file._MultiStore-class.html#_locked_json_write"><a title="oauth2client.multistore_file._MultiStore._locked_json_write" class="py-name" href="#" onclick="return doclink('link-87', '_locked_json_write', 'link-87');">_locked_json_write</a></tt><tt class="py-op">(</tt><tt class="py-name">raw_data</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._get_all_credential_keys"></a><div id="_MultiStore._get_all_credential_keys-def"><a name="L407"></a><tt class="py-lineno">407</tt> <a class="py-toggle" href="#" id="_MultiStore._get_all_credential_keys-toggle" onclick="return toggle('_MultiStore._get_all_credential_keys');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore-class.html#_get_all_credential_keys">_get_all_credential_keys</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._get_all_credential_keys-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_MultiStore._get_all_credential_keys-expanded"><a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">    <tt class="py-docstring">"""Gets all the registered credential keys in the multistore.</tt> </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line"><tt class="py-docstring">      A list of dictionaries corresponding to all the keys currently registered</tt> </tt>
-<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._get_credential"></a><div id="_MultiStore._get_credential-def"><a name="L415"></a><tt class="py-lineno">415</tt> <a class="py-toggle" href="#" id="_MultiStore._get_credential-toggle" onclick="return toggle('_MultiStore._get_credential');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore-class.html#_get_credential">_get_credential</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._get_credential-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_MultiStore._get_credential-expanded"><a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get a credential from the multistore.</tt> </tt>
-<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line"><tt class="py-docstring">    The multistore must be locked.</tt> </tt>
-<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line"><tt class="py-docstring">      key: The key used to retrieve the credential</tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line"><tt class="py-docstring">      The credential specified or None if not present</tt> </tt>
-<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name" targets="Method apiclient.schema.Schemas.get()=apiclient.schema.Schemas-class.html#get,Method oauth2client.client.MemoryCache.get()=oauth2client.client.MemoryCache-class.html#get,Method oauth2client.client.Storage.get()=oauth2client.client.Storage-class.html#get"><a title="apiclient.schema.Schemas.get
-oauth2client.client.MemoryCache.get
-oauth2client.client.Storage.get" class="py-name" href="#" onclick="return doclink('link-88', 'get', 'link-88');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._update_credential"></a><div id="_MultiStore._update_credential-def"><a name="L428"></a><tt class="py-lineno">428</tt> <a class="py-toggle" href="#" id="_MultiStore._update_credential-toggle" onclick="return toggle('_MultiStore._update_credential');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore-class.html#_update_credential">_update_credential</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">cred</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._update_credential-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_MultiStore._update_credential-expanded"><a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">    <tt class="py-docstring">"""Update a credential and write the multistore.</tt> </tt>
-<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line"><tt class="py-docstring">    This must be called when the multistore is locked.</tt> </tt>
-<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line"><tt class="py-docstring">      key: The key used to retrieve the credential</tt> </tt>
-<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line"><tt class="py-docstring">      cred: The OAuth2Credential to update/set</tt> </tt>
-<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">cred</tt> </tt>
-<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="oauth2client.multistore_file._MultiStore._write" class="py-name" href="#" onclick="return doclink('link-89', '_write', 'link-62');">_write</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._delete_credential"></a><div id="_MultiStore._delete_credential-def"><a name="L440"></a><tt class="py-lineno">440</tt> <a class="py-toggle" href="#" id="_MultiStore._delete_credential-toggle" onclick="return toggle('_MultiStore._delete_credential');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore-class.html#_delete_credential">_delete_credential</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._delete_credential-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_MultiStore._delete_credential-expanded"><a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">    <tt class="py-docstring">"""Delete a credential and write the multistore.</tt> </tt>
-<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line"><tt class="py-docstring">    This must be called when the multistore is locked.</tt> </tt>
-<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line"><tt class="py-docstring">      key: The key used to retrieve the credential</tt> </tt>
-<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">      <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
-<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
-<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">      <tt class="py-keyword">pass</tt> </tt>
-<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="oauth2client.multistore_file._MultiStore._write" class="py-name" href="#" onclick="return doclink('link-90', '_write', 'link-62');">_write</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line"> </tt>
-<a name="_MultiStore._get_storage"></a><div id="_MultiStore._get_storage-def"><a name="L454"></a><tt class="py-lineno">454</tt> <a class="py-toggle" href="#" id="_MultiStore._get_storage-toggle" onclick="return toggle('_MultiStore._get_storage');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.multistore_file._MultiStore-class.html#_get_storage">_get_storage</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_MultiStore._get_storage-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_MultiStore._get_storage-expanded"><a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get a Storage object to get/set a credential.</tt> </tt>
-<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line"><tt class="py-docstring">    This Storage is a 'view' into the multistore.</tt> </tt>
-<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line"><tt class="py-docstring">      key: The key used to retrieve the credential</tt> </tt>
-<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line"><tt class="py-docstring">      A Storage object that can be used to get/set this cred</tt> </tt>
-<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name" targets="Class oauth2client.multistore_file._MultiStore._Storage=oauth2client.multistore_file._MultiStore._Storage-class.html"><a title="oauth2client.multistore_file._MultiStore._Storage" class="py-name" href="#" onclick="return doclink('link-91', '_Storage', 'link-91');">_Storage</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.multistore_file.Error-class.html b/docs/epy/oauth2client.multistore_file.Error-class.html
deleted file mode 100644
index 01a29a8..0000000
--- a/docs/epy/oauth2client.multistore_file.Error-class.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.multistore_file.Error</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.multistore_file-module.html">Module&nbsp;multistore_file</a> ::
-        Class&nbsp;Error
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.multistore_file.Error-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Error</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#Error">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_47" name="uml_class_diagram_for_oauth2cl_47">
-<area shape="rect" id="node1" href="oauth2client.multistore_file.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
-<area shape="rect" id="node217" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
-<area shape="rect" id="node217" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
-<area shape="rect" id="node218" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
-<area shape="rect" id="node218" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
-<area shape="rect" id="node218" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
-<area shape="rect" id="node218" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
-<area shape="rect" id="node218" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
-<area shape="rect" id="node218" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
-<area shape="rect" id="node218" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
-<area shape="rect" id="node218" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
-<area shape="rect" id="node218" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
-<area shape="rect" id="node218" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
-<area shape="rect" id="node218" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
-<area shape="rect" id="node218" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_47.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_47" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-Base error for this module.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.multistore_file.NewerCredentialStoreError-class.html b/docs/epy/oauth2client.multistore_file.NewerCredentialStoreError-class.html
deleted file mode 100644
index 09bd03b..0000000
--- a/docs/epy/oauth2client.multistore_file.NewerCredentialStoreError-class.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.multistore_file.NewerCredentialStoreError</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.multistore_file-module.html">Module&nbsp;multistore_file</a> ::
-        Class&nbsp;NewerCredentialStoreError
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.multistore_file.NewerCredentialStoreError-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class NewerCredentialStoreError</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#NewerCredentialStoreError">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_48" name="uml_class_diagram_for_oauth2cl_48">
-<area shape="rect" id="node1" href="oauth2client.multistore_file.NewerCredentialStoreError-class.html" title="The credential store is a newer version that supported." alt="" coords="5,443,187,487"/>
-<area shape="rect" id="node2" href="oauth2client.multistore_file.Error-class.html" title="Base error for this module." alt="" coords="69,379,123,423"/>
-<area shape="rect" id="node222" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="19,31,176,49"/>
-<area shape="rect" id="node222" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="19,49,176,68"/>
-<area shape="rect" id="node222" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="19,71,176,89"/>
-<area shape="rect" id="node222" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="19,89,176,108"/>
-<area shape="rect" id="node222" href="javascript:void(0);" title="x[y]" alt="" coords="19,108,176,127"/>
-<area shape="rect" id="node222" href="javascript:void(0);" title="x[i:j]" alt="" coords="19,127,176,145"/>
-<area shape="rect" id="node222" href="javascript:void(0);" title="helper for pickle" alt="" coords="19,145,176,164"/>
-<area shape="rect" id="node222" href="javascript:void(0);" title="repr(x)" alt="" coords="19,164,176,183"/>
-<area shape="rect" id="node222" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="19,183,176,201"/>
-<area shape="rect" id="node222" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="19,201,176,220"/>
-<area shape="rect" id="node222" href="javascript:void(0);" title="str(x)" alt="" coords="19,220,176,239"/>
-<area shape="rect" id="node222" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="19,239,176,257"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="7,6,188,263"/>
-<area shape="rect" id="node221" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="33,316,160,335"/>
-<area shape="rect" id="node221" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="33,335,160,353"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="21,283,171,359"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_48.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_48" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-The credential store is a newer version that supported.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
-      <code>__init__</code>,
-      <code>__new__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.multistore_file._MultiStore-class.html b/docs/epy/oauth2client.multistore_file._MultiStore-class.html
deleted file mode 100644
index 9fd6054..0000000
--- a/docs/epy/oauth2client.multistore_file._MultiStore-class.html
+++ /dev/null
@@ -1,807 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.multistore_file._MultiStore</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.multistore_file-module.html">Module&nbsp;multistore_file</a> ::
-        Class&nbsp;_MultiStore
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.multistore_file._MultiStore-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class _MultiStore</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_49" name="uml_class_diagram_for_oauth2cl_49">
-<area shape="rect" id="node223" href="oauth2client.multistore_file._MultiStore-class.html#__init__" title="Initialize the class." alt="" coords="17,39,303,57"/>
-<area shape="rect" id="node1" href="oauth2client.multistore_file._MultiStore-class.html" title="A file backed store for multiple credentials." alt="" coords="5,6,315,63"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_49.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_49" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-A file backed store for multiple credentials.
-
-</pre>
-
-<!-- ==================== NESTED CLASSES ==================== -->
-<a name="section-NestedClasses"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Nested Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-NestedClasses"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.multistore_file._MultiStore._Storage-class.html" class="summary-name" onclick="show_private();">_Storage</a><br />
-      A Storage object that knows how to read/write a single credential.
-    </td>
-  </tr>
-</table>
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file._MultiStore-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">filename</span>,
-        <span class="summary-sig-arg">warn_on_readonly</span>=<span class="summary-sig-default">True</span>)</span><br />
-      Initialize the class.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file._MultiStore-class.html#_create_file_if_needed" class="summary-sig-name" onclick="show_private();">_create_file_if_needed</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Create an empty file if necessary.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._create_file_if_needed">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_lock"></a><span class="summary-sig-name">_lock</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Lock the entire multistore.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._lock">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_unlock"></a><span class="summary-sig-name">_unlock</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Release the lock on the multistore.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._unlock">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file._MultiStore-class.html#_locked_json_read" class="summary-sig-name" onclick="show_private();">_locked_json_read</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Get the raw content of the multistore file.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._locked_json_read">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file._MultiStore-class.html#_locked_json_write" class="summary-sig-name" onclick="show_private();">_locked_json_write</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">data</span>)</span><br />
-      Write a JSON serializable data structure to the multistore.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._locked_json_write">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file._MultiStore-class.html#_refresh_data_cache" class="summary-sig-name" onclick="show_private();">_refresh_data_cache</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Refresh the contents of the multistore.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._refresh_data_cache">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file._MultiStore-class.html#_decode_credential_from_json" class="summary-sig-name" onclick="show_private();">_decode_credential_from_json</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">cred_entry</span>)</span><br />
-      Load a credential from our JSON serialization.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._decode_credential_from_json">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file._MultiStore-class.html#_write" class="summary-sig-name" onclick="show_private();">_write</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Write the cached data back out.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._write">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file._MultiStore-class.html#_get_all_credential_keys" class="summary-sig-name" onclick="show_private();">_get_all_credential_keys</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Gets all the registered credential keys in the multistore.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._get_all_credential_keys">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file._MultiStore-class.html#_get_credential" class="summary-sig-name" onclick="show_private();">_get_credential</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">key</span>)</span><br />
-      Get a credential from the multistore.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._get_credential">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file._MultiStore-class.html#_update_credential" class="summary-sig-name" onclick="show_private();">_update_credential</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">key</span>,
-        <span class="summary-sig-arg">cred</span>)</span><br />
-      Update a credential and write the multistore.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._update_credential">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file._MultiStore-class.html#_delete_credential" class="summary-sig-name" onclick="show_private();">_delete_credential</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">key</span>)</span><br />
-      Delete a credential and write the multistore.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._delete_credential">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file._MultiStore-class.html#_get_storage" class="summary-sig-name" onclick="show_private();">_get_storage</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">key</span>)</span><br />
-      Get a Storage object to get/set a credential.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._get_storage">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">filename</span>,
-        <span class="sig-arg">warn_on_readonly</span>=<span class="sig-default">True</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Initialize the class.
-
-This will create the file if necessary.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-    <dt>Overrides:
-        object.__init__
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="_create_file_if_needed"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_create_file_if_needed</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._create_file_if_needed">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Create an empty file if necessary.
-
-This method will not initialize the file. Instead it implements a
-simple version of &quot;touch&quot; to ensure the file has been created.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_locked_json_read"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_locked_json_read</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._locked_json_read">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Get the raw content of the multistore file.
-
-The multistore must be locked when this is called.
-
-Returns:
-  The contents of the multistore decoded as JSON.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_locked_json_write"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_locked_json_write</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">data</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._locked_json_write">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Write a JSON serializable data structure to the multistore.
-
-The multistore must be locked when this is called.
-
-Args:
-  data: The data to be serialized and written.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_refresh_data_cache"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_refresh_data_cache</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._refresh_data_cache">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Refresh the contents of the multistore.
-
-The multistore must be locked when this is called.
-
-Raises:
-  NewerCredentialStoreError: Raised when a newer client has written the
-    store.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_decode_credential_from_json"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_decode_credential_from_json</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">cred_entry</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._decode_credential_from_json">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Load a credential from our JSON serialization.
-
-Args:
-  cred_entry: A dict entry from the data member of our format
-
-Returns:
-  (key, cred) where the key is the key tuple and the cred is the
-    OAuth2Credential object.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_write"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_write</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._write">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Write the cached data back out.
-
-The multistore must be locked.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_get_all_credential_keys"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_get_all_credential_keys</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._get_all_credential_keys">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Gets all the registered credential keys in the multistore.
-
-Returns:
-  A list of dictionaries corresponding to all the keys currently registered
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_get_credential"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_get_credential</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">key</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._get_credential">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Get a credential from the multistore.
-
-The multistore must be locked.
-
-Args:
-  key: The key used to retrieve the credential
-
-Returns:
-  The credential specified or None if not present
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_update_credential"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_update_credential</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">key</span>,
-        <span class="sig-arg">cred</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._update_credential">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Update a credential and write the multistore.
-
-This must be called when the multistore is locked.
-
-Args:
-  key: The key used to retrieve the credential
-  cred: The OAuth2Credential to update/set
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_delete_credential"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_delete_credential</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">key</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._delete_credential">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Delete a credential and write the multistore.
-
-This must be called when the multistore is locked.
-
-Args:
-  key: The key used to retrieve the credential
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_get_storage"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_get_storage</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">key</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._get_storage">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Get a Storage object to get/set a credential.
-
-This Storage is a 'view' into the multistore.
-
-Args:
-  key: The key used to retrieve the credential
-
-Returns:
-  A Storage object that can be used to get/set this cred
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.multistore_file._MultiStore._Storage-class.html b/docs/epy/oauth2client.multistore_file._MultiStore._Storage-class.html
deleted file mode 100644
index 8b970f1..0000000
--- a/docs/epy/oauth2client.multistore_file._MultiStore._Storage-class.html
+++ /dev/null
@@ -1,488 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.multistore_file._MultiStore._Storage</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.multistore_file-module.html">Module&nbsp;multistore_file</a> ::
-        <a href="oauth2client.multistore_file._MultiStore-class.html" onclick="show_private();">Class&nbsp;_MultiStore</a> ::
-        Class&nbsp;_Storage
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.multistore_file._MultiStore._Storage-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class _Storage</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._Storage">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_50" name="uml_class_diagram_for_oauth2cl_50">
-<area shape="rect" id="node224" href="oauth2client.multistore_file._MultiStore._Storage-class.html#__init__" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="17,153,193,172"/>
-<area shape="rect" id="node224" href="oauth2client.multistore_file._MultiStore._Storage-class.html#acquire_lock" title="Acquires any lock necessary to access this Storage." alt="" coords="17,172,193,191"/>
-<area shape="rect" id="node224" href="oauth2client.multistore_file._MultiStore._Storage-class.html#release_lock" title="Release the Storage lock." alt="" coords="17,191,193,209"/>
-<area shape="rect" id="node224" href="oauth2client.multistore_file._MultiStore._Storage-class.html#locked_get" title="Retrieve credential." alt="" coords="17,209,193,228"/>
-<area shape="rect" id="node224" href="oauth2client.multistore_file._MultiStore._Storage-class.html#locked_put" title="Write a credential." alt="" coords="17,228,193,247"/>
-<area shape="rect" id="node224" href="oauth2client.multistore_file._MultiStore._Storage-class.html#locked_delete" title="Delete a credential." alt="" coords="17,247,193,265"/>
-<area shape="rect" id="node1" href="oauth2client.multistore_file._MultiStore._Storage-class.html" title="A Storage object that knows how to read/write a single credential." alt="" coords="5,121,205,271"/>
-<area shape="rect" id="node225" href="oauth2client.client.Storage-class.html#get" title="Retrieve credential." alt="" coords="43,39,168,57"/>
-<area shape="rect" id="node225" href="oauth2client.client.Storage-class.html#put" title="Write a credential." alt="" coords="43,57,168,76"/>
-<area shape="rect" id="node225" href="oauth2client.client.Storage-class.html#delete" title="Delete credential." alt="" coords="43,76,168,95"/>
-<area shape="rect" id="node2" href="oauth2client.client.Storage-class.html" title="Base class for all Storage objects." alt="" coords="31,6,180,101"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_50.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_50" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-A Storage object that knows how to read/write a single credential.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file._MultiStore._Storage-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">multistore</span>,
-        <span class="summary-sig-arg">key</span>)</span><br />
-      x.__init__(...) initializes x; see help(type(x)) for signature</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._Storage.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file._MultiStore._Storage-class.html#acquire_lock" class="summary-sig-name">acquire_lock</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Acquires any lock necessary to access this Storage.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._Storage.acquire_lock">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file._MultiStore._Storage-class.html#release_lock" class="summary-sig-name">release_lock</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Release the Storage lock.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._Storage.release_lock">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file._MultiStore._Storage-class.html#locked_get" class="summary-sig-name">locked_get</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Retrieve credential.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._Storage.locked_get">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file._MultiStore._Storage-class.html#locked_put" class="summary-sig-name">locked_put</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">credentials</span>)</span><br />
-      Write a credential.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._Storage.locked_put">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.multistore_file._MultiStore._Storage-class.html#locked_delete" class="summary-sig-name">locked_delete</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Delete a credential.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._Storage.locked_delete">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Storage-class.html">client.Storage</a></code></b>:
-      <code><a href="oauth2client.client.Storage-class.html#delete">delete</a></code>,
-      <code><a href="oauth2client.client.Storage-class.html#get">get</a></code>,
-      <code><a href="oauth2client.client.Storage-class.html#put">put</a></code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">multistore</span>,
-        <span class="sig-arg">key</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._Storage.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-x.__init__(...) initializes x; see help(type(x)) for signature
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="acquire_lock"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">acquire_lock</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._Storage.acquire_lock">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Acquires any lock necessary to access this Storage.
-
-This lock is not reentrant.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#acquire_lock">client.Storage.acquire_lock</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="release_lock"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">release_lock</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._Storage.release_lock">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Release the Storage lock.
-
-Trying to release a lock that isn't held will result in a
-RuntimeError.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#release_lock">client.Storage.release_lock</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="locked_get"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_get</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._Storage.locked_get">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Retrieve credential.
-
-The Storage lock must be held when this is called.
-
-Returns:
-  oauth2client.client.Credentials
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#locked_get">client.Storage.locked_get</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="locked_put"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_put</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">credentials</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._Storage.locked_put">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Write a credential.
-
-The Storage lock must be held when this is called.
-
-Args:
-  credentials: Credentials, the credentials to store.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#locked_put">client.Storage.locked_put</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="locked_delete"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_delete</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.multistore_file-pysrc.html#_MultiStore._Storage.locked_delete">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Delete a credential.
-
-The Storage lock must be held when this is called.
-
-Args:
-  credentials: Credentials, the credentials to store.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="oauth2client.client.Storage-class.html#locked_delete">client.Storage.locked_delete</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.old_run-module.html b/docs/epy/oauth2client.old_run-module.html
deleted file mode 100644
index 63c4ebc..0000000
--- a/docs/epy/oauth2client.old_run-module.html
+++ /dev/null
@@ -1,250 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.old_run</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;old_run
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.old_run-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module old_run</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.old_run-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-This module holds the old run() function which is deprecated, the
-tools.run_flow() function should be used in its place.
-
-</pre>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.old_run-module.html#run" class="summary-sig-name">run</a>(<span class="summary-sig-arg">flow</span>,
-        <span class="summary-sig-arg">storage</span>,
-        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Core code for a command-line application.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.old_run-pysrc.html#run">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="FLAGS"></a><span class="summary-name">FLAGS</span> = <code title="gflags.FLAGS">gflags.FLAGS</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="run"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">run</span>(<span class="sig-arg">flow</span>,
-        <span class="sig-arg">storage</span>,
-        <span class="sig-arg">http</span>=<span class="sig-default">None</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.old_run-pysrc.html#run">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Core code for a command-line application.
-
-The run() function is called from your application and runs through all
-the steps to obtain credentials. It takes a Flow argument and attempts to
-open an authorization server page in the user's default web browser. The
-server asks the user to grant your application access to the user's data.
-If the user grants access, the run() function returns new credentials. The
-new credentials are also stored in the Storage argument, which updates the
-file associated with the Storage object.
-
-It presumes it is run from a command-line application and supports the
-following flags:
-
-  --auth_host_name: Host name to use when running a local web server
-    to handle redirects during OAuth authorization.
-    (default: 'localhost')
-
-  --auth_host_port: Port to use when running a local web server to handle
-  redirects during OAuth authorization.;
-    repeat this option to specify a list of values
-    (default: '[8080, 8090]')
-    (an integer)
-
-  --[no]auth_local_webserver: Run a local web server to handle redirects
-    during OAuth authorization.
-    (default: 'true')
-
-Since it uses flags make sure to initialize the gflags module before
-calling run().
-
-Args:
-  flow: Flow, an OAuth 2.0 Flow to step through.
-  storage: Storage, a Storage to store the credential in.
-  http: An instance of httplib2.Http.request
-       or something that acts like it.
-
-Returns:
-  Credentials, the obtained credential.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.old_run-pysrc.html b/docs/epy/oauth2client.old_run-pysrc.html
deleted file mode 100644
index d68491e..0000000
--- a/docs/epy/oauth2client.old_run-pysrc.html
+++ /dev/null
@@ -1,267 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.old_run</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;old_run
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.old_run-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="oauth2client.old_run-module.html">Module oauth2client.old_run</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2013 Google Inc.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">"""This module holds the old run() function which is deprecated, the</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">tools.run_flow() function should be used in its place."""</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">socket</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">webbrowser</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">gflags</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package oauth2client=oauth2client-module.html"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-0', 'oauth2client', 'link-0');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module oauth2client.client=oauth2client.client-module.html"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-1', 'client', 'link-1');">client</a></tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-2', 'oauth2client', 'link-0');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module oauth2client.util=oauth2client.util-module.html"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-3', 'util', 'link-3');">util</a></tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Module oauth2client.tools=oauth2client.tools-module.html"><a title="oauth2client.tools" class="py-name" href="#" onclick="return doclink('link-4', 'tools', 'link-4');">tools</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class oauth2client.tools.ClientRedirectHandler=oauth2client.tools.ClientRedirectHandler-class.html"><a title="oauth2client.tools.ClientRedirectHandler" class="py-name" href="#" onclick="return doclink('link-5', 'ClientRedirectHandler', 'link-5');">ClientRedirectHandler</a></tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name"><a title="oauth2client.tools" class="py-name" href="#" onclick="return doclink('link-6', 'tools', 'link-4');">tools</a></tt> <tt class="py-keyword">import</tt> <tt id="link-7" class="py-name" targets="Class oauth2client.tools.ClientRedirectServer=oauth2client.tools.ClientRedirectServer-class.html"><a title="oauth2client.tools.ClientRedirectServer" class="py-name" href="#" onclick="return doclink('link-7', 'ClientRedirectServer', 'link-7');">ClientRedirectServer</a></tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt id="link-8" class="py-name" targets="Variable oauth2client.old_run.FLAGS=oauth2client.old_run-module.html#FLAGS"><a title="oauth2client.old_run.FLAGS" class="py-name" href="#" onclick="return doclink('link-8', 'FLAGS', 'link-8');">FLAGS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">gflags</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="oauth2client.old_run.FLAGS" class="py-name" href="#" onclick="return doclink('link-9', 'FLAGS', 'link-8');">FLAGS</a></tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-name">gflags</tt><tt class="py-op">.</tt><tt class="py-name">DEFINE_boolean</tt><tt class="py-op">(</tt><tt class="py-string">'auth_local_webserver'</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">                      <tt class="py-op">(</tt><tt class="py-string">'Run a local web server to handle redirects during '</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">                       <tt class="py-string">'OAuth authorization.'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-name">gflags</tt><tt class="py-op">.</tt><tt class="py-name">DEFINE_string</tt><tt class="py-op">(</tt><tt class="py-string">'auth_host_name'</tt><tt class="py-op">,</tt> <tt class="py-string">'localhost'</tt><tt class="py-op">,</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">                     <tt class="py-op">(</tt><tt class="py-string">'Host name to use when running a local web server to '</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">                      <tt class="py-string">'handle redirects during OAuth authorization.'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-name">gflags</tt><tt class="py-op">.</tt><tt class="py-name">DEFINE_multi_int</tt><tt class="py-op">(</tt><tt class="py-string">'auth_host_port'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-number">8080</tt><tt class="py-op">,</tt> <tt class="py-number">8090</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">                        <tt class="py-op">(</tt><tt class="py-string">'Port to use when running a local web server to '</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">                         <tt class="py-string">'handle redirects during OAuth authorization.'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="run"></a><div id="run-def"><a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Function oauth2client.util.positional()=oauth2client.util-module.html#positional"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-10', 'positional', 'link-10');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <a class="py-toggle" href="#" id="run-toggle" onclick="return toggle('run');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.old_run-module.html#run">run</a><tt class="py-op">(</tt><tt class="py-param">flow</tt><tt class="py-op">,</tt> <tt class="py-param">storage</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="run-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="run-expanded"><a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">  <tt class="py-docstring">"""Core code for a command-line application.</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">  The run() function is called from your application and runs through all</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring">  the steps to obtain credentials. It takes a Flow argument and attempts to</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">  open an authorization server page in the user's default web browser. The</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">  server asks the user to grant your application access to the user's data.</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">  If the user grants access, the run() function returns new credentials. The</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">  new credentials are also stored in the Storage argument, which updates the</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">  file associated with the Storage object.</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-docstring">  It presumes it is run from a command-line application and supports the</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-docstring">  following flags:</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-docstring">    --auth_host_name: Host name to use when running a local web server</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-docstring">      to handle redirects during OAuth authorization.</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring">      (default: 'localhost')</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring">    --auth_host_port: Port to use when running a local web server to handle</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-docstring">    redirects during OAuth authorization.;</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-docstring">      repeat this option to specify a list of values</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring">      (default: '[8080, 8090]')</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-docstring">      (an integer)</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">    --[no]auth_local_webserver: Run a local web server to handle redirects</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring">      during OAuth authorization.</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">      (default: 'true')</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">  Since it uses flags make sure to initialize the gflags module before</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">  calling run().</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">    flow: Flow, an OAuth 2.0 Flow to step through.</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">    storage: Storage, a Storage to store the credential in.</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">    http: An instance of httplib2.Http.request</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">         or something that acts like it.</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring">    Credentials, the obtained credential.</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">  <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">'This function, oauth2client.tools.run(), and the use of '</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">      <tt class="py-string">'the gflags library are deprecated and will be removed in a future '</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">      <tt class="py-string">'version of the library.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt id="link-11" class="py-name"><a title="oauth2client.old_run.FLAGS" class="py-name" href="#" onclick="return doclink('link-11', 'FLAGS', 'link-8');">FLAGS</a></tt><tt class="py-op">.</tt><tt class="py-name">auth_local_webserver</tt><tt class="py-op">:</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-name">success</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">    <tt class="py-name">port_number</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">port</tt> <tt class="py-keyword">in</tt> <tt id="link-12" class="py-name"><a title="oauth2client.old_run.FLAGS" class="py-name" href="#" onclick="return doclink('link-12', 'FLAGS', 'link-8');">FLAGS</a></tt><tt class="py-op">.</tt><tt class="py-name">auth_host_port</tt><tt class="py-op">:</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">      <tt class="py-name">port_number</tt> <tt class="py-op">=</tt> <tt class="py-name">port</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">httpd</tt> <tt class="py-op">=</tt> <tt id="link-13" class="py-name"><a title="oauth2client.tools.ClientRedirectServer" class="py-name" href="#" onclick="return doclink('link-13', 'ClientRedirectServer', 'link-7');">ClientRedirectServer</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-14" class="py-name"><a title="oauth2client.old_run.FLAGS" class="py-name" href="#" onclick="return doclink('link-14', 'FLAGS', 'link-8');">FLAGS</a></tt><tt class="py-op">.</tt><tt class="py-name">auth_host_name</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">                                     <tt id="link-15" class="py-name"><a title="oauth2client.tools.ClientRedirectHandler" class="py-name" href="#" onclick="return doclink('link-15', 'ClientRedirectHandler', 'link-5');">ClientRedirectHandler</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-name">success</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-keyword">break</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">    <tt id="link-16" class="py-name"><a title="oauth2client.old_run.FLAGS" class="py-name" href="#" onclick="return doclink('link-16', 'FLAGS', 'link-8');">FLAGS</a></tt><tt class="py-op">.</tt><tt class="py-name">auth_local_webserver</tt> <tt class="py-op">=</tt> <tt class="py-name">success</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">success</tt><tt class="py-op">:</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">      <tt class="py-keyword">print</tt> <tt class="py-string">'Failed to start a local webserver listening on either port 8080'</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">      <tt class="py-keyword">print</tt> <tt class="py-string">'or port 9090. Please check your firewall settings and locally'</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">      <tt class="py-keyword">print</tt> <tt class="py-string">'running programs that may be blocking or using those ports.'</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">      <tt class="py-keyword">print</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">      <tt class="py-keyword">print</tt> <tt class="py-string">'Falling back to --noauth_local_webserver and continuing with'</tt><tt class="py-op">,</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">      <tt class="py-keyword">print</tt> <tt class="py-string">'authorization.'</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">      <tt class="py-keyword">print</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt id="link-17" class="py-name"><a title="oauth2client.old_run.FLAGS" class="py-name" href="#" onclick="return doclink('link-17', 'FLAGS', 'link-8');">FLAGS</a></tt><tt class="py-op">.</tt><tt class="py-name">auth_local_webserver</tt><tt class="py-op">:</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">    <tt class="py-name">oauth_callback</tt> <tt class="py-op">=</tt> <tt class="py-string">'http://%s:%s/'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-18" class="py-name"><a title="oauth2client.old_run.FLAGS" class="py-name" href="#" onclick="return doclink('link-18', 'FLAGS', 'link-8');">FLAGS</a></tt><tt class="py-op">.</tt><tt class="py-name">auth_host_name</tt><tt class="py-op">,</tt> <tt class="py-name">port_number</tt><tt class="py-op">)</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">    <tt class="py-name">oauth_callback</tt> <tt class="py-op">=</tt> <tt id="link-19" class="py-name"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-19', 'client', 'link-1');">client</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Variable oauth2client.client.OOB_CALLBACK_URN=oauth2client.client-module.html#OOB_CALLBACK_URN"><a title="oauth2client.client.OOB_CALLBACK_URN" class="py-name" href="#" onclick="return doclink('link-20', 'OOB_CALLBACK_URN', 'link-20');">OOB_CALLBACK_URN</a></tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">  <tt id="link-21" class="py-name" targets="Variable oauth2client.appengine.OAuth2Decorator.flow=oauth2client.appengine.OAuth2Decorator-class.html#flow"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-21', 'flow', 'link-21');">flow</a></tt><tt class="py-op">.</tt><tt class="py-name">redirect_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">oauth_callback</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">  <tt id="link-22" class="py-name" targets="Method oauth2client.appengine.OAuth2Decorator.authorize_url()=oauth2client.appengine.OAuth2Decorator-class.html#authorize_url"><a title="oauth2client.appengine.OAuth2Decorator.authorize_url" class="py-name" href="#" onclick="return doclink('link-22', 'authorize_url', 'link-22');">authorize_url</a></tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-23', 'flow', 'link-21');">flow</a></tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method oauth2client.client.OAuth2WebServerFlow.step1_get_authorize_url()=oauth2client.client.OAuth2WebServerFlow-class.html#step1_get_authorize_url"><a title="oauth2client.client.OAuth2WebServerFlow.step1_get_authorize_url" class="py-name" href="#" onclick="return doclink('link-24', 'step1_get_authorize_url', 'link-24');">step1_get_authorize_url</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt id="link-25" class="py-name"><a title="oauth2client.old_run.FLAGS" class="py-name" href="#" onclick="return doclink('link-25', 'FLAGS', 'link-8');">FLAGS</a></tt><tt class="py-op">.</tt><tt class="py-name">auth_local_webserver</tt><tt class="py-op">:</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">    <tt class="py-name">webbrowser</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.authorize_url" class="py-name" href="#" onclick="return doclink('link-26', 'authorize_url', 'link-22');">authorize_url</a></tt><tt class="py-op">,</tt> <tt class="py-name">new</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">autoraise</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">'Your browser has been opened to visit:'</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">'    '</tt> <tt class="py-op">+</tt> <tt id="link-27" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.authorize_url" class="py-name" href="#" onclick="return doclink('link-27', 'authorize_url', 'link-22');">authorize_url</a></tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">'If your browser is on a different machine then exit and re-run'</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">'this application with the command-line parameter '</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">'  --noauth_local_webserver'</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">'Go to the following link in your browser:'</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">'    '</tt> <tt class="py-op">+</tt> <tt id="link-28" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.authorize_url" class="py-name" href="#" onclick="return doclink('link-28', 'authorize_url', 'link-22');">authorize_url</a></tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">  <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt id="link-29" class="py-name"><a title="oauth2client.old_run.FLAGS" class="py-name" href="#" onclick="return doclink('link-29', 'FLAGS', 'link-8');">FLAGS</a></tt><tt class="py-op">.</tt><tt class="py-name">auth_local_webserver</tt><tt class="py-op">:</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">    <tt class="py-name">httpd</tt><tt class="py-op">.</tt><tt class="py-name">handle_request</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'error'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">httpd</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Variable oauth2client.tools.ClientRedirectServer.query_params=oauth2client.tools.ClientRedirectServer-class.html#query_params"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-30', 'query_params', 'link-30');">query_params</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">      <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exit</tt><tt class="py-op">(</tt><tt class="py-string">'Authentication request was rejected.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'code'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">httpd</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-31', 'query_params', 'link-30');">query_params</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">      <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt class="py-name">httpd</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-32', 'query_params', 'link-30');">query_params</a></tt><tt class="py-op">[</tt><tt class="py-string">'code'</tt><tt class="py-op">]</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">      <tt class="py-keyword">print</tt> <tt class="py-string">'Failed to find "code" in the query parameters of the redirect.'</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">      <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exit</tt><tt class="py-op">(</tt><tt class="py-string">'Try running with --noauth_local_webserver.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">    <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt class="py-name">raw_input</tt><tt class="py-op">(</tt><tt class="py-string">'Enter verification code: '</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">  <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">    <tt class="py-name">credential</tt> <tt class="py-op">=</tt> <tt id="link-33" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-33', 'flow', 'link-21');">flow</a></tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Method oauth2client.client.OAuth2WebServerFlow.step2_exchange()=oauth2client.client.OAuth2WebServerFlow-class.html#step2_exchange"><a title="oauth2client.client.OAuth2WebServerFlow.step2_exchange" class="py-name" href="#" onclick="return doclink('link-34', 'step2_exchange', 'link-34');">step2_exchange</a></tt><tt class="py-op">(</tt><tt class="py-name">code</tt><tt class="py-op">,</tt> <tt id="link-35" class="py-name" targets="Module apiclient.http=apiclient.http-module.html,Method oauth2client.appengine.OAuth2Decorator.http()=oauth2client.appengine.OAuth2Decorator-class.html#http"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-35', 'http', 'link-35');">http</a></tt><tt class="py-op">=</tt><tt id="link-36" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-36', 'http', 'link-35');">http</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">  <tt class="py-keyword">except</tt> <tt id="link-37" class="py-name"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-37', 'client', 'link-1');">client</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Class oauth2client.client.FlowExchangeError=oauth2client.client.FlowExchangeError-class.html"><a title="oauth2client.client.FlowExchangeError" class="py-name" href="#" onclick="return doclink('link-38', 'FlowExchangeError', 'link-38');">FlowExchangeError</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">    <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exit</tt><tt class="py-op">(</tt><tt class="py-string">'Authentication has failed: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">  <tt class="py-name">storage</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name" targets="Method oauth2client.client.Storage.put()=oauth2client.client.Storage-class.html#put"><a title="oauth2client.client.Storage.put" class="py-name" href="#" onclick="return doclink('link-39', 'put', 'link-39');">put</a></tt><tt class="py-op">(</tt><tt class="py-name">credential</tt><tt class="py-op">)</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">  <tt class="py-name">credential</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method oauth2client.client.OAuth2Credentials.set_store()=oauth2client.client.OAuth2Credentials-class.html#set_store"><a title="oauth2client.client.OAuth2Credentials.set_store" class="py-name" href="#" onclick="return doclink('link-40', 'set_store', 'link-40');">set_store</a></tt><tt class="py-op">(</tt><tt class="py-name">storage</tt><tt class="py-op">)</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">  <tt class="py-keyword">print</tt> <tt class="py-string">'Authentication successful.'</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">credential</tt> </tt>
-</div><a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.tools-module.html b/docs/epy/oauth2client.tools-module.html
deleted file mode 100644
index 888070d..0000000
--- a/docs/epy/oauth2client.tools-module.html
+++ /dev/null
@@ -1,394 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.tools</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;tools
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.tools-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module tools</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.tools-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-Command-line tools for authenticating via OAuth 2.0
-
-Do the OAuth 2.0 Web Server dance for a command line application. Stores the
-generated credentials in a common file that is used by other example apps in
-the same directory.
-
-</pre>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        jcgregorio@google.com (Joe Gregorio)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.tools.ClientRedirectServer-class.html" class="summary-name" onclick="show_private();">ClientRedirectServer</a><br />
-      A server to handle OAuth 2.0 redirects back to localhost.
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.tools.ClientRedirectHandler-class.html" class="summary-name" onclick="show_private();">ClientRedirectHandler</a><br />
-      A handler for OAuth 2.0 redirects back to localhost.
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.tools-module.html#run_flow" class="summary-sig-name">run_flow</a>(<span class="summary-sig-arg">flow</span>,
-        <span class="summary-sig-arg">storage</span>,
-        <span class="summary-sig-arg">flags</span>,
-        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Core code for a command-line application.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.tools-pysrc.html#run_flow">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="message_if_missing"></a><span class="summary-sig-name">message_if_missing</span>(<span class="summary-sig-arg">filename</span>)</span><br />
-      Helpful message to display if the CLIENT_SECRETS file is missing.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.tools-pysrc.html#message_if_missing">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="run"></a><span class="summary-sig-name">run</span>(<span class="summary-sig-arg">*args</span>,
-        <span class="summary-sig-arg">**kwargs</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.tools-pysrc.html#run">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.tools-module.html#_CLIENT_SECRETS_MESSAGE" class="summary-name" onclick="show_private();">_CLIENT_SECRETS_MESSAGE</a> = <code title="&quot;&quot;&quot;WARNING: Please configure OAuth 2.0
-
-To make this sample run you will need to populate the client_secrets.j\
-son file
-found at:
-
-   %s
-
-...">&quot;&quot;&quot;WARNING: Please configure OAuth <code class="variable-ellipsis">...</code></code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="argparser"></a><span class="summary-name">argparser</span> = <code title="argparse.ArgumentParser(add_help= False)">argparse.ArgumentParser(add_help= False)</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="run_flow"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">run_flow</span>(<span class="sig-arg">flow</span>,
-        <span class="sig-arg">storage</span>,
-        <span class="sig-arg">flags</span>,
-        <span class="sig-arg">http</span>=<span class="sig-default">None</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.tools-pysrc.html#run_flow">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Core code for a command-line application.
-
-The run() function is called from your application and runs through all the
-steps to obtain credentials. It takes a Flow argument and attempts to open an
-authorization server page in the user's default web browser. The server asks
-the user to grant your application access to the user's data. If the user
-grants access, the run() function returns new credentials. The new credentials
-are also stored in the Storage argument, which updates the file associated
-with the Storage object.
-
-It presumes it is run from a command-line application and supports the
-following flags:
-
-  --auth_host_name: Host name to use when running a local web server
-    to handle redirects during OAuth authorization.
-    (default: 'localhost')
-
-  --auth_host_port: Port to use when running a local web server to handle
-    redirects during OAuth authorization.;
-    repeat this option to specify a list of values
-    (default: '[8080, 8090]')
-    (an integer)
-
-  --[no]auth_local_webserver: Run a local web server to handle redirects
-    during OAuth authorization.
-    (default: 'true')
-
-The tools module defines an ArgumentParser the already contains the flag
-definitions that run() requires. You can pass that ArgumentParser to your
-ArgumentParser constructor:
-
-  parser = argparse.ArgumentParser(description=__doc__,
-      formatter_class=argparse.RawDescriptionHelpFormatter,
-      parents=[tools.run_parser])
-  flags = parser.parse_args(argv)
-
-Args:
-  flow: Flow, an OAuth 2.0 Flow to step through.
-  storage: Storage, a Storage to store the credential in.
-  flags: argparse.ArgumentParser, the command-line flags.
-  http: An instance of httplib2.Http.request
-       or something that acts like it.
-
-Returns:
-  Credentials, the obtained credential.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(3)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-VariablesDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="_CLIENT_SECRETS_MESSAGE"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <h3 class="epydoc">_CLIENT_SECRETS_MESSAGE</h3>
-  
-  <dl class="fields">
-  </dl>
-  <dl class="fields">
-    <dt>Value:</dt>
-      <dd><table><tr><td><pre class="variable">
-&quot;&quot;&quot;WARNING: Please configure OAuth 2.0
-
-To make this sample run you will need to populate the client_secrets.j<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-son file
-found at:
-
-   %s
-
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.tools-pysrc.html b/docs/epy/oauth2client.tools-pysrc.html
deleted file mode 100644
index 1050bbd..0000000
--- a/docs/epy/oauth2client.tools-pysrc.html
+++ /dev/null
@@ -1,352 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.tools</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;tools
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.tools-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="oauth2client.tools-module.html">Module oauth2client.tools</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2013 Google Inc.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">"""Command-line tools for authenticating via OAuth 2.0</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">Do the OAuth 2.0 Web Server dance for a command line application. Stores the</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">generated credentials in a common file that is used by other example apps in</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">the same directory.</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-name">__all__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'argparser'</tt><tt class="py-op">,</tt> <tt class="py-string">'run_flow'</tt><tt class="py-op">,</tt> <tt class="py-string">'run'</tt><tt class="py-op">,</tt> <tt class="py-string">'message_if_missing'</tt><tt class="py-op">]</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">BaseHTTPServer</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">argparse</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">httplib2</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">socket</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">webbrowser</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package oauth2client=oauth2client-module.html"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-0', 'oauth2client', 'link-0');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module oauth2client.client=oauth2client.client-module.html"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-1', 'client', 'link-1');">client</a></tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-2', 'oauth2client', 'link-0');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module oauth2client.file=oauth2client.file-module.html"><a title="oauth2client.file" class="py-name" href="#" onclick="return doclink('link-3', 'file', 'link-3');">file</a></tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-4', 'oauth2client', 'link-0');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Module oauth2client.util=oauth2client.util-module.html"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-5', 'util', 'link-5');">util</a></tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">urlparse</tt> <tt class="py-keyword">import</tt> <tt class="py-name">parse_qsl</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">cgi</tt> <tt class="py-keyword">import</tt> <tt class="py-name">parse_qsl</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt id="link-6" class="py-name" targets="Variable oauth2client.tools._CLIENT_SECRETS_MESSAGE=oauth2client.tools-module.html#_CLIENT_SECRETS_MESSAGE"><a title="oauth2client.tools._CLIENT_SECRETS_MESSAGE" class="py-name" href="#" onclick="return doclink('link-6', '_CLIENT_SECRETS_MESSAGE', 'link-6');">_CLIENT_SECRETS_MESSAGE</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"""WARNING: Please configure OAuth 2.0</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-string">To make this sample run you will need to populate the client_secrets.json file</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-string">found at:</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-string">   %s</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-string">with information from the APIs Console &lt;https://code.google.com/apis/console&gt;.</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-string">"""</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-comment"># run_parser is an ArgumentParser that contains command-line options expected</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-comment"># by tools.run(). Pass it in as part of the 'parents' argument to your own</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-comment"># ArgumentParser.</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt id="link-7" class="py-name" targets="Variable oauth2client.tools.argparser=oauth2client.tools-module.html#argparser"><a title="oauth2client.tools.argparser" class="py-name" href="#" onclick="return doclink('link-7', 'argparser', 'link-7');">argparser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">argparse</tt><tt class="py-op">.</tt><tt class="py-name">ArgumentParser</tt><tt class="py-op">(</tt><tt class="py-name">add_help</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt id="link-8" class="py-name"><a title="oauth2client.tools.argparser" class="py-name" href="#" onclick="return doclink('link-8', 'argparser', 'link-7');">argparser</a></tt><tt class="py-op">.</tt><tt class="py-name">add_argument</tt><tt class="py-op">(</tt><tt class="py-string">'--auth_host_name'</tt><tt class="py-op">,</tt> <tt class="py-name">default</tt><tt class="py-op">=</tt><tt class="py-string">'localhost'</tt><tt class="py-op">,</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">                        <tt class="py-name">help</tt><tt class="py-op">=</tt><tt class="py-string">'Hostname when running a local web server.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt id="link-9" class="py-name"><a title="oauth2client.tools.argparser" class="py-name" href="#" onclick="return doclink('link-9', 'argparser', 'link-7');">argparser</a></tt><tt class="py-op">.</tt><tt class="py-name">add_argument</tt><tt class="py-op">(</tt><tt class="py-string">'--noauth_local_webserver'</tt><tt class="py-op">,</tt> <tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-string">'store_true'</tt><tt class="py-op">,</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">                        <tt class="py-name">default</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-name">help</tt><tt class="py-op">=</tt><tt class="py-string">'Do not run a local web server.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt id="link-10" class="py-name"><a title="oauth2client.tools.argparser" class="py-name" href="#" onclick="return doclink('link-10', 'argparser', 'link-7');">argparser</a></tt><tt class="py-op">.</tt><tt class="py-name">add_argument</tt><tt class="py-op">(</tt><tt class="py-string">'--auth_host_port'</tt><tt class="py-op">,</tt> <tt class="py-name">default</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-number">8080</tt><tt class="py-op">,</tt> <tt class="py-number">8090</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">type</tt><tt class="py-op">=</tt><tt class="py-name">int</tt><tt class="py-op">,</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">                        <tt class="py-name">nargs</tt><tt class="py-op">=</tt><tt class="py-string">'*'</tt><tt class="py-op">,</tt> <tt class="py-name">help</tt><tt class="py-op">=</tt><tt class="py-string">'Port web server should listen on.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt id="link-11" class="py-name"><a title="oauth2client.tools.argparser" class="py-name" href="#" onclick="return doclink('link-11', 'argparser', 'link-7');">argparser</a></tt><tt class="py-op">.</tt><tt class="py-name">add_argument</tt><tt class="py-op">(</tt><tt class="py-string">'--logging_level'</tt><tt class="py-op">,</tt> <tt class="py-name">default</tt><tt class="py-op">=</tt><tt class="py-string">'ERROR'</tt><tt class="py-op">,</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">                        <tt class="py-name">choices</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'DEBUG'</tt><tt class="py-op">,</tt> <tt class="py-string">'INFO'</tt><tt class="py-op">,</tt> <tt class="py-string">'WARNING'</tt><tt class="py-op">,</tt> <tt class="py-string">'ERROR'</tt><tt class="py-op">,</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">                                 <tt class="py-string">'CRITICAL'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">                        <tt class="py-name">help</tt><tt class="py-op">=</tt><tt class="py-string">'Set the logging level of detail.'</tt><tt class="py-op">)</tt> </tt>
-<a name="ClientRedirectServer"></a><div id="ClientRedirectServer-def"><a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <a class="py-toggle" href="#" id="ClientRedirectServer-toggle" onclick="return toggle('ClientRedirectServer');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.tools.ClientRedirectServer-class.html">ClientRedirectServer</a><tt class="py-op">(</tt><tt class="py-base-class">BaseHTTPServer</tt><tt class="py-op">.</tt><tt class="py-base-class">HTTPServer</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ClientRedirectServer-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ClientRedirectServer-expanded"><a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">  <tt class="py-docstring">"""A server to handle OAuth 2.0 redirects back to localhost.</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">  Waits for a single request and parses the query parameters</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring">  into query_params and then stops serving.</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">  <tt id="link-12" class="py-name" targets="Variable oauth2client.tools.ClientRedirectServer.query_params=oauth2client.tools.ClientRedirectServer-class.html#query_params"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-12', 'query_params', 'link-12');">query_params</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-</div><a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"> </tt>
-<a name="ClientRedirectHandler"></a><div id="ClientRedirectHandler-def"><a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <a class="py-toggle" href="#" id="ClientRedirectHandler-toggle" onclick="return toggle('ClientRedirectHandler');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="oauth2client.tools.ClientRedirectHandler-class.html">ClientRedirectHandler</a><tt class="py-op">(</tt><tt class="py-base-class">BaseHTTPServer</tt><tt class="py-op">.</tt><tt class="py-base-class">BaseHTTPRequestHandler</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ClientRedirectHandler-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ClientRedirectHandler-expanded"><a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">  <tt class="py-docstring">"""A handler for OAuth 2.0 redirects back to localhost.</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">  Waits for a single request and parses the query parameters</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">  into the servers query_params and then stops serving.</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"> </tt>
-<a name="ClientRedirectHandler.do_GET"></a><div id="ClientRedirectHandler.do_GET-def"><a name="L87"></a><tt class="py-lineno"> 87</tt> <a class="py-toggle" href="#" id="ClientRedirectHandler.do_GET-toggle" onclick="return toggle('ClientRedirectHandler.do_GET');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.tools.ClientRedirectHandler-class.html#do_GET">do_GET</a><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ClientRedirectHandler.do_GET-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ClientRedirectHandler.do_GET-expanded"><a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">    <tt class="py-docstring">"""Handle a GET request.</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring">    Parses the query parameters and prints a message</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring">    if the flow has completed. Note that we can't detect</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">    if an error occurred.</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">    <tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">send_response</tt><tt class="py-op">(</tt><tt class="py-number">200</tt><tt class="py-op">)</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">    <tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">send_header</tt><tt class="py-op">(</tt><tt class="py-string">"Content-type"</tt><tt class="py-op">,</tt> <tt class="py-string">"text/html"</tt><tt class="py-op">)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">    <tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">end_headers</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">    <tt class="py-name">query</tt> <tt class="py-op">=</tt> <tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'?'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">    <tt class="py-name">query</tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">parse_qsl</tt><tt class="py-op">(</tt><tt class="py-name">query</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">    <tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">server</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-13', 'query_params', 'link-12');">query_params</a></tt> <tt class="py-op">=</tt> <tt class="py-name">query</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">    <tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">wfile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"&lt;html&gt;&lt;head&gt;&lt;title&gt;Authentication Status&lt;/title&gt;&lt;/head&gt;"</tt><tt class="py-op">)</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">    <tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">wfile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"&lt;body&gt;&lt;p&gt;The authentication flow has completed.&lt;/p&gt;"</tt><tt class="py-op">)</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">    <tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">wfile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"&lt;/body&gt;&lt;/html&gt;"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"> </tt>
-<a name="ClientRedirectHandler.log_message"></a><div id="ClientRedirectHandler.log_message-def"><a name="L104"></a><tt class="py-lineno">104</tt> <a class="py-toggle" href="#" id="ClientRedirectHandler.log_message-toggle" onclick="return toggle('ClientRedirectHandler.log_message');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.tools.ClientRedirectHandler-class.html#log_message">log_message</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">format</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ClientRedirectHandler.log_message-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ClientRedirectHandler.log_message-expanded"><a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">    <tt class="py-docstring">"""Do not log messages to stdout while running as command line program."""</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">    <tt class="py-keyword">pass</tt> </tt>
-</div></div><a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"> </tt>
-<a name="run_flow"></a><div id="run_flow-def"><a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Function oauth2client.util.positional()=oauth2client.util-module.html#positional"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-14', 'positional', 'link-14');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <a class="py-toggle" href="#" id="run_flow-toggle" onclick="return toggle('run_flow');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.tools-module.html#run_flow">run_flow</a><tt class="py-op">(</tt><tt class="py-param">flow</tt><tt class="py-op">,</tt> <tt class="py-param">storage</tt><tt class="py-op">,</tt> <tt class="py-param">flags</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="run_flow-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="run_flow-expanded"><a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">  <tt class="py-docstring">"""Core code for a command-line application.</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-docstring">  The run() function is called from your application and runs through all the</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-docstring">  steps to obtain credentials. It takes a Flow argument and attempts to open an</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring">  authorization server page in the user's default web browser. The server asks</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">  the user to grant your application access to the user's data. If the user</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">  grants access, the run() function returns new credentials. The new credentials</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-docstring">  are also stored in the Storage argument, which updates the file associated</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-docstring">  with the Storage object.</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-docstring">  It presumes it is run from a command-line application and supports the</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring">  following flags:</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">    --auth_host_name: Host name to use when running a local web server</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring">      to handle redirects during OAuth authorization.</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring">      (default: 'localhost')</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">    --auth_host_port: Port to use when running a local web server to handle</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">      redirects during OAuth authorization.;</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">      repeat this option to specify a list of values</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring">      (default: '[8080, 8090]')</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">      (an integer)</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">    --[no]auth_local_webserver: Run a local web server to handle redirects</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring">      during OAuth authorization.</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring">      (default: 'true')</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-docstring">  The tools module defines an ArgumentParser the already contains the flag</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-docstring">  definitions that run() requires. You can pass that ArgumentParser to your</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-docstring">  ArgumentParser constructor:</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"><tt class="py-docstring">    parser = argparse.ArgumentParser(description=__doc__,</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"><tt class="py-docstring">        formatter_class=argparse.RawDescriptionHelpFormatter,</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-docstring">        parents=[tools.run_parser])</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-docstring">    flags = parser.parse_args(argv)</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-docstring">    flow: Flow, an OAuth 2.0 Flow to step through.</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-docstring">    storage: Storage, a Storage to store the credential in.</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-docstring">    flags: argparse.ArgumentParser, the command-line flags.</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-docstring">    http: An instance of httplib2.Http.request</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">         or something that acts like it.</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">    Credentials, the obtained credential.</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">  <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">,</tt> <tt class="py-name">flags</tt><tt class="py-op">.</tt><tt class="py-name">logging_level</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">flags</tt><tt class="py-op">.</tt><tt class="py-name">noauth_local_webserver</tt><tt class="py-op">:</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">    <tt class="py-name">success</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">    <tt class="py-name">port_number</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">port</tt> <tt class="py-keyword">in</tt> <tt class="py-name">flags</tt><tt class="py-op">.</tt><tt class="py-name">auth_host_port</tt><tt class="py-op">:</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">      <tt class="py-name">port_number</tt> <tt class="py-op">=</tt> <tt class="py-name">port</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-name">httpd</tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name" targets="Class oauth2client.tools.ClientRedirectServer=oauth2client.tools.ClientRedirectServer-class.html"><a title="oauth2client.tools.ClientRedirectServer" class="py-name" href="#" onclick="return doclink('link-15', 'ClientRedirectServer', 'link-15');">ClientRedirectServer</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">flags</tt><tt class="py-op">.</tt><tt class="py-name">auth_host_name</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">                                     <tt id="link-16" class="py-name" targets="Class oauth2client.tools.ClientRedirectHandler=oauth2client.tools.ClientRedirectHandler-class.html"><a title="oauth2client.tools.ClientRedirectHandler" class="py-name" href="#" onclick="return doclink('link-16', 'ClientRedirectHandler', 'link-16');">ClientRedirectHandler</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-name">success</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-keyword">break</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">    <tt class="py-name">flags</tt><tt class="py-op">.</tt><tt class="py-name">noauth_local_webserver</tt> <tt class="py-op">=</tt> <tt class="py-keyword">not</tt> <tt class="py-name">success</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">success</tt><tt class="py-op">:</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">      <tt class="py-keyword">print</tt> <tt class="py-string">'Failed to start a local webserver listening on either port 8080'</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">      <tt class="py-keyword">print</tt> <tt class="py-string">'or port 9090. Please check your firewall settings and locally'</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">      <tt class="py-keyword">print</tt> <tt class="py-string">'running programs that may be blocking or using those ports.'</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">      <tt class="py-keyword">print</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">      <tt class="py-keyword">print</tt> <tt class="py-string">'Falling back to --noauth_local_webserver and continuing with'</tt><tt class="py-op">,</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">      <tt class="py-keyword">print</tt> <tt class="py-string">'authorization.'</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">      <tt class="py-keyword">print</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">flags</tt><tt class="py-op">.</tt><tt class="py-name">noauth_local_webserver</tt><tt class="py-op">:</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">    <tt class="py-name">oauth_callback</tt> <tt class="py-op">=</tt> <tt class="py-string">'http://%s:%s/'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">flags</tt><tt class="py-op">.</tt><tt class="py-name">auth_host_name</tt><tt class="py-op">,</tt> <tt class="py-name">port_number</tt><tt class="py-op">)</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">    <tt class="py-name">oauth_callback</tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-17', 'client', 'link-1');">client</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Variable oauth2client.client.OOB_CALLBACK_URN=oauth2client.client-module.html#OOB_CALLBACK_URN"><a title="oauth2client.client.OOB_CALLBACK_URN" class="py-name" href="#" onclick="return doclink('link-18', 'OOB_CALLBACK_URN', 'link-18');">OOB_CALLBACK_URN</a></tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">  <tt id="link-19" class="py-name" targets="Variable oauth2client.appengine.OAuth2Decorator.flow=oauth2client.appengine.OAuth2Decorator-class.html#flow"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-19', 'flow', 'link-19');">flow</a></tt><tt class="py-op">.</tt><tt class="py-name">redirect_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">oauth_callback</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">  <tt id="link-20" class="py-name" targets="Method oauth2client.appengine.OAuth2Decorator.authorize_url()=oauth2client.appengine.OAuth2Decorator-class.html#authorize_url"><a title="oauth2client.appengine.OAuth2Decorator.authorize_url" class="py-name" href="#" onclick="return doclink('link-20', 'authorize_url', 'link-20');">authorize_url</a></tt> <tt class="py-op">=</tt> <tt id="link-21" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-21', 'flow', 'link-19');">flow</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method oauth2client.client.OAuth2WebServerFlow.step1_get_authorize_url()=oauth2client.client.OAuth2WebServerFlow-class.html#step1_get_authorize_url"><a title="oauth2client.client.OAuth2WebServerFlow.step1_get_authorize_url" class="py-name" href="#" onclick="return doclink('link-22', 'step1_get_authorize_url', 'link-22');">step1_get_authorize_url</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">flags</tt><tt class="py-op">.</tt><tt class="py-name">noauth_local_webserver</tt><tt class="py-op">:</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">    <tt class="py-name">webbrowser</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt id="link-23" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.authorize_url" class="py-name" href="#" onclick="return doclink('link-23', 'authorize_url', 'link-20');">authorize_url</a></tt><tt class="py-op">,</tt> <tt class="py-name">new</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">autoraise</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">'Your browser has been opened to visit:'</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">'    '</tt> <tt class="py-op">+</tt> <tt id="link-24" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.authorize_url" class="py-name" href="#" onclick="return doclink('link-24', 'authorize_url', 'link-20');">authorize_url</a></tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">'If your browser is on a different machine then exit and re-run this'</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">'application with the command-line parameter '</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">'  --noauth_local_webserver'</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">'Go to the following link in your browser:'</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">'    '</tt> <tt class="py-op">+</tt> <tt id="link-25" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.authorize_url" class="py-name" href="#" onclick="return doclink('link-25', 'authorize_url', 'link-20');">authorize_url</a></tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line"> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">  <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">flags</tt><tt class="py-op">.</tt><tt class="py-name">noauth_local_webserver</tt><tt class="py-op">:</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">    <tt class="py-name">httpd</tt><tt class="py-op">.</tt><tt class="py-name">handle_request</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'error'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">httpd</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-26', 'query_params', 'link-12');">query_params</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">      <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exit</tt><tt class="py-op">(</tt><tt class="py-string">'Authentication request was rejected.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'code'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">httpd</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-27', 'query_params', 'link-12');">query_params</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">      <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt class="py-name">httpd</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="oauth2client.tools.ClientRedirectServer.query_params" class="py-name" href="#" onclick="return doclink('link-28', 'query_params', 'link-12');">query_params</a></tt><tt class="py-op">[</tt><tt class="py-string">'code'</tt><tt class="py-op">]</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">      <tt class="py-keyword">print</tt> <tt class="py-string">'Failed to find "code" in the query parameters of the redirect.'</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">      <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exit</tt><tt class="py-op">(</tt><tt class="py-string">'Try running with --noauth_local_webserver.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">    <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt class="py-name">raw_input</tt><tt class="py-op">(</tt><tt class="py-string">'Enter verification code: '</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">  <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">    <tt class="py-name">credential</tt> <tt class="py-op">=</tt> <tt id="link-29" class="py-name"><a title="oauth2client.appengine.OAuth2Decorator.flow" class="py-name" href="#" onclick="return doclink('link-29', 'flow', 'link-19');">flow</a></tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method oauth2client.client.OAuth2WebServerFlow.step2_exchange()=oauth2client.client.OAuth2WebServerFlow-class.html#step2_exchange"><a title="oauth2client.client.OAuth2WebServerFlow.step2_exchange" class="py-name" href="#" onclick="return doclink('link-30', 'step2_exchange', 'link-30');">step2_exchange</a></tt><tt class="py-op">(</tt><tt class="py-name">code</tt><tt class="py-op">,</tt> <tt id="link-31" class="py-name" targets="Module apiclient.http=apiclient.http-module.html,Method oauth2client.appengine.OAuth2Decorator.http()=oauth2client.appengine.OAuth2Decorator-class.html#http"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-31', 'http', 'link-31');">http</a></tt><tt class="py-op">=</tt><tt id="link-32" class="py-name"><a title="apiclient.http
-oauth2client.appengine.OAuth2Decorator.http" class="py-name" href="#" onclick="return doclink('link-32', 'http', 'link-31');">http</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">  <tt class="py-keyword">except</tt> <tt id="link-33" class="py-name"><a title="oauth2client.client" class="py-name" href="#" onclick="return doclink('link-33', 'client', 'link-1');">client</a></tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Class oauth2client.client.FlowExchangeError=oauth2client.client.FlowExchangeError-class.html"><a title="oauth2client.client.FlowExchangeError" class="py-name" href="#" onclick="return doclink('link-34', 'FlowExchangeError', 'link-34');">FlowExchangeError</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">    <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exit</tt><tt class="py-op">(</tt><tt class="py-string">'Authentication has failed: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">  <tt class="py-name">storage</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method oauth2client.client.Storage.put()=oauth2client.client.Storage-class.html#put"><a title="oauth2client.client.Storage.put" class="py-name" href="#" onclick="return doclink('link-35', 'put', 'link-35');">put</a></tt><tt class="py-op">(</tt><tt class="py-name">credential</tt><tt class="py-op">)</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">  <tt class="py-name">credential</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method oauth2client.client.OAuth2Credentials.set_store()=oauth2client.client.OAuth2Credentials-class.html#set_store"><a title="oauth2client.client.OAuth2Credentials.set_store" class="py-name" href="#" onclick="return doclink('link-36', 'set_store', 'link-36');">set_store</a></tt><tt class="py-op">(</tt><tt class="py-name">storage</tt><tt class="py-op">)</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">  <tt class="py-keyword">print</tt> <tt class="py-string">'Authentication successful.'</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">credential</tt> </tt>
-</div><a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"> </tt>
-<a name="message_if_missing"></a><div id="message_if_missing-def"><a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt> <a class="py-toggle" href="#" id="message_if_missing-toggle" onclick="return toggle('message_if_missing');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.tools-module.html#message_if_missing">message_if_missing</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="message_if_missing-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="message_if_missing-expanded"><a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">  <tt class="py-docstring">"""Helpful message to display if the CLIENT_SECRETS file is missing."""</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-37" class="py-name"><a title="oauth2client.tools._CLIENT_SECRETS_MESSAGE" class="py-name" href="#" onclick="return doclink('link-37', '_CLIENT_SECRETS_MESSAGE', 'link-6');">_CLIENT_SECRETS_MESSAGE</a></tt> <tt class="py-op">%</tt> <tt id="link-38" class="py-name" targets="Method oauth2client.locked_file.LockedFile.filename()=oauth2client.locked_file.LockedFile-class.html#filename,Method oauth2client.locked_file._Opener.filename()=oauth2client.locked_file._Opener-class.html#filename"><a title="oauth2client.locked_file.LockedFile.filename
-oauth2client.locked_file._Opener.filename" class="py-name" href="#" onclick="return doclink('link-38', 'filename', 'link-38');">filename</a></tt> </tt>
-</div><a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt id="link-39" class="py-name" targets="Module oauth2client.old_run=oauth2client.old_run-module.html"><a title="oauth2client.old_run" class="py-name" href="#" onclick="return doclink('link-39', 'old_run', 'link-39');">old_run</a></tt> <tt class="py-keyword">import</tt> <tt id="link-40" class="py-name" targets="Function oauth2client.old_run.run()=oauth2client.old_run-module.html#run,Function oauth2client.tools.run()=oauth2client.tools-module.html#run"><a title="oauth2client.old_run.run
-oauth2client.tools.run" class="py-name" href="#" onclick="return doclink('link-40', 'run', 'link-40');">run</a></tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt id="link-41" class="py-name"><a title="oauth2client.old_run" class="py-name" href="#" onclick="return doclink('link-41', 'old_run', 'link-39');">old_run</a></tt> <tt class="py-keyword">import</tt> <tt id="link-42" class="py-name" targets="Variable oauth2client.old_run.FLAGS=oauth2client.old_run-module.html#FLAGS"><a title="oauth2client.old_run.FLAGS" class="py-name" href="#" onclick="return doclink('link-42', 'FLAGS', 'link-42');">FLAGS</a></tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="run"></a><div id="run-def"><a name="L239"></a><tt class="py-lineno">239</tt> <a class="py-toggle" href="#" id="run-toggle" onclick="return toggle('run');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.tools-module.html#run">run</a><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="run-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="run-expanded"><a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt class="py-string">'The gflags library must be installed to use tools.run(). '</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">        <tt class="py-string">'Please install gflags or preferrably switch to using '</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">        <tt class="py-string">'tools.run_flow().'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.tools.ClientRedirectHandler-class.html b/docs/epy/oauth2client.tools.ClientRedirectHandler-class.html
deleted file mode 100644
index bcfe8ad..0000000
--- a/docs/epy/oauth2client.tools.ClientRedirectHandler-class.html
+++ /dev/null
@@ -1,342 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.tools.ClientRedirectHandler</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.tools-module.html">Module&nbsp;tools</a> ::
-        Class&nbsp;ClientRedirectHandler
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.tools.ClientRedirectHandler-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class ClientRedirectHandler</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.tools-pysrc.html#ClientRedirectHandler">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_51" name="uml_class_diagram_for_oauth2cl_51">
-<area shape="rect" id="node226" href="oauth2client.tools.ClientRedirectHandler-class.html#do_GET" title="Handle a GET request." alt="" coords="53,764,249,783"/>
-<area shape="rect" id="node226" href="oauth2client.tools.ClientRedirectHandler-class.html#log_message" title="Do not log messages to stdout while running as command line program." alt="" coords="53,783,249,801"/>
-<area shape="rect" id="node1" href="oauth2client.tools.ClientRedirectHandler-class.html" title="A handler for OAuth 2.0 redirects back to localhost." alt="" coords="41,731,260,807"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.sys_version" alt="" coords="17,273,285,292"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.server_version" alt="" coords="17,292,285,311"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.default_request_version" alt="" coords="17,311,285,329"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.error_message_format" alt="" coords="17,329,285,348"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.error_content_type" alt="" coords="17,348,285,367"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.weekdayname" alt="" coords="17,367,285,385"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.monthname" alt="" coords="17,385,285,404"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.protocol_version" alt="" coords="17,404,285,423"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.MessageClass" alt="" coords="17,423,285,441"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.responses" alt="" coords="17,441,285,460"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="Parse a request (internal)." alt="" coords="17,463,285,481"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="Handle a single HTTP request." alt="" coords="17,481,285,500"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="Handle multiple requests if necessary." alt="" coords="17,500,285,519"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="Send and log an error reply." alt="" coords="17,519,285,537"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="Send the response header and log the response code." alt="" coords="17,537,285,556"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="Send a MIME header." alt="" coords="17,556,285,575"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="Send the blank line ending the MIME headers." alt="" coords="17,575,285,593"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="Log an accepted request." alt="" coords="17,593,285,612"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="Log an error." alt="" coords="17,612,285,631"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="Return the server software version string." alt="" coords="17,631,285,649"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="Return the current date and time formatted for a message header." alt="" coords="17,649,285,668"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="Return the current time formatted for logging." alt="" coords="17,668,285,687"/>
-<area shape="rect" id="node227" href="javascript:void(0);" title="Return the client address formatted for logging." alt="" coords="17,687,285,705"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="HTTP request handler base class." alt="" coords="5,249,296,711"/>
-<area shape="rect" id="node229" href="javascript:void(0);" title="SocketServer.BaseRequestHandler.__init__" alt="" coords="17,39,285,57"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Base class for request handler classes." alt="" coords="5,6,296,63"/>
-<area shape="rect" id="node228" href="javascript:void(0);" title="SocketServer.StreamRequestHandler.rbufsize" alt="" coords="41,108,263,127"/>
-<area shape="rect" id="node228" href="javascript:void(0);" title="SocketServer.StreamRequestHandler.wbufsize" alt="" coords="41,127,263,145"/>
-<area shape="rect" id="node228" href="javascript:void(0);" title="SocketServer.StreamRequestHandler.timeout" alt="" coords="41,145,263,164"/>
-<area shape="rect" id="node228" href="javascript:void(0);" title="SocketServer.StreamRequestHandler.disable_nagle_algorithm" alt="" coords="41,164,263,183"/>
-<area shape="rect" id="node228" href="javascript:void(0);" title="SocketServer.StreamRequestHandler.setup" alt="" coords="41,185,263,204"/>
-<area shape="rect" id="node228" href="javascript:void(0);" title="SocketServer.StreamRequestHandler.finish" alt="" coords="41,204,263,223"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Define self.rfile and self.wfile for stream sockets." alt="" coords="29,83,275,229"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_51.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_51" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-A handler for OAuth 2.0 redirects back to localhost.
-
-Waits for a single request and parses the query parameters
-into the servers query_params and then stops serving.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.tools.ClientRedirectHandler-class.html#do_GET" class="summary-sig-name">do_GET</a>(<span class="summary-sig-arg">s</span>)</span><br />
-      Handle a GET request.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.tools-pysrc.html#ClientRedirectHandler.do_GET">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.tools.ClientRedirectHandler-class.html#log_message" class="summary-sig-name">log_message</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">format</span>,
-        <span class="summary-sig-arg">*args</span>)</span><br />
-      Do not log messages to stdout while running as command line program.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.tools-pysrc.html#ClientRedirectHandler.log_message">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>BaseHTTPServer.BaseHTTPRequestHandler</code></b>:
-      <code>address_string</code>,
-      <code>date_time_string</code>,
-      <code>end_headers</code>,
-      <code>handle</code>,
-      <code>handle_one_request</code>,
-      <code>log_date_time_string</code>,
-      <code>log_error</code>,
-      <code>log_request</code>,
-      <code>parse_request</code>,
-      <code>send_error</code>,
-      <code>send_header</code>,
-      <code>send_response</code>,
-      <code>version_string</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>SocketServer.StreamRequestHandler</code></b>:
-      <code>finish</code>,
-      <code>setup</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>SocketServer.BaseRequestHandler</code></b>:
-      <code>__init__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>BaseHTTPServer.BaseHTTPRequestHandler</code></b>:
-      <code>MessageClass</code>,
-      <code>default_request_version</code>,
-      <code>error_content_type</code>,
-      <code>error_message_format</code>,
-      <code>monthname</code>,
-      <code>protocol_version</code>,
-      <code>responses</code>,
-      <code>server_version</code>,
-      <code>sys_version</code>,
-      <code>weekdayname</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>SocketServer.StreamRequestHandler</code></b>:
-      <code>disable_nagle_algorithm</code>,
-      <code>rbufsize</code>,
-      <code>timeout</code>,
-      <code>wbufsize</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="do_GET"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">do_GET</span>(<span class="sig-arg">s</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.tools-pysrc.html#ClientRedirectHandler.do_GET">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Handle a GET request.
-
-Parses the query parameters and prints a message
-if the flow has completed. Note that we can't detect
-if an error occurred.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="log_message"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">log_message</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">format</span>,
-        <span class="sig-arg">*args</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.tools-pysrc.html#ClientRedirectHandler.log_message">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Do not log messages to stdout while running as command line program.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        BaseHTTPServer.BaseHTTPRequestHandler.log_message
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.tools.ClientRedirectServer-class.html b/docs/epy/oauth2client.tools.ClientRedirectServer-class.html
deleted file mode 100644
index cd68d80..0000000
--- a/docs/epy/oauth2client.tools.ClientRedirectServer-class.html
+++ /dev/null
@@ -1,227 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.tools.ClientRedirectServer</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        <a href="oauth2client.tools-module.html">Module&nbsp;tools</a> ::
-        Class&nbsp;ClientRedirectServer
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.tools.ClientRedirectServer-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class ClientRedirectServer</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.tools-pysrc.html#ClientRedirectServer">source&nbsp;code</a></span></p>
-<center>
-<center>  <map id="uml_class_diagram_for_oauth2cl_52" name="uml_class_diagram_for_oauth2cl_52">
-<area shape="rect" id="node230" href="oauth2client.tools.ClientRedirectServer-class.html#query_params" title="oauth2client.tools.ClientRedirectServer.query_params" alt="" coords="187,583,309,601"/>
-<area shape="rect" id="node1" href="oauth2client.tools.ClientRedirectServer-class.html" title="A server to handle OAuth 2.0 redirects back to localhost." alt="" coords="175,558,321,615"/>
-<area shape="rect" id="node231" href="javascript:void(0);" title="BaseHTTPServer.HTTPServer.allow_reuse_address" alt="" coords="156,492,339,511"/>
-<area shape="rect" id="node231" href="javascript:void(0);" title="Override server_bind to store the server name." alt="" coords="156,513,339,532"/>
-<area shape="rect" id="node2" href="javascript:void(0);" title="BaseHTTPServer.HTTPServer" alt="" coords="144,467,349,538"/>
-<area shape="rect" id="node232" href="javascript:void(0);" title="SocketServer.TCPServer.address_family" alt="" coords="17,252,479,271"/>
-<area shape="rect" id="node232" href="javascript:void(0);" title="SocketServer.TCPServer.socket_type" alt="" coords="17,271,479,289"/>
-<area shape="rect" id="node232" href="javascript:void(0);" title="SocketServer.TCPServer.request_queue_size" alt="" coords="17,289,479,308"/>
-<area shape="rect" id="node232" href="javascript:void(0);" title="Constructor." alt="" coords="17,311,479,329"/>
-<area shape="rect" id="node232" href="javascript:void(0);" title="Called by constructor to activate the server." alt="" coords="17,329,479,348"/>
-<area shape="rect" id="node232" href="javascript:void(0);" title="Called to clean&#45;up the server." alt="" coords="17,348,479,367"/>
-<area shape="rect" id="node232" href="javascript:void(0);" title="Return socket file number." alt="" coords="17,367,479,385"/>
-<area shape="rect" id="node232" href="javascript:void(0);" title="Get the request and client address from the socket." alt="" coords="17,385,479,404"/>
-<area shape="rect" id="node232" href="javascript:void(0);" title="Called to shutdown and close an individual request." alt="" coords="17,404,479,423"/>
-<area shape="rect" id="node232" href="javascript:void(0);" title="Called to clean up an individual request." alt="" coords="17,423,479,441"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Base class for various socket&#45;based server classes." alt="" coords="5,227,491,447"/>
-<area shape="rect" id="node233" href="javascript:void(0);" title="SocketServer.BaseServer.timeout" alt="" coords="109,31,385,49"/>
-<area shape="rect" id="node233" href="javascript:void(0);" title="Handle one request at a time until shutdown." alt="" coords="109,52,385,71"/>
-<area shape="rect" id="node233" href="javascript:void(0);" title="Stops the serve_forever loop." alt="" coords="109,71,385,89"/>
-<area shape="rect" id="node233" href="javascript:void(0);" title="Handle one request, possibly blocking." alt="" coords="109,89,385,108"/>
-<area shape="rect" id="node233" href="javascript:void(0);" title="Called if no new request arrives within self.timeout." alt="" coords="109,108,385,127"/>
-<area shape="rect" id="node233" href="javascript:void(0);" title="Verify the request." alt="" coords="109,127,385,145"/>
-<area shape="rect" id="node233" href="javascript:void(0);" title="Call finish_request." alt="" coords="109,145,385,164"/>
-<area shape="rect" id="node233" href="javascript:void(0);" title="Finish one request by instantiating RequestHandlerClass." alt="" coords="109,164,385,183"/>
-<area shape="rect" id="node233" href="javascript:void(0);" title="Handle an error gracefully." alt="" coords="109,183,385,201"/>
-<area shape="rect" id="node4" href="javascript:void(0);" title="Base class for server classes." alt="" coords="97,6,396,207"/>
-</map>
-  <img src="uml_class_diagram_for_oauth2cl_52.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_52" ismap="ismap" class="graph-without-title" />
-</center>
-</center>
-<hr />
-<pre class="literalblock">
-A server to handle OAuth 2.0 redirects back to localhost.
-
-Waits for a single request and parses the query parameters
-into query_params and then stops serving.
-
-</pre>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>BaseHTTPServer.HTTPServer</code></b>:
-      <code>server_bind</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>SocketServer.TCPServer</code></b>:
-      <code>__init__</code>,
-      <code>close_request</code>,
-      <code>fileno</code>,
-      <code>get_request</code>,
-      <code>server_activate</code>,
-      <code>server_close</code>,
-      <code>shutdown_request</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>SocketServer.BaseServer</code></b>:
-      <code>finish_request</code>,
-      <code>handle_error</code>,
-      <code>handle_request</code>,
-      <code>handle_timeout</code>,
-      <code>process_request</code>,
-      <code>serve_forever</code>,
-      <code>shutdown</code>,
-      <code>verify_request</code>
-      </p>
-    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>SocketServer.BaseServer</code></b> (private):
-      <code>_handle_request_noblock</code>
-      </p></div>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Class Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-ClassVariables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="query_params"></a><span class="summary-name">query_params</span> = <code title="{}">{}</code>
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>BaseHTTPServer.HTTPServer</code></b>:
-      <code>allow_reuse_address</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>SocketServer.TCPServer</code></b>:
-      <code>address_family</code>,
-      <code>request_queue_size</code>,
-      <code>socket_type</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>SocketServer.BaseServer</code></b>:
-      <code>timeout</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.util-module.html b/docs/epy/oauth2client.util-module.html
deleted file mode 100644
index cfc9da8..0000000
--- a/docs/epy/oauth2client.util-module.html
+++ /dev/null
@@ -1,499 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.util</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;util
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.util-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module util</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.util-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-Common utility library.
-
-</pre>
-
-<hr />
-<div class="fields">      <dl><dt>Authors:</dt>
-        <dd>
-          rafek@google.com (Rafe Kaplan),
-          guido@google.com (Guido van Rossum)
-        </dd>
-      </dl>
-</div><!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.util-module.html#positional" class="summary-sig-name">positional</a>(<span class="summary-sig-arg">max_positional_args</span>)</span><br />
-      A decorator to declare that only the first N arguments my be positional.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.util-pysrc.html#positional">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.util-module.html#scopes_to_string" class="summary-sig-name" onclick="show_private();">scopes_to_string</a>(<span class="summary-sig-arg">scopes</span>)</span><br />
-      Converts scope value to a string.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.util-pysrc.html#scopes_to_string">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.util-module.html#dict_to_tuple_key" class="summary-sig-name" onclick="show_private();">dict_to_tuple_key</a>(<span class="summary-sig-arg">dictionary</span>)</span><br />
-      Converts a dictionary to a tuple that can be used as an immutable key.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.util-pysrc.html#dict_to_tuple_key">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.util-module.html#_add_query_parameter" class="summary-sig-name" onclick="show_private();">_add_query_parameter</a>(<span class="summary-sig-arg">url</span>,
-        <span class="summary-sig-arg">name</span>,
-        <span class="summary-sig-arg">value</span>)</span><br />
-      Adds a query parameter to a url.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.util-pysrc.html#_add_query_parameter">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="POSITIONAL_WARNING"></a><span class="summary-name">POSITIONAL_WARNING</span> = <code title="'WARNING'">'WARNING'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="POSITIONAL_EXCEPTION"></a><span class="summary-name">POSITIONAL_EXCEPTION</span> = <code title="'EXCEPTION'">'EXCEPTION'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="POSITIONAL_IGNORE"></a><span class="summary-name">POSITIONAL_IGNORE</span> = <code title="'IGNORE'">'IGNORE'</code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="oauth2client.util-module.html#POSITIONAL_SET" class="summary-name" onclick="show_private();">POSITIONAL_SET</a> = <code title="frozenset([POSITIONAL_WARNING, POSITIONAL_EXCEPTION, POSITIONAL_IGNORE\
-])">frozenset([POSITIONAL_WARNING, POSITIONAL_EXC<code class="variable-ellipsis">...</code></code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="positional_parameters_enforcement"></a><span class="summary-name">positional_parameters_enforcement</span> = <code title="'WARNING'">'WARNING'</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="positional"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">positional</span>(<span class="sig-arg">max_positional_args</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.util-pysrc.html#positional">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-A decorator to declare that only the first N arguments my be positional.
-
-This decorator makes it easy to support Python 3 style key-word only
-parameters. For example, in Python 3 it is possible to write:
-
-  def fn(pos1, *, kwonly1=None, kwonly1=None):
-    ...
-
-All named parameters after * must be a keyword:
-
-  fn(10, 'kw1', 'kw2')  # Raises exception.
-  fn(10, kwonly1='kw1')  # Ok.
-
-Example:
-  To define a function like above, do:
-
-    @positional(1)
-    def fn(pos1, kwonly1=None, kwonly2=None):
-      ...
-
-  If no default value is provided to a keyword argument, it becomes a required
-  keyword argument:
-
-    @positional(0)
-    def fn(required_kw):
-      ...
-
-  This must be called with the keyword parameter:
-
-    fn()  # Raises exception.
-    fn(10)  # Raises exception.
-    fn(required_kw=10)  # Ok.
-
-  When defining instance or class methods always remember to account for
-  'self' and 'cls':
-
-    class MyClass(object):
-
-      @positional(2)
-      def my_method(self, pos1, kwonly1=None):
-        ...
-
-      @classmethod
-      @positional(2)
-      def my_method(cls, pos1, kwonly1=None):
-        ...
-
-The positional decorator behavior is controlled by
-util.positional_parameters_enforcement, which may be set to
-POSITIONAL_EXCEPTION, POSITIONAL_WARNING or POSITIONAL_IGNORE to raise an
-exception, log a warning, or do nothing, respectively, if a declaration is
-violated.
-
-Args:
-  max_positional_arguments: Maximum number of positional arguments. All
-    parameters after the this index must be keyword only.
-
-Returns:
-  A decorator that prevents using arguments after max_positional_args from
-  being used as positional parameters.
-
-Raises:
-  TypeError if a key-word only argument is provided as a positional
-  parameter, but only if util.positional_parameters_enforcement is set to
-  POSITIONAL_EXCEPTION.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="scopes_to_string"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">scopes_to_string</span>(<span class="sig-arg">scopes</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.util-pysrc.html#scopes_to_string">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Converts scope value to a string.
-
-If scopes is a string then it is simply passed through. If scopes is an
-iterable then a string is returned that is all the individual scopes
-concatenated with spaces.
-
-Args:
-  scopes: string or iterable of strings, the scopes.
-
-Returns:
-  The scopes formatted as a single string.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="dict_to_tuple_key"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">dict_to_tuple_key</span>(<span class="sig-arg">dictionary</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.util-pysrc.html#dict_to_tuple_key">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Converts a dictionary to a tuple that can be used as an immutable key.
-
-The resulting key is always sorted so that logically equivalent dictionaries
-always produce an identical tuple for a key.
-
-Args:
-  dictionary: the dictionary to use as the key.
-
-Returns:
-  A tuple representing the dictionary in it's naturally sorted ordering.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="_add_query_parameter"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">_add_query_parameter</span>(<span class="sig-arg">url</span>,
-        <span class="sig-arg">name</span>,
-        <span class="sig-arg">value</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.util-pysrc.html#_add_query_parameter">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Adds a query parameter to a url.
-
-Replaces the current value if it already exists in the URL.
-
-Args:
-  url: string, url to add the query parameter to.
-  name: string, query parameter name.
-  value: string, query parameter value.
-
-Returns:
-  Updated query parameter. Does not update the url if value is None.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-VariablesDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="POSITIONAL_SET"></a>
-<div class="private">
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <h3 class="epydoc">POSITIONAL_SET</h3>
-  
-  <dl class="fields">
-  </dl>
-  <dl class="fields">
-    <dt>Value:</dt>
-      <dd><table><tr><td><pre class="variable">
-frozenset([POSITIONAL_WARNING, POSITIONAL_EXCEPTION, POSITIONAL_IGNORE<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-])
-</pre></td></tr></table>
-</dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.util-pysrc.html b/docs/epy/oauth2client.util-pysrc.html
deleted file mode 100644
index 42bfe51..0000000
--- a/docs/epy/oauth2client.util-pysrc.html
+++ /dev/null
@@ -1,315 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.util</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;util
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.util-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="oauth2client.util-module.html">Module oauth2client.util</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Copyright 2010 Google Inc.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment">#     http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">"""Common utility library."""</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'rafek@google.com (Rafe Kaplan)'</tt><tt class="py-op">,</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">              <tt class="py-string">'guido@google.com (Guido van Rossum)'</tt><tt class="py-op">,</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-op">]</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-name">__all__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">  <tt class="py-string">'positional'</tt><tt class="py-op">,</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">  <tt class="py-string">'POSITIONAL_WARNING'</tt><tt class="py-op">,</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">  <tt class="py-string">'POSITIONAL_EXCEPTION'</tt><tt class="py-op">,</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">  <tt class="py-string">'POSITIONAL_IGNORE'</tt><tt class="py-op">,</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-op">]</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">inspect</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">types</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urlparse</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">urlparse</tt> <tt class="py-keyword">import</tt> <tt class="py-name">parse_qsl</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">cgi</tt> <tt class="py-keyword">import</tt> <tt class="py-name">parse_qsl</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable apiclient.discovery.logger=apiclient.discovery-module.html#logger,Variable oauth2client.appengine.logger=oauth2client.appengine-module.html#logger,Variable oauth2client.client.logger=oauth2client.client-module.html#logger,Variable oauth2client.crypt.logger=oauth2client.crypt-module.html#logger,Variable oauth2client.gce.logger=oauth2client.gce-module.html#logger,Variable oauth2client.locked_file.logger=oauth2client.locked_file-module.html#logger,Variable oauth2client.multistore_file.logger=oauth2client.multistore_file-module.html#logger,Variable oauth2client.util.logger=oauth2client.util-module.html#logger"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-0', 'logger', 'link-0');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-name">__name__</tt><tt class="py-op">)</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable oauth2client.util.POSITIONAL_WARNING=oauth2client.util-module.html#POSITIONAL_WARNING"><a title="oauth2client.util.POSITIONAL_WARNING" class="py-name" href="#" onclick="return doclink('link-1', 'POSITIONAL_WARNING', 'link-1');">POSITIONAL_WARNING</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'WARNING'</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable oauth2client.util.POSITIONAL_EXCEPTION=oauth2client.util-module.html#POSITIONAL_EXCEPTION"><a title="oauth2client.util.POSITIONAL_EXCEPTION" class="py-name" href="#" onclick="return doclink('link-2', 'POSITIONAL_EXCEPTION', 'link-2');">POSITIONAL_EXCEPTION</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'EXCEPTION'</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable oauth2client.util.POSITIONAL_IGNORE=oauth2client.util-module.html#POSITIONAL_IGNORE"><a title="oauth2client.util.POSITIONAL_IGNORE" class="py-name" href="#" onclick="return doclink('link-3', 'POSITIONAL_IGNORE', 'link-3');">POSITIONAL_IGNORE</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'IGNORE'</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable oauth2client.util.POSITIONAL_SET=oauth2client.util-module.html#POSITIONAL_SET"><a title="oauth2client.util.POSITIONAL_SET" class="py-name" href="#" onclick="return doclink('link-4', 'POSITIONAL_SET', 'link-4');">POSITIONAL_SET</a></tt> <tt class="py-op">=</tt> <tt class="py-name">frozenset</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt id="link-5" class="py-name"><a title="oauth2client.util.POSITIONAL_WARNING" class="py-name" href="#" onclick="return doclink('link-5', 'POSITIONAL_WARNING', 'link-1');">POSITIONAL_WARNING</a></tt><tt class="py-op">,</tt> <tt id="link-6" class="py-name"><a title="oauth2client.util.POSITIONAL_EXCEPTION" class="py-name" href="#" onclick="return doclink('link-6', 'POSITIONAL_EXCEPTION', 'link-2');">POSITIONAL_EXCEPTION</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">                            <tt id="link-7" class="py-name"><a title="oauth2client.util.POSITIONAL_IGNORE" class="py-name" href="#" onclick="return doclink('link-7', 'POSITIONAL_IGNORE', 'link-3');">POSITIONAL_IGNORE</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt id="link-8" class="py-name" targets="Variable oauth2client.util.positional_parameters_enforcement=oauth2client.util-module.html#positional_parameters_enforcement"><a title="oauth2client.util.positional_parameters_enforcement" class="py-name" href="#" onclick="return doclink('link-8', 'positional_parameters_enforcement', 'link-8');">positional_parameters_enforcement</a></tt> <tt class="py-op">=</tt> <tt id="link-9" class="py-name"><a title="oauth2client.util.POSITIONAL_WARNING" class="py-name" href="#" onclick="return doclink('link-9', 'POSITIONAL_WARNING', 'link-1');">POSITIONAL_WARNING</a></tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"> </tt>
-<a name="positional"></a><div id="positional-def"><a name="L51"></a><tt class="py-lineno"> 51</tt> <a class="py-toggle" href="#" id="positional-toggle" onclick="return toggle('positional');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.util-module.html#positional">positional</a><tt class="py-op">(</tt><tt class="py-param">max_positional_args</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="positional-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="positional-expanded"><a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">  <tt class="py-docstring">"""A decorator to declare that only the first N arguments my be positional.</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">  This decorator makes it easy to support Python 3 style key-word only</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">  parameters. For example, in Python 3 it is possible to write:</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">    def fn(pos1, *, kwonly1=None, kwonly1=None):</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring">      ...</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-docstring">  All named parameters after * must be a keyword:</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-docstring">    fn(10, 'kw1', 'kw2')  # Raises exception.</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-docstring">    fn(10, kwonly1='kw1')  # Ok.</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">  Example:</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring">    To define a function like above, do:</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-docstring">      @positional(1)</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring">      def fn(pos1, kwonly1=None, kwonly2=None):</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-docstring">        ...</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">    If no default value is provided to a keyword argument, it becomes a required</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring">    keyword argument:</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring">      @positional(0)</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">      def fn(required_kw):</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">        ...</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">    This must be called with the keyword parameter:</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">      fn()  # Raises exception.</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">      fn(10)  # Raises exception.</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">      fn(required_kw=10)  # Ok.</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">    When defining instance or class methods always remember to account for</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring">    'self' and 'cls':</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"><tt class="py-docstring">      class MyClass(object):</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring">        @positional(2)</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring">        def my_method(self, pos1, kwonly1=None):</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">          ...</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-docstring">        @classmethod</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-docstring">        @positional(2)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring">        def my_method(cls, pos1, kwonly1=None):</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-docstring">          ...</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt class="py-docstring">  The positional decorator behavior is controlled by</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"><tt class="py-docstring">  util.positional_parameters_enforcement, which may be set to</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"><tt class="py-docstring">  POSITIONAL_EXCEPTION, POSITIONAL_WARNING or POSITIONAL_IGNORE to raise an</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-docstring">  exception, log a warning, or do nothing, respectively, if a declaration is</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring">  violated.</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring">    max_positional_arguments: Maximum number of positional arguments. All</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">      parameters after the this index must be keyword only.</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-docstring">    A decorator that prevents using arguments after max_positional_args from</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-docstring">    being used as positional parameters.</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-docstring">  Raises:</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-docstring">    TypeError if a key-word only argument is provided as a positional</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring">    parameter, but only if util.positional_parameters_enforcement is set to</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">    POSITIONAL_EXCEPTION.</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">  <tt class="py-keyword">def</tt> <tt class="py-def-name">positional_decorator</tt><tt class="py-op">(</tt><tt class="py-param">wrapped</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">    <tt class="py-keyword">def</tt> <tt class="py-def-name">positional_wrapper</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">max_positional_args</tt><tt class="py-op">:</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-name">plural_s</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">max_positional_args</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">          <tt class="py-name">plural_s</tt> <tt class="py-op">=</tt> <tt class="py-string">'s'</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-name">message</tt> <tt class="py-op">=</tt> <tt class="py-string">'%s() takes at most %d positional argument%s (%d given)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt class="py-name">wrapped</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt><tt class="py-op">,</tt> <tt class="py-name">max_positional_args</tt><tt class="py-op">,</tt> <tt class="py-name">plural_s</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-10" class="py-name"><a title="oauth2client.util.positional_parameters_enforcement" class="py-name" href="#" onclick="return doclink('link-10', 'positional_parameters_enforcement', 'link-8');">positional_parameters_enforcement</a></tt> <tt class="py-op">==</tt> <tt id="link-11" class="py-name"><a title="oauth2client.util.POSITIONAL_EXCEPTION" class="py-name" href="#" onclick="return doclink('link-11', 'POSITIONAL_EXCEPTION', 'link-2');">POSITIONAL_EXCEPTION</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">)</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt id="link-12" class="py-name"><a title="oauth2client.util.positional_parameters_enforcement" class="py-name" href="#" onclick="return doclink('link-12', 'positional_parameters_enforcement', 'link-8');">positional_parameters_enforcement</a></tt> <tt class="py-op">==</tt> <tt id="link-13" class="py-name"><a title="oauth2client.util.POSITIONAL_WARNING" class="py-name" href="#" onclick="return doclink('link-13', 'POSITIONAL_WARNING', 'link-1');">POSITIONAL_WARNING</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">          <tt id="link-14" class="py-name"><a title="apiclient.discovery.logger
-oauth2client.appengine.logger
-oauth2client.client.logger
-oauth2client.crypt.logger
-oauth2client.gce.logger
-oauth2client.locked_file.logger
-oauth2client.multistore_file.logger
-oauth2client.util.logger" class="py-name" href="#" onclick="return doclink('link-14', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">)</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> <tt class="py-comment"># IGNORE</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">          <tt class="py-keyword">pass</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">wrapped</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">positional_wrapper</tt> </tt>
-</div><a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">max_positional_args</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">,</tt> <tt class="py-name">long</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">positional_decorator</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">    <tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-name">_</tt><tt class="py-op">,</tt> <tt class="py-name">_</tt><tt class="py-op">,</tt> <tt class="py-name">defaults</tt> <tt class="py-op">=</tt> <tt class="py-name">inspect</tt><tt class="py-op">.</tt><tt class="py-name">getargspec</tt><tt class="py-op">(</tt><tt class="py-name">max_positional_args</tt><tt class="py-op">)</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-15" class="py-name" targets="Function oauth2client.util.positional()=oauth2client.util-module.html#positional"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-15', 'positional', 'link-15');">positional</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">defaults</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">(</tt><tt class="py-name">max_positional_args</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"> </tt>
-<a name="scopes_to_string"></a><div id="scopes_to_string-def"><a name="L142"></a><tt class="py-lineno">142</tt> <a class="py-toggle" href="#" id="scopes_to_string-toggle" onclick="return toggle('scopes_to_string');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.util-module.html#scopes_to_string">scopes_to_string</a><tt class="py-op">(</tt><tt class="py-param">scopes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="scopes_to_string-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="scopes_to_string-expanded"><a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">  <tt class="py-docstring">"""Converts scope value to a string.</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-docstring">  If scopes is a string then it is simply passed through. If scopes is an</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-docstring">  iterable then a string is returned that is all the individual scopes</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-docstring">  concatenated with spaces.</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-docstring">    scopes: string or iterable of strings, the scopes.</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">    The scopes formatted as a single string.</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">scopes</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringTypes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">scopes</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">' '</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">scopes</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"> </tt>
-<a name="dict_to_tuple_key"></a><div id="dict_to_tuple_key-def"><a name="L161"></a><tt class="py-lineno">161</tt> <a class="py-toggle" href="#" id="dict_to_tuple_key-toggle" onclick="return toggle('dict_to_tuple_key');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.util-module.html#dict_to_tuple_key">dict_to_tuple_key</a><tt class="py-op">(</tt><tt class="py-param">dictionary</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="dict_to_tuple_key-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="dict_to_tuple_key-expanded"><a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">  <tt class="py-docstring">"""Converts a dictionary to a tuple that can be used as an immutable key.</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"><tt class="py-docstring">  The resulting key is always sorted so that logically equivalent dictionaries</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"><tt class="py-docstring">  always produce an identical tuple for a key.</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-docstring">    dictionary: the dictionary to use as the key.</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-docstring">    A tuple representing the dictionary in it's naturally sorted ordering.</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">dictionary</tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"> </tt>
-<a name="_add_query_parameter"></a><div id="_add_query_parameter-def"><a name="L176"></a><tt class="py-lineno">176</tt> <a class="py-toggle" href="#" id="_add_query_parameter-toggle" onclick="return toggle('_add_query_parameter');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.util-module.html#_add_query_parameter">_add_query_parameter</a><tt class="py-op">(</tt><tt class="py-param">url</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_add_query_parameter-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_add_query_parameter-expanded"><a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">  <tt class="py-docstring">"""Adds a query parameter to a url.</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"><tt class="py-docstring">  Replaces the current value if it already exists in the URL.</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"><tt class="py-docstring">    url: string, url to add the query parameter to.</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"><tt class="py-docstring">    name: string, query parameter name.</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"><tt class="py-docstring">    value: string, query parameter value.</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-docstring">    Updated query parameter. Does not update the url if value is None.</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">url</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">    <tt class="py-name">parsed</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlparse</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">    <tt class="py-name">q</tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">parse_qsl</tt><tt class="py-op">(</tt><tt class="py-name">parsed</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">    <tt class="py-name">q</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">    <tt class="py-name">parsed</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-name">q</tt><tt class="py-op">)</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlunparse</tt><tt class="py-op">(</tt><tt class="py-name">parsed</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.xsrfutil-module.html b/docs/epy/oauth2client.xsrfutil-module.html
deleted file mode 100644
index 4ff22d7..0000000
--- a/docs/epy/oauth2client.xsrfutil-module.html
+++ /dev/null
@@ -1,304 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.xsrfutil</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;xsrfutil
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.xsrfutil-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module xsrfutil</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.xsrfutil-pysrc.html">source&nbsp;code</a></span></p>
-<pre class="literalblock">
-Helper methods for creating &amp; verifying XSRF tokens.
-
-</pre>
-
-<hr />
-<div class="fields">      <dl><dt>Authors:</dt>
-        <dd>
-          &quot;Doug Coker&quot; &lt;dcoker@google.com&gt;,
-          &quot;Joe Gregorio&quot; &lt;jcgregorio@google.com&gt;
-        </dd>
-      </dl>
-</div><!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.xsrfutil-module.html#generate_token" class="summary-sig-name">generate_token</a>(<span class="summary-sig-arg">key</span>,
-        <span class="summary-sig-arg">user_id</span>,
-        <span class="summary-sig-arg">action_id</span>=<span class="summary-sig-default">&quot;&quot;</span>,
-        <span class="summary-sig-arg">when</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Generates a URL-safe token for the given user, action, time tuple.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.xsrfutil-pysrc.html#generate_token">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="oauth2client.xsrfutil-module.html#validate_token" class="summary-sig-name">validate_token</a>(<span class="summary-sig-arg">key</span>,
-        <span class="summary-sig-arg">token</span>,
-        <span class="summary-sig-arg">user_id</span>,
-        <span class="summary-sig-arg">action_id</span>=<span class="summary-sig-default">&quot;&quot;</span>,
-        <span class="summary-sig-arg">current_time</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Validates that the given token authorizes the user for the action.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="oauth2client.xsrfutil-pysrc.html#validate_token">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="DELIMITER"></a><span class="summary-name">DELIMITER</span> = <code title="':'">':'</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a name="DEFAULT_TIMEOUT_SECS"></a><span class="summary-name">DEFAULT_TIMEOUT_SECS</span> = <code title="1* 60* 60">1* 60* 60</code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="generate_token"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">generate_token</span>(<span class="sig-arg">key</span>,
-        <span class="sig-arg">user_id</span>,
-        <span class="sig-arg">action_id</span>=<span class="sig-default">&quot;&quot;</span>,
-        <span class="sig-arg">when</span>=<span class="sig-default">None</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.xsrfutil-pysrc.html#generate_token">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Generates a URL-safe token for the given user, action, time tuple.
-
-Args:
-  key: secret key to use.
-  user_id: the user ID of the authenticated user.
-  action_id: a string identifier of the action they requested
-    authorization for.
-  when: the time in seconds since the epoch at which the user was
-    authorized for this action. If not set the current time is used.
-
-Returns:
-  A string XSRF protection token.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(2)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<a name="validate_token"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">validate_token</span>(<span class="sig-arg">key</span>,
-        <span class="sig-arg">token</span>,
-        <span class="sig-arg">user_id</span>,
-        <span class="sig-arg">action_id</span>=<span class="sig-default">&quot;&quot;</span>,
-        <span class="sig-arg">current_time</span>=<span class="sig-default">None</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="oauth2client.xsrfutil-pysrc.html#validate_token">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Validates that the given token authorizes the user for the action.
-
-Tokens are invalid if the time of issue is too old or if the token
-does not match what generateToken outputs (i.e. the token was forged).
-
-Args:
-  key: secret key to use.
-  token: a string of the token generated by generateToken.
-  user_id: the user ID of the authenticated user.
-  action_id: a string identifier of the action they requested
-    authorization for.
-
-Returns:
-  A boolean - True if the user is authorized for the action, False
-  otherwise.
-
-</pre>
-  <dl class="fields">
-    <dt>Decorators:</dt>
-    <dd><ul class="nomargin-top">
-        <li><code>@util.positional(3)</code></li>
-    </ul></dd>
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:42 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/oauth2client.xsrfutil-pysrc.html b/docs/epy/oauth2client.xsrfutil-pysrc.html
deleted file mode 100644
index e6e1c1c..0000000
--- a/docs/epy/oauth2client.xsrfutil-pysrc.html
+++ /dev/null
@@ -1,218 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client.xsrfutil</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
-        Module&nbsp;xsrfutil
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="oauth2client.xsrfutil-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="oauth2client.xsrfutil-module.html">Module oauth2client.xsrfutil</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/python2.5</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Copyright 2010 the Melange authors.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment">#   http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">"""Helper methods for creating &amp; verifying XSRF tokens."""</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-name">__authors__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">  <tt class="py-string">'"Doug Coker" &lt;dcoker@google.com&gt;'</tt><tt class="py-op">,</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">  <tt class="py-string">'"Joe Gregorio" &lt;jcgregorio@google.com&gt;'</tt><tt class="py-op">,</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-op">]</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">base64</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">hmac</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt>  <tt class="py-comment"># for urandom</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package oauth2client=oauth2client-module.html"><a title="oauth2client" class="py-name" href="#" onclick="return doclink('link-0', 'oauth2client', 'link-0');">oauth2client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module oauth2client.util=oauth2client.util-module.html"><a title="oauth2client.util" class="py-name" href="#" onclick="return doclink('link-1', 'util', 'link-1');">util</a></tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-comment"># Delimiter character</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable oauth2client.xsrfutil.DELIMITER=oauth2client.xsrfutil-module.html#DELIMITER"><a title="oauth2client.xsrfutil.DELIMITER" class="py-name" href="#" onclick="return doclink('link-2', 'DELIMITER', 'link-2');">DELIMITER</a></tt> <tt class="py-op">=</tt> <tt class="py-string">':'</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-comment"># 1 hour in seconds</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable oauth2client.xsrfutil.DEFAULT_TIMEOUT_SECS=oauth2client.xsrfutil-module.html#DEFAULT_TIMEOUT_SECS"><a title="oauth2client.xsrfutil.DEFAULT_TIMEOUT_SECS" class="py-name" href="#" onclick="return doclink('link-3', 'DEFAULT_TIMEOUT_SECS', 'link-3');">DEFAULT_TIMEOUT_SECS</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt><tt class="py-op">*</tt><tt class="py-number">60</tt><tt class="py-op">*</tt><tt class="py-number">60</tt> </tt>
-<a name="generate_token"></a><div id="generate_token-def"><a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Function oauth2client.util.positional()=oauth2client.util-module.html#positional"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-4', 'positional', 'link-4');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <a class="py-toggle" href="#" id="generate_token-toggle" onclick="return toggle('generate_token');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.xsrfutil-module.html#generate_token">generate_token</a><tt class="py-op">(</tt><tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">user_id</tt><tt class="py-op">,</tt> <tt class="py-param">action_id</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-param">when</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="generate_token-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_token-expanded"><a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">  <tt class="py-docstring">"""Generates a URL-safe token for the given user, action, time tuple.</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-docstring">    key: secret key to use.</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">    user_id: the user ID of the authenticated user.</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">    action_id: a string identifier of the action they requested</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring">      authorization for.</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring">    when: the time in seconds since the epoch at which the user was</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-docstring">      authorized for this action. If not set the current time is used.</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring">    A string XSRF protection token.</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">  <tt class="py-name">when</tt> <tt class="py-op">=</tt> <tt class="py-name">when</tt> <tt class="py-keyword">or</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">  <tt class="py-name">digester</tt> <tt class="py-op">=</tt> <tt class="py-name">hmac</tt><tt class="py-op">.</tt><tt class="py-name">new</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">  <tt class="py-name">digester</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method apiclient.channel.Channel.update()=apiclient.channel.Channel-class.html#update"><a title="apiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-5', 'update', 'link-5');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">user_id</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">  <tt class="py-name">digester</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="apiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-6', 'update', 'link-5');">update</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="oauth2client.xsrfutil.DELIMITER" class="py-name" href="#" onclick="return doclink('link-7', 'DELIMITER', 'link-2');">DELIMITER</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">  <tt class="py-name">digester</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="apiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-8', 'update', 'link-5');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">action_id</tt><tt class="py-op">)</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">  <tt class="py-name">digester</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="apiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-9', 'update', 'link-5');">update</a></tt><tt class="py-op">(</tt><tt id="link-10" class="py-name"><a title="oauth2client.xsrfutil.DELIMITER" class="py-name" href="#" onclick="return doclink('link-10', 'DELIMITER', 'link-2');">DELIMITER</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">  <tt class="py-name">digester</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="apiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-11', 'update', 'link-5');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">when</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">  <tt class="py-name">digest</tt> <tt class="py-op">=</tt> <tt class="py-name">digester</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">  <tt class="py-name">token</tt> <tt class="py-op">=</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">urlsafe_b64encode</tt><tt class="py-op">(</tt><tt class="py-string">'%s%s%d'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">digest</tt><tt class="py-op">,</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">                                               <tt id="link-12" class="py-name"><a title="oauth2client.xsrfutil.DELIMITER" class="py-name" href="#" onclick="return doclink('link-12', 'DELIMITER', 'link-2');">DELIMITER</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">                                               <tt class="py-name">when</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">token</tt> </tt>
-</div><a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"> </tt>
-<a name="validate_token"></a><div id="validate_token-def"><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="oauth2client.util.positional" class="py-name" href="#" onclick="return doclink('link-13', 'positional', 'link-4');">positional</a></tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <a class="py-toggle" href="#" id="validate_token-toggle" onclick="return toggle('validate_token');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="oauth2client.xsrfutil-module.html#validate_token">validate_token</a><tt class="py-op">(</tt><tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">token</tt><tt class="py-op">,</tt> <tt class="py-param">user_id</tt><tt class="py-op">,</tt> <tt class="py-param">action_id</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-param">current_time</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="validate_token-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="validate_token-expanded"><a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">  <tt class="py-docstring">"""Validates that the given token authorizes the user for the action.</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring">  Tokens are invalid if the time of issue is too old or if the token</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">  does not match what generateToken outputs (i.e. the token was forged).</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">    key: secret key to use.</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring">    token: a string of the token generated by generateToken.</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">    user_id: the user ID of the authenticated user.</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">    action_id: a string identifier of the action they requested</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">      authorization for.</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">    A boolean - True if the user is authorized for the action, False</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">    otherwise.</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">token</tt><tt class="py-op">:</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">  <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">    <tt class="py-name">decoded</tt> <tt class="py-op">=</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">urlsafe_b64decode</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">token</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">    <tt class="py-name">token_time</tt> <tt class="py-op">=</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">decoded</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt id="link-14" class="py-name"><a title="oauth2client.xsrfutil.DELIMITER" class="py-name" href="#" onclick="return doclink('link-14', 'DELIMITER', 'link-2');">DELIMITER</a></tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">  <tt class="py-keyword">except</tt> <tt class="py-op">(</tt><tt class="py-name">TypeError</tt><tt class="py-op">,</tt> <tt class="py-name">ValueError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">current_time</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">    <tt class="py-name">current_time</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">  <tt class="py-comment"># If the token is too old it's not valid.</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">current_time</tt> <tt class="py-op">-</tt> <tt class="py-name">token_time</tt> <tt class="py-op">&gt;</tt> <tt id="link-15" class="py-name"><a title="oauth2client.xsrfutil.DEFAULT_TIMEOUT_SECS" class="py-name" href="#" onclick="return doclink('link-15', 'DEFAULT_TIMEOUT_SECS', 'link-3');">DEFAULT_TIMEOUT_SECS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">  <tt class="py-comment"># The given token should match the generated one with the same time.</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">  <tt class="py-name">expected_token</tt> <tt class="py-op">=</tt> <tt id="link-16" class="py-name" targets="Function oauth2client.xsrfutil.generate_token()=oauth2client.xsrfutil-module.html#generate_token"><a title="oauth2client.xsrfutil.generate_token" class="py-name" href="#" onclick="return doclink('link-16', 'generate_token', 'link-16');">generate_token</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">user_id</tt><tt class="py-op">,</tt> <tt class="py-name">action_id</tt><tt class="py-op">=</tt><tt class="py-name">action_id</tt><tt class="py-op">,</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">                                  <tt class="py-name">when</tt><tt class="py-op">=</tt><tt class="py-name">token_time</tt><tt class="py-op">)</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">token</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">expected_token</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">  <tt class="py-comment"># Perform constant time comparison to avoid timing attacks</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">  <tt class="py-name">different</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt> <tt class="py-keyword">in</tt> <tt class="py-name">zip</tt><tt class="py-op">(</tt><tt class="py-name">token</tt><tt class="py-op">,</tt> <tt class="py-name">expected_token</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">    <tt class="py-name">different</tt> <tt class="py-op">|=</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-op">^</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">y</tt><tt class="py-op">)</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">different</tt><tt class="py-op">:</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-</div><a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:47 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/redirect.html b/docs/epy/redirect.html
deleted file mode 100644
index 41633fb..0000000
--- a/docs/epy/redirect.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<html><head><title>Epydoc Redirect Page</title>
-<meta http-equiv="cache-control" content="no-cache" />
-<meta http-equiv="expires" content="0" />
-<meta http-equiv="pragma" content="no-cache" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-<body>
-<script type="text/javascript">
-<!--
-var pages = ["oauth2client.locked_file.CredentialsFileSymbolicLinkError-c", "oauth2client.appengine.OAuth2DecoratorFromClientSecrets-c", "oauth2client.multistore_file.NewerCredentialStoreError-c", "oauth2client.clientsecrets.InvalidClientSecretsError-c", "oauth2client.file.CredentialsFileSymbolicLinkError-c", "oauth2client.client.SignedJwtAssertionCredentials-c", "oauth2client.client.UnknownClientSecretsFlowError-c", "oauth2client.multistore_file._MultiStore._Storage-c", "oauth2client.appengine.InvalidClientSecretsError-c", "oauth2client.client.AccessTokenCredentialsError-c", "oauth2client.locked_file.AlreadyLockedException-c", "oauth2client.appengine.AppAssertionCredentials-c", "oauth2client.appengine.CredentialsNDBProperty-c", "apiclient.discovery.ResourceMethodParameters-c", "oauth2client.appengine.InvalidXsrfTokenError-c", "oauth2client.appengine.SiteXsrfSecretKeyNDB-c", "oauth2client.client.AccessTokenRefreshError-c", "apiclient.errors.UnacceptableMimeTypeError-c", "oauth2client.appengine.CredentialsNDBModel-c", "oauth2client.appengine.CredentialsProperty-c", "oauth2client.client.AccessTokenCredentials-c", "apiclient.errors.InvalidNotificationError-c", "apiclient.errors.UnknownApiNameOrVersion-c", "oauth2client.appengine.SiteXsrfSecretKey-c", "oauth2client.client.AssertionCredentials-c", "oauth2client.django_orm.CredentialsField-c", "oauth2client.gce.AppAssertionCredentials-c", "oauth2client.multistore_file._MultiStore-c", "oauth2client.tools.ClientRedirectHandler-c", "google.appengine.ext.db.PropertiedClass-c", "oauth2client.appengine.CredentialsModel-c", "oauth2client.appengine.StorageByKeyName-c", "oauth2client.client.NonAsciiHeaderError-c", "oauth2client.client.OAuth2WebServerFlow-c", "oauth2client.client.VerifyJwtTokenError-c", "oauth2client.tools.ClientRedirectServer-c", "apiclient.errors.InvalidChunkSizeError-c", "apiclient.errors.UnexpectedMethodError-c", "oauth2client.appengine.FlowNDBProperty-c", "oauth2client.appengine.OAuth2Decorator-c", "apiclient.errors.MediaUploadSizeError-c", "apiclient.errors.ResumableUploadError-c", "oauth2client.client.FlowExchangeError-c", "oauth2client.client.OAuth2Credentials-c", "oauth2client.locked_file._PosixOpener-c", "apiclient.errors.UnexpectedBodyError-c", "apiclient.http.MediaDownloadProgress-c", "oauth2client.client.TokenRevokeError-c", "oauth2client.keyring_storage.Storage-c", "apiclient.model.ProtocolBufferModel-c", "oauth2client.appengine.FlowProperty-c", "oauth2client.crypt.AppIdentityError-c", "oauth2client.locked_file.LockedFile-c", "apiclient.http.MediaInMemoryUpload-c", "apiclient.http.MediaIoBaseDownload-c", "apiclient.http.MediaUploadProgress-c", "oauth2client.multistore_file.Error-c", "apiclient.errors.InvalidJsonError-c", "apiclient.http.RequestMockBuilder-c", "oauth2client.django_orm.FlowField-c", "apiclient.errors.UnknownFileType-c", "apiclient.errors.UnknownLinkType-c", "apiclient.http.MediaIoBaseUpload-c", "apiclient.schema._SchemaToStruct-c", "oauth2client.clientsecrets.Error-c", "oauth2client.locked_file._Opener-c", "apiclient.http.BatchHttpRequest-c", "apiclient.http.HttpMockSequence-c", "oauth2client.client.Credentials-c", "oauth2client.client.MemoryCache-c", "oauth2client.django_orm.Storage-c", "apiclient.channel.Notification-c", "apiclient.http.HttpRequestMock-c", "apiclient.http.MediaFileUpload-c", "oauth2client.keyring_storage-m", "oauth2client.multistore_file-m", "apiclient.discovery.Resource-c", "apiclient.errors.BatchError-c", "apiclient.http._StreamSlice-c", "oauth2client.client.Storage-c", "oauth2client.clientsecrets-m", "apiclient.errors.HttpError-c", "apiclient.http.HttpRequest-c", "apiclient.http.MediaUpload-c", "apiclient.model.MediaModel-c", "apiclient.channel.Channel-c", "apiclient.model.BaseModel-c", "apiclient.model.JsonModel-c", "oauth2client.client.Error-c", "oauth2client.file.Storage-c", "oauth2client.locked_file-m", "apiclient.model.RawModel-c", "apiclient.schema.Schemas-c", "oauth2client.client.Flow-c", "oauth2client.django_orm-m", "apiclient.http.HttpMock-c", "apiclient.sample_tools-m", "oauth2client.appengine-m", "apiclient.errors.Error-c", "oauth2client.xsrfutil-m", "apiclient.model.Model-c", "oauth2client.anyjson-m", "oauth2client.old_run-m", "apiclient.discovery-m", "apiclient.mimeparse-m", "oauth2client.client-m", "oauth2client.crypt-m", "oauth2client.tools-m", "apiclient.channel-m", "oauth2client.file-m", "oauth2client.util-m", "apiclient.errors-m", "apiclient.schema-m", "oauth2client.gce-m", "apiclient.model-m", "apiclient.http-m", "oauth2client-m", "apiclient-m"];
-var dottedName = get_anchor();
-if (dottedName) {
-    var target = redirect_url(dottedName);
-    if (target) window.location.replace(target);
-}
-// -->
-</script>
-
-<h3>Epydoc Auto-redirect page</h3>
-
-<p>When javascript is enabled, this page will redirect URLs of
-the form <tt>redirect.html#<i>dotted.name</i></tt> to the
-documentation for the object with the given fully-qualified
-dotted name.</p>
-<p><a id="message"> &nbsp; </a></p>
-
-<script type="text/javascript">
-<!--
-if (dottedName) {
-    var msg = document.getElementById("message");
-    msg.innerHTML = "No documentation found for <tt>"+
-                    dottedName+"</tt>";
-}
-// -->
-</script>
-
-</body>
-</html>
diff --git a/docs/epy/toc-apiclient-module.html b/docs/epy/toc-apiclient-module.html
deleted file mode 100644
index 9818af4..0000000
--- a/docs/epy/toc-apiclient-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>apiclient</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module apiclient</h1>
-<hr />
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-apiclient.channel-module.html b/docs/epy/toc-apiclient.channel-module.html
deleted file mode 100644
index 8f1d52a..0000000
--- a/docs/epy/toc-apiclient.channel-module.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>channel</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module channel</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="apiclient.channel.Channel-class.html"
-     >Channel</a><br />    <a target="mainFrame" href="apiclient.channel.Notification-class.html"
-     >Notification</a><br />  <h2 class="toc">Functions</h2>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.channel-module.html#_upper_header_keys"
-     >_upper_header_keys</a><br />  </div>
-    <a target="mainFrame" href="apiclient.channel-module.html#new_webhook_channel"
-     >new_webhook_channel</a><br />    <a target="mainFrame" href="apiclient.channel-module.html#notification_from_headers"
-     >notification_from_headers</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="apiclient.channel-module.html#CHANNEL_PARAMS"
-     >CHANNEL_PARAMS</a><br />    <a target="mainFrame" href="apiclient.channel-module.html#EPOCH"
-     >EPOCH</a><br />    <a target="mainFrame" href="apiclient.channel-module.html#X_GOOG_CHANNEL_ID"
-     >X_GOOG_CHANNEL_ID</a><br />    <a target="mainFrame" href="apiclient.channel-module.html#X_GOOG_MESSAGE_NUMBER"
-     >X_GOOG_MESSAGE_NUMBER</a><br />    <a target="mainFrame" href="apiclient.channel-module.html#X_GOOG_RESOURCE_ID"
-     >X_GOOG_RESOURCE_ID</a><br />    <a target="mainFrame" href="apiclient.channel-module.html#X_GOOG_RESOURCE_STATE"
-     >X_GOOG_RESOURCE_STATE</a><br />    <a target="mainFrame" href="apiclient.channel-module.html#X_GOOG_RESOURCE_URI"
-     >X_GOOG_RESOURCE_URI</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-apiclient.discovery-module.html b/docs/epy/toc-apiclient.discovery-module.html
deleted file mode 100644
index f2b2b9e..0000000
--- a/docs/epy/toc-apiclient.discovery-module.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>discovery</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module discovery</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery.Resource-class.html"
-     >Resource</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery.ResourceMethodParameters-class.html"
-     >ResourceMethodParameters</a><br />  </div>
-  <h2 class="toc">Functions</h2>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#_cast"
-     >_cast</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#_fix_up_media_upload"
-     >_fix_up_media_upload</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#_fix_up_method_description"
-     >_fix_up_method_description</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#_fix_up_parameters"
-     >_fix_up_parameters</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#_media_path_url_from_info"
-     >_media_path_url_from_info</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#_media_size_to_long"
-     >_media_size_to_long</a><br />  </div>
-    <a target="mainFrame" href="apiclient.discovery-module.html#build"
-     >build</a><br />    <a target="mainFrame" href="apiclient.discovery-module.html#build_from_document"
-     >build_from_document</a><br />  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#createMethod"
-     >createMethod</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#createNextMethod"
-     >createNextMethod</a><br />  </div>
-    <a target="mainFrame" href="apiclient.discovery-module.html#fix_method_name"
-     >fix_method_name</a><br />    <a target="mainFrame" href="apiclient.discovery-module.html#key2param"
-     >key2param</a><br />  <h2 class="toc">Variables</h2>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#BODY_PARAMETER_DEFAULT_VALUE"
-     >BODY_PARAMETER_DEFAULT_VALUE</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#DEFAULT_METHOD_DOC"
-     >DEFAULT_METHOD_DOC</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#DISCOVERY_URI"
-     >DISCOVERY_URI</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#HTTP_PAYLOAD_METHODS"
-     >HTTP_PAYLOAD_METHODS</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#MEDIA_BODY_PARAMETER_DEFAULT_VALUE"
-     >MEDIA_BODY_PARAMETER_DEFAULT_VALUE</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#RESERVED_WORDS"
-     >RESERVED_WORDS</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#STACK_QUERY_PARAMETERS"
-     >STACK_QUERY_PARAMETERS</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#STACK_QUERY_PARAMETER_DEFAULT_VALUE"
-     >STACK_QUERY_PARAMETER_DEFAULT_VALUE</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#URITEMPLATE"
-     >URITEMPLATE</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#VARNAME"
-     >VARNAME</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#_MEDIA_SIZE_BIT_SHIFTS"
-     >_MEDIA_SIZE_BIT_SHIFTS</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#logger"
-     >logger</a><br />  </div>
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-apiclient.errors-module.html b/docs/epy/toc-apiclient.errors-module.html
deleted file mode 100644
index da65ac8..0000000
--- a/docs/epy/toc-apiclient.errors-module.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>errors</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module errors</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="apiclient.errors.BatchError-class.html"
-     >BatchError</a><br />    <a target="mainFrame" href="apiclient.errors.Error-class.html"
-     >Error</a><br />    <a target="mainFrame" href="apiclient.errors.HttpError-class.html"
-     >HttpError</a><br />    <a target="mainFrame" href="apiclient.errors.InvalidChunkSizeError-class.html"
-     >InvalidChunkSizeError</a><br />    <a target="mainFrame" href="apiclient.errors.InvalidJsonError-class.html"
-     >InvalidJsonError</a><br />    <a target="mainFrame" href="apiclient.errors.InvalidNotificationError-class.html"
-     >InvalidNotificationError</a><br />    <a target="mainFrame" href="apiclient.errors.MediaUploadSizeError-class.html"
-     >MediaUploadSizeError</a><br />    <a target="mainFrame" href="apiclient.errors.ResumableUploadError-class.html"
-     >ResumableUploadError</a><br />    <a target="mainFrame" href="apiclient.errors.UnacceptableMimeTypeError-class.html"
-     >UnacceptableMimeTypeError</a><br />    <a target="mainFrame" href="apiclient.errors.UnexpectedBodyError-class.html"
-     >UnexpectedBodyError</a><br />    <a target="mainFrame" href="apiclient.errors.UnexpectedMethodError-class.html"
-     >UnexpectedMethodError</a><br />    <a target="mainFrame" href="apiclient.errors.UnknownApiNameOrVersion-class.html"
-     >UnknownApiNameOrVersion</a><br />    <a target="mainFrame" href="apiclient.errors.UnknownFileType-class.html"
-     >UnknownFileType</a><br />    <a target="mainFrame" href="apiclient.errors.UnknownLinkType-class.html"
-     >UnknownLinkType</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-apiclient.ext-module.html b/docs/epy/toc-apiclient.ext-module.html
deleted file mode 100644
index dfe92d0..0000000
--- a/docs/epy/toc-apiclient.ext-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>ext</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module ext</h1>
-<hr />
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-apiclient.http-module.html b/docs/epy/toc-apiclient.http-module.html
deleted file mode 100644
index 0ab4e14..0000000
--- a/docs/epy/toc-apiclient.http-module.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>http</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module http</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="apiclient.http.BatchHttpRequest-class.html"
-     >BatchHttpRequest</a><br />    <a target="mainFrame" href="apiclient.http.HttpMock-class.html"
-     >HttpMock</a><br />    <a target="mainFrame" href="apiclient.http.HttpMockSequence-class.html"
-     >HttpMockSequence</a><br />    <a target="mainFrame" href="apiclient.http.HttpRequest-class.html"
-     >HttpRequest</a><br />    <a target="mainFrame" href="apiclient.http.HttpRequestMock-class.html"
-     >HttpRequestMock</a><br />    <a target="mainFrame" href="apiclient.http.MediaDownloadProgress-class.html"
-     >MediaDownloadProgress</a><br />    <a target="mainFrame" href="apiclient.http.MediaFileUpload-class.html"
-     >MediaFileUpload</a><br />    <a target="mainFrame" href="apiclient.http.MediaInMemoryUpload-class.html"
-     >MediaInMemoryUpload</a><br />    <a target="mainFrame" href="apiclient.http.MediaIoBaseDownload-class.html"
-     >MediaIoBaseDownload</a><br />    <a target="mainFrame" href="apiclient.http.MediaIoBaseUpload-class.html"
-     >MediaIoBaseUpload</a><br />    <a target="mainFrame" href="apiclient.http.MediaUpload-class.html"
-     >MediaUpload</a><br />    <a target="mainFrame" href="apiclient.http.MediaUploadProgress-class.html"
-     >MediaUploadProgress</a><br />    <a target="mainFrame" href="apiclient.http.RequestMockBuilder-class.html"
-     >RequestMockBuilder</a><br />  <div class="private">
-    <a target="mainFrame" href="apiclient.http._StreamSlice-class.html"
-     >_StreamSlice</a><br />  </div>
-  <h2 class="toc">Functions</h2>
-    <a target="mainFrame" href="apiclient.http-module.html#set_user_agent"
-     >set_user_agent</a><br />    <a target="mainFrame" href="apiclient.http-module.html#tunnel_patch"
-     >tunnel_patch</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="apiclient.http-module.html#DEFAULT_CHUNK_SIZE"
-     >DEFAULT_CHUNK_SIZE</a><br />    <a target="mainFrame" href="apiclient.http-module.html#MAX_URI_LENGTH"
-     >MAX_URI_LENGTH</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-apiclient.mimeparse-module.html b/docs/epy/toc-apiclient.mimeparse-module.html
deleted file mode 100644
index ee4c6cc..0000000
--- a/docs/epy/toc-apiclient.mimeparse-module.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>mimeparse</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module mimeparse</h1>
-<hr />
-  <h2 class="toc">Functions</h2>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.mimeparse-module.html#_filter_blank"
-     >_filter_blank</a><br />  </div>
-    <a target="mainFrame" href="apiclient.mimeparse-module.html#best_match"
-     >best_match</a><br />    <a target="mainFrame" href="apiclient.mimeparse-module.html#fitness_and_quality_parsed"
-     >fitness_and_quality_parsed</a><br />    <a target="mainFrame" href="apiclient.mimeparse-module.html#parse_media_range"
-     >parse_media_range</a><br />    <a target="mainFrame" href="apiclient.mimeparse-module.html#parse_mime_type"
-     >parse_mime_type</a><br />    <a target="mainFrame" href="apiclient.mimeparse-module.html#quality"
-     >quality</a><br />    <a target="mainFrame" href="apiclient.mimeparse-module.html#quality_parsed"
-     >quality_parsed</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="apiclient.mimeparse-module.html#__credits__"
-     >__credits__</a><br />    <a target="mainFrame" href="apiclient.mimeparse-module.html#__email__"
-     >__email__</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-apiclient.model-module.html b/docs/epy/toc-apiclient.model-module.html
deleted file mode 100644
index b75d91c..0000000
--- a/docs/epy/toc-apiclient.model-module.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>model</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module model</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="apiclient.model.BaseModel-class.html"
-     >BaseModel</a><br />    <a target="mainFrame" href="apiclient.model.JsonModel-class.html"
-     >JsonModel</a><br />    <a target="mainFrame" href="apiclient.model.MediaModel-class.html"
-     >MediaModel</a><br />    <a target="mainFrame" href="apiclient.model.Model-class.html"
-     >Model</a><br />    <a target="mainFrame" href="apiclient.model.ProtocolBufferModel-class.html"
-     >ProtocolBufferModel</a><br />    <a target="mainFrame" href="apiclient.model.RawModel-class.html"
-     >RawModel</a><br />  <h2 class="toc">Functions</h2>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.model-module.html#_abstract"
-     >_abstract</a><br />  </div>
-    <a target="mainFrame" href="apiclient.model-module.html#makepatch"
-     >makepatch</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="apiclient.model-module.html#dump_request_response"
-     >dump_request_response</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-apiclient.push-module.html b/docs/epy/toc-apiclient.push-module.html
deleted file mode 100644
index 62aee50..0000000
--- a/docs/epy/toc-apiclient.push-module.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>push</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module push</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="apiclient.push.Channel-class.html"
-     >Channel</a><br />    <a target="mainFrame" href="apiclient.push.Headers-class.html"
-     >Headers</a><br />    <a target="mainFrame" href="apiclient.push.InvalidSubscriptionRequestError-class.html"
-     >InvalidSubscriptionRequestError</a><br />    <a target="mainFrame" href="apiclient.push.Subscription-class.html"
-     >Subscription</a><br />    <a target="mainFrame" href="apiclient.push.WebhookChannel-class.html"
-     >WebhookChannel</a><br />  <h2 class="toc">Functions</h2>
-    <a target="mainFrame" href="apiclient.push-module.html#new_token"
-     >new_token</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="apiclient.push-module.html#CLIENT_TOKEN"
-     >CLIENT_TOKEN</a><br />    <a target="mainFrame" href="apiclient.push-module.html#EVENT_TYPE"
-     >EVENT_TYPE</a><br />    <a target="mainFrame" href="apiclient.push-module.html#SUBSCRIBE"
-     >SUBSCRIBE</a><br />    <a target="mainFrame" href="apiclient.push-module.html#SUBSCRIPTION_ID"
-     >SUBSCRIPTION_ID</a><br />    <a target="mainFrame" href="apiclient.push-module.html#TOPIC_ID"
-     >TOPIC_ID</a><br />    <a target="mainFrame" href="apiclient.push-module.html#TOPIC_URI"
-     >TOPIC_URI</a><br />    <a target="mainFrame" href="apiclient.push-module.html#UNSUBSCRIBE"
-     >UNSUBSCRIBE</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-apiclient.sample_tools-module.html b/docs/epy/toc-apiclient.sample_tools-module.html
deleted file mode 100644
index 1736071..0000000
--- a/docs/epy/toc-apiclient.sample_tools-module.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>sample_tools</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module sample_tools</h1>
-<hr />
-  <h2 class="toc">Functions</h2>
-    <a target="mainFrame" href="apiclient.sample_tools-module.html#init"
-     >init</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-apiclient.schema-module.html b/docs/epy/toc-apiclient.schema-module.html
deleted file mode 100644
index 60ee3e5..0000000
--- a/docs/epy/toc-apiclient.schema-module.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>schema</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module schema</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="apiclient.schema.Schemas-class.html"
-     >Schemas</a><br />  <div class="private">
-    <a target="mainFrame" href="apiclient.schema._SchemaToStruct-class.html"
-     >_SchemaToStruct</a><br />  </div>
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-everything.html b/docs/epy/toc-everything.html
deleted file mode 100644
index f96e2da..0000000
--- a/docs/epy/toc-everything.html
+++ /dev/null
@@ -1,385 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>Everything</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Everything</h1>
-<hr />
-  <h2 class="toc">All Classes</h2>
-    <a target="mainFrame" href="apiclient.channel.Channel-class.html"
-     >apiclient.channel.Channel</a><br />    <a target="mainFrame" href="apiclient.channel.Notification-class.html"
-     >apiclient.channel.Notification</a><br />  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery.Resource-class.html"
-     >apiclient.discovery.Resource</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery.ResourceMethodParameters-class.html"
-     >apiclient.discovery.ResourceMethodParameters</a><br />  </div>
-    <a target="mainFrame" href="apiclient.errors.BatchError-class.html"
-     >apiclient.errors.BatchError</a><br />    <a target="mainFrame" href="apiclient.errors.Error-class.html"
-     >apiclient.errors.Error</a><br />    <a target="mainFrame" href="apiclient.errors.HttpError-class.html"
-     >apiclient.errors.HttpError</a><br />    <a target="mainFrame" href="apiclient.errors.InvalidChunkSizeError-class.html"
-     >apiclient.errors.InvalidChunkSizeError</a><br />    <a target="mainFrame" href="apiclient.errors.InvalidJsonError-class.html"
-     >apiclient.errors.InvalidJsonError</a><br />    <a target="mainFrame" href="apiclient.errors.InvalidNotificationError-class.html"
-     >apiclient.errors.InvalidNotificationError</a><br />    <a target="mainFrame" href="apiclient.errors.MediaUploadSizeError-class.html"
-     >apiclient.errors.MediaUploadSizeError</a><br />    <a target="mainFrame" href="apiclient.errors.ResumableUploadError-class.html"
-     >apiclient.errors.ResumableUploadError</a><br />    <a target="mainFrame" href="apiclient.errors.UnacceptableMimeTypeError-class.html"
-     >apiclient.errors.UnacceptableMimeTypeError</a><br />    <a target="mainFrame" href="apiclient.errors.UnexpectedBodyError-class.html"
-     >apiclient.errors.UnexpectedBodyError</a><br />    <a target="mainFrame" href="apiclient.errors.UnexpectedMethodError-class.html"
-     >apiclient.errors.UnexpectedMethodError</a><br />    <a target="mainFrame" href="apiclient.errors.UnknownApiNameOrVersion-class.html"
-     >apiclient.errors.UnknownApiNameOrVersion</a><br />    <a target="mainFrame" href="apiclient.errors.UnknownFileType-class.html"
-     >apiclient.errors.UnknownFileType</a><br />    <a target="mainFrame" href="apiclient.errors.UnknownLinkType-class.html"
-     >apiclient.errors.UnknownLinkType</a><br />    <a target="mainFrame" href="apiclient.http.BatchHttpRequest-class.html"
-     >apiclient.http.BatchHttpRequest</a><br />    <a target="mainFrame" href="apiclient.http.HttpMock-class.html"
-     >apiclient.http.HttpMock</a><br />    <a target="mainFrame" href="apiclient.http.HttpMockSequence-class.html"
-     >apiclient.http.HttpMockSequence</a><br />    <a target="mainFrame" href="apiclient.http.HttpRequest-class.html"
-     >apiclient.http.HttpRequest</a><br />    <a target="mainFrame" href="apiclient.http.HttpRequestMock-class.html"
-     >apiclient.http.HttpRequestMock</a><br />    <a target="mainFrame" href="apiclient.http.MediaDownloadProgress-class.html"
-     >apiclient.http.MediaDownloadProgress</a><br />    <a target="mainFrame" href="apiclient.http.MediaFileUpload-class.html"
-     >apiclient.http.MediaFileUpload</a><br />    <a target="mainFrame" href="apiclient.http.MediaInMemoryUpload-class.html"
-     >apiclient.http.MediaInMemoryUpload</a><br />    <a target="mainFrame" href="apiclient.http.MediaIoBaseDownload-class.html"
-     >apiclient.http.MediaIoBaseDownload</a><br />    <a target="mainFrame" href="apiclient.http.MediaIoBaseUpload-class.html"
-     >apiclient.http.MediaIoBaseUpload</a><br />    <a target="mainFrame" href="apiclient.http.MediaUpload-class.html"
-     >apiclient.http.MediaUpload</a><br />    <a target="mainFrame" href="apiclient.http.MediaUploadProgress-class.html"
-     >apiclient.http.MediaUploadProgress</a><br />    <a target="mainFrame" href="apiclient.http.RequestMockBuilder-class.html"
-     >apiclient.http.RequestMockBuilder</a><br />  <div class="private">
-    <a target="mainFrame" href="apiclient.http._StreamSlice-class.html"
-     >apiclient.http._StreamSlice</a><br />  </div>
-    <a target="mainFrame" href="apiclient.model.BaseModel-class.html"
-     >apiclient.model.BaseModel</a><br />    <a target="mainFrame" href="apiclient.model.JsonModel-class.html"
-     >apiclient.model.JsonModel</a><br />    <a target="mainFrame" href="apiclient.model.MediaModel-class.html"
-     >apiclient.model.MediaModel</a><br />    <a target="mainFrame" href="apiclient.model.Model-class.html"
-     >apiclient.model.Model</a><br />    <a target="mainFrame" href="apiclient.model.ProtocolBufferModel-class.html"
-     >apiclient.model.ProtocolBufferModel</a><br />    <a target="mainFrame" href="apiclient.model.RawModel-class.html"
-     >apiclient.model.RawModel</a><br />    <a target="mainFrame" href="apiclient.schema.Schemas-class.html"
-     >apiclient.schema.Schemas</a><br />  <div class="private">
-    <a target="mainFrame" href="apiclient.schema._SchemaToStruct-class.html"
-     >apiclient.schema._SchemaToStruct</a><br />  </div>
-    <a target="mainFrame" href="google.appengine.ext.db.PropertiedClass-class.html"
-     >google.appengine.ext.db.PropertiedClass</a><br />    <a target="mainFrame" href="oauth2client.appengine.AppAssertionCredentials-class.html"
-     >oauth2client.appengine.AppAssertionCredentials</a><br />    <a target="mainFrame" href="oauth2client.appengine.CredentialsModel-class.html"
-     >oauth2client.appengine.CredentialsModel</a><br />    <a target="mainFrame" href="oauth2client.appengine.CredentialsNDBModel-class.html"
-     >oauth2client.appengine.CredentialsNDBModel</a><br />    <a target="mainFrame" href="oauth2client.appengine.CredentialsNDBProperty-class.html"
-     >oauth2client.appengine.CredentialsNDBProperty</a><br />    <a target="mainFrame" href="oauth2client.appengine.CredentialsProperty-class.html"
-     >oauth2client.appengine.CredentialsProperty</a><br />    <a target="mainFrame" href="oauth2client.appengine.FlowNDBProperty-class.html"
-     >oauth2client.appengine.FlowNDBProperty</a><br />    <a target="mainFrame" href="oauth2client.appengine.FlowProperty-class.html"
-     >oauth2client.appengine.FlowProperty</a><br />    <a target="mainFrame" href="oauth2client.appengine.InvalidClientSecretsError-class.html"
-     >oauth2client.appengine.InvalidClientSecretsError</a><br />    <a target="mainFrame" href="oauth2client.appengine.InvalidXsrfTokenError-class.html"
-     >oauth2client.appengine.InvalidXsrfTokenError</a><br />    <a target="mainFrame" href="oauth2client.appengine.OAuth2Decorator-class.html"
-     >oauth2client.appengine.OAuth2Decorator</a><br />    <a target="mainFrame" href="oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html"
-     >oauth2client.appengine.OAuth2DecoratorFromClientSecrets</a><br />    <a target="mainFrame" href="oauth2client.appengine.SiteXsrfSecretKey-class.html"
-     >oauth2client.appengine.SiteXsrfSecretKey</a><br />    <a target="mainFrame" href="oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html"
-     >oauth2client.appengine.SiteXsrfSecretKeyNDB</a><br />    <a target="mainFrame" href="oauth2client.appengine.StorageByKeyName-class.html"
-     >oauth2client.appengine.StorageByKeyName</a><br />    <a target="mainFrame" href="oauth2client.client.AccessTokenCredentials-class.html"
-     >oauth2client.client.AccessTokenCredentials</a><br />    <a target="mainFrame" href="oauth2client.client.AccessTokenCredentialsError-class.html"
-     >oauth2client.client.AccessTokenCredentialsError</a><br />    <a target="mainFrame" href="oauth2client.client.AccessTokenRefreshError-class.html"
-     >oauth2client.client.AccessTokenRefreshError</a><br />    <a target="mainFrame" href="oauth2client.client.AssertionCredentials-class.html"
-     >oauth2client.client.AssertionCredentials</a><br />    <a target="mainFrame" href="oauth2client.client.Credentials-class.html"
-     >oauth2client.client.Credentials</a><br />    <a target="mainFrame" href="oauth2client.client.Error-class.html"
-     >oauth2client.client.Error</a><br />    <a target="mainFrame" href="oauth2client.client.Flow-class.html"
-     >oauth2client.client.Flow</a><br />    <a target="mainFrame" href="oauth2client.client.FlowExchangeError-class.html"
-     >oauth2client.client.FlowExchangeError</a><br />    <a target="mainFrame" href="oauth2client.client.MemoryCache-class.html"
-     >oauth2client.client.MemoryCache</a><br />    <a target="mainFrame" href="oauth2client.client.NonAsciiHeaderError-class.html"
-     >oauth2client.client.NonAsciiHeaderError</a><br />    <a target="mainFrame" href="oauth2client.client.OAuth2Credentials-class.html"
-     >oauth2client.client.OAuth2Credentials</a><br />    <a target="mainFrame" href="oauth2client.client.OAuth2WebServerFlow-class.html"
-     >oauth2client.client.OAuth2WebServerFlow</a><br />    <a target="mainFrame" href="oauth2client.client.SignedJwtAssertionCredentials-class.html"
-     >oauth2client.client.SignedJwtAssertionCredentials</a><br />    <a target="mainFrame" href="oauth2client.client.Storage-class.html"
-     >oauth2client.client.Storage</a><br />    <a target="mainFrame" href="oauth2client.client.TokenRevokeError-class.html"
-     >oauth2client.client.TokenRevokeError</a><br />    <a target="mainFrame" href="oauth2client.client.UnknownClientSecretsFlowError-class.html"
-     >oauth2client.client.UnknownClientSecretsFlowError</a><br />    <a target="mainFrame" href="oauth2client.client.VerifyJwtTokenError-class.html"
-     >oauth2client.client.VerifyJwtTokenError</a><br />    <a target="mainFrame" href="oauth2client.clientsecrets.Error-class.html"
-     >oauth2client.clientsecrets.Error</a><br />    <a target="mainFrame" href="oauth2client.clientsecrets.InvalidClientSecretsError-class.html"
-     >oauth2client.clientsecrets.InvalidClientSecretsError</a><br />    <a target="mainFrame" href="oauth2client.crypt.AppIdentityError-class.html"
-     >oauth2client.crypt.AppIdentityError</a><br />    <a target="mainFrame" href="oauth2client.django_orm.CredentialsField-class.html"
-     >oauth2client.django_orm.CredentialsField</a><br />    <a target="mainFrame" href="oauth2client.django_orm.FlowField-class.html"
-     >oauth2client.django_orm.FlowField</a><br />    <a target="mainFrame" href="oauth2client.django_orm.Storage-class.html"
-     >oauth2client.django_orm.Storage</a><br />    <a target="mainFrame" href="oauth2client.file.CredentialsFileSymbolicLinkError-class.html"
-     >oauth2client.file.CredentialsFileSymbolicLinkError</a><br />    <a target="mainFrame" href="oauth2client.file.Storage-class.html"
-     >oauth2client.file.Storage</a><br />    <a target="mainFrame" href="oauth2client.gce.AppAssertionCredentials-class.html"
-     >oauth2client.gce.AppAssertionCredentials</a><br />    <a target="mainFrame" href="oauth2client.keyring_storage.Storage-class.html"
-     >oauth2client.keyring_storage.Storage</a><br />    <a target="mainFrame" href="oauth2client.locked_file.AlreadyLockedException-class.html"
-     >oauth2client.locked_file.AlreadyLockedException</a><br />    <a target="mainFrame" href="oauth2client.locked_file.CredentialsFileSymbolicLinkError-class.html"
-     >oauth2client.locked_file.CredentialsFileSymbolicLinkError</a><br />    <a target="mainFrame" href="oauth2client.locked_file.LockedFile-class.html"
-     >oauth2client.locked_file.LockedFile</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.locked_file._Opener-class.html"
-     >oauth2client.locked_file._Opener</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.locked_file._PosixOpener-class.html"
-     >oauth2client.locked_file._PosixOpener</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.multistore_file.Error-class.html"
-     >oauth2client.multistore_file.Error</a><br />    <a target="mainFrame" href="oauth2client.multistore_file.NewerCredentialStoreError-class.html"
-     >oauth2client.multistore_file.NewerCredentialStoreError</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.multistore_file._MultiStore-class.html"
-     >oauth2client.multistore_file._MultiStore</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.multistore_file._MultiStore._Storage-class.html"
-     >oauth2client.multistore_file._MultiStore._Storage</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.tools.ClientRedirectHandler-class.html"
-     >oauth2client.tools.ClientRedirectHandler</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.tools.ClientRedirectServer-class.html"
-     >oauth2client.tools.ClientRedirectServer</a><br />  </div>
-  <h2 class="toc">All Functions</h2>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.channel-module.html#_upper_header_keys"
-     >apiclient.channel._upper_header_keys</a><br />  </div>
-    <a target="mainFrame" href="apiclient.channel-module.html#new_webhook_channel"
-     >apiclient.channel.new_webhook_channel</a><br />    <a target="mainFrame" href="apiclient.channel-module.html#notification_from_headers"
-     >apiclient.channel.notification_from_headers</a><br />  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#_cast"
-     >apiclient.discovery._cast</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#_fix_up_media_upload"
-     >apiclient.discovery._fix_up_media_upload</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#_fix_up_method_description"
-     >apiclient.discovery._fix_up_method_description</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#_fix_up_parameters"
-     >apiclient.discovery._fix_up_parameters</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#_media_path_url_from_info"
-     >apiclient.discovery._media_path_url_from_info</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#_media_size_to_long"
-     >apiclient.discovery._media_size_to_long</a><br />  </div>
-    <a target="mainFrame" href="apiclient.discovery-module.html#build"
-     >apiclient.discovery.build</a><br />    <a target="mainFrame" href="apiclient.discovery-module.html#build_from_document"
-     >apiclient.discovery.build_from_document</a><br />  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#createMethod"
-     >apiclient.discovery.createMethod</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#createNextMethod"
-     >apiclient.discovery.createNextMethod</a><br />  </div>
-    <a target="mainFrame" href="apiclient.discovery-module.html#fix_method_name"
-     >apiclient.discovery.fix_method_name</a><br />    <a target="mainFrame" href="apiclient.discovery-module.html#key2param"
-     >apiclient.discovery.key2param</a><br />    <a target="mainFrame" href="apiclient.http-module.html#set_user_agent"
-     >apiclient.http.set_user_agent</a><br />    <a target="mainFrame" href="apiclient.http-module.html#tunnel_patch"
-     >apiclient.http.tunnel_patch</a><br />  <div class="private">
-    <a target="mainFrame" href="apiclient.mimeparse-module.html#_filter_blank"
-     >apiclient.mimeparse._filter_blank</a><br />  </div>
-    <a target="mainFrame" href="apiclient.mimeparse-module.html#best_match"
-     >apiclient.mimeparse.best_match</a><br />    <a target="mainFrame" href="apiclient.mimeparse-module.html#fitness_and_quality_parsed"
-     >apiclient.mimeparse.fitness_and_quality_parsed</a><br />    <a target="mainFrame" href="apiclient.mimeparse-module.html#parse_media_range"
-     >apiclient.mimeparse.parse_media_range</a><br />    <a target="mainFrame" href="apiclient.mimeparse-module.html#parse_mime_type"
-     >apiclient.mimeparse.parse_mime_type</a><br />    <a target="mainFrame" href="apiclient.mimeparse-module.html#quality"
-     >apiclient.mimeparse.quality</a><br />    <a target="mainFrame" href="apiclient.mimeparse-module.html#quality_parsed"
-     >apiclient.mimeparse.quality_parsed</a><br />  <div class="private">
-    <a target="mainFrame" href="apiclient.model-module.html#_abstract"
-     >apiclient.model._abstract</a><br />  </div>
-    <a target="mainFrame" href="apiclient.model-module.html#makepatch"
-     >apiclient.model.makepatch</a><br />    <a target="mainFrame" href="apiclient.sample_tools-module.html#init"
-     >apiclient.sample_tools.init</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.appengine-module.html#_build_state_value"
-     >oauth2client.appengine._build_state_value</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.appengine-module.html#_generate_new_xsrf_secret_key"
-     >oauth2client.appengine._generate_new_xsrf_secret_key</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.appengine-module.html#_parse_state_value"
-     >oauth2client.appengine._parse_state_value</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.appengine-module.html#_safe_html"
-     >oauth2client.appengine._safe_html</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.appengine-module.html#oauth2decorator_from_clientsecrets"
-     >oauth2client.appengine.oauth2decorator_from_clientsecrets</a><br />    <a target="mainFrame" href="oauth2client.appengine-module.html#xsrf_secret_key"
-     >oauth2client.appengine.xsrf_secret_key</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.client-module.html#_abstract"
-     >oauth2client.client._abstract</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.client-module.html#_extract_id_token"
-     >oauth2client.client._extract_id_token</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.client-module.html#_parse_exchange_token_response"
-     >oauth2client.client._parse_exchange_token_response</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.client-module.html#_update_query_params"
-     >oauth2client.client._update_query_params</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.client-module.html#_urlsafe_b64decode"
-     >oauth2client.client._urlsafe_b64decode</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.client-module.html#clean_headers"
-     >oauth2client.client.clean_headers</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#credentials_from_clientsecrets_and_code"
-     >oauth2client.client.credentials_from_clientsecrets_and_code</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#credentials_from_code"
-     >oauth2client.client.credentials_from_code</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#flow_from_clientsecrets"
-     >oauth2client.client.flow_from_clientsecrets</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#verify_id_token"
-     >oauth2client.client.verify_id_token</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.clientsecrets-module.html#_loadfile"
-     >oauth2client.clientsecrets._loadfile</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.clientsecrets-module.html#_validate_clientsecrets"
-     >oauth2client.clientsecrets._validate_clientsecrets</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.clientsecrets-module.html#load"
-     >oauth2client.clientsecrets.load</a><br />    <a target="mainFrame" href="oauth2client.clientsecrets-module.html#loadfile"
-     >oauth2client.clientsecrets.loadfile</a><br />    <a target="mainFrame" href="oauth2client.clientsecrets-module.html#loads"
-     >oauth2client.clientsecrets.loads</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.crypt-module.html#_json_encode"
-     >oauth2client.crypt._json_encode</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.crypt-module.html#_urlsafe_b64decode"
-     >oauth2client.crypt._urlsafe_b64decode</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.crypt-module.html#_urlsafe_b64encode"
-     >oauth2client.crypt._urlsafe_b64encode</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.crypt-module.html#make_signed_jwt"
-     >oauth2client.crypt.make_signed_jwt</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#verify_signed_jwt_with_certs"
-     >oauth2client.crypt.verify_signed_jwt_with_certs</a><br />    <a target="mainFrame" href="oauth2client.locked_file-module.html#validate_file"
-     >oauth2client.locked_file.validate_file</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.multistore_file-module.html#_get_multistore"
-     >oauth2client.multistore_file._get_multistore</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.multistore_file-module.html#get_all_credential_keys"
-     >oauth2client.multistore_file.get_all_credential_keys</a><br />    <a target="mainFrame" href="oauth2client.multistore_file-module.html#get_credential_storage"
-     >oauth2client.multistore_file.get_credential_storage</a><br />    <a target="mainFrame" href="oauth2client.multistore_file-module.html#get_credential_storage_custom_key"
-     >oauth2client.multistore_file.get_credential_storage_custom_key</a><br />    <a target="mainFrame" href="oauth2client.multistore_file-module.html#get_credential_storage_custom_string_key"
-     >oauth2client.multistore_file.get_credential_storage_custom_string_key</a><br />    <a target="mainFrame" href="oauth2client.old_run-module.html#run"
-     >oauth2client.old_run.run</a><br />    <a target="mainFrame" href="oauth2client.tools-module.html#message_if_missing"
-     >oauth2client.tools.message_if_missing</a><br />    <a target="mainFrame" href="oauth2client.tools-module.html#run"
-     >oauth2client.tools.run</a><br />    <a target="mainFrame" href="oauth2client.tools-module.html#run_flow"
-     >oauth2client.tools.run_flow</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.util-module.html#_add_query_parameter"
-     >oauth2client.util._add_query_parameter</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.util-module.html#dict_to_tuple_key"
-     >oauth2client.util.dict_to_tuple_key</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.util-module.html#positional"
-     >oauth2client.util.positional</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.util-module.html#scopes_to_string"
-     >oauth2client.util.scopes_to_string</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.xsrfutil-module.html#generate_token"
-     >oauth2client.xsrfutil.generate_token</a><br />    <a target="mainFrame" href="oauth2client.xsrfutil-module.html#validate_token"
-     >oauth2client.xsrfutil.validate_token</a><br />  <h2 class="toc">All Variables</h2>
-    <a target="mainFrame" href="apiclient.channel-module.html#CHANNEL_PARAMS"
-     >apiclient.channel.CHANNEL_PARAMS</a><br />    <a target="mainFrame" href="apiclient.channel-module.html#EPOCH"
-     >apiclient.channel.EPOCH</a><br />    <a target="mainFrame" href="apiclient.channel-module.html#X_GOOG_CHANNEL_ID"
-     >apiclient.channel.X_GOOG_CHANNEL_ID</a><br />    <a target="mainFrame" href="apiclient.channel-module.html#X_GOOG_MESSAGE_NUMBER"
-     >apiclient.channel.X_GOOG_MESSAGE_NUMBER</a><br />    <a target="mainFrame" href="apiclient.channel-module.html#X_GOOG_RESOURCE_ID"
-     >apiclient.channel.X_GOOG_RESOURCE_ID</a><br />    <a target="mainFrame" href="apiclient.channel-module.html#X_GOOG_RESOURCE_STATE"
-     >apiclient.channel.X_GOOG_RESOURCE_STATE</a><br />    <a target="mainFrame" href="apiclient.channel-module.html#X_GOOG_RESOURCE_URI"
-     >apiclient.channel.X_GOOG_RESOURCE_URI</a><br />  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#BODY_PARAMETER_DEFAULT_VALUE"
-     >apiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#DEFAULT_METHOD_DOC"
-     >apiclient.discovery.DEFAULT_METHOD_DOC</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#DISCOVERY_URI"
-     >apiclient.discovery.DISCOVERY_URI</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#HTTP_PAYLOAD_METHODS"
-     >apiclient.discovery.HTTP_PAYLOAD_METHODS</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#MEDIA_BODY_PARAMETER_DEFAULT_VALUE"
-     >apiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#RESERVED_WORDS"
-     >apiclient.discovery.RESERVED_WORDS</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#STACK_QUERY_PARAMETERS"
-     >apiclient.discovery.STACK_QUERY_PARAMETERS</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#STACK_QUERY_PARAMETER_DEFAULT_VALUE"
-     >apiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#URITEMPLATE"
-     >apiclient.discovery.URITEMPLATE</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#VARNAME"
-     >apiclient.discovery.VARNAME</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#_MEDIA_SIZE_BIT_SHIFTS"
-     >apiclient.discovery._MEDIA_SIZE_BIT_SHIFTS</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="apiclient.discovery-module.html#logger"
-     >apiclient.discovery.logger</a><br />  </div>
-    <a target="mainFrame" href="apiclient.http-module.html#DEFAULT_CHUNK_SIZE"
-     >apiclient.http.DEFAULT_CHUNK_SIZE</a><br />    <a target="mainFrame" href="apiclient.http-module.html#MAX_URI_LENGTH"
-     >apiclient.http.MAX_URI_LENGTH</a><br />    <a target="mainFrame" href="apiclient.mimeparse-module.html#__credits__"
-     >apiclient.mimeparse.__credits__</a><br />    <a target="mainFrame" href="apiclient.mimeparse-module.html#__email__"
-     >apiclient.mimeparse.__email__</a><br />    <a target="mainFrame" href="apiclient.model-module.html#dump_request_response"
-     >apiclient.model.dump_request_response</a><br />    <a target="mainFrame" href="oauth2client-module.html#GOOGLE_AUTH_URI"
-     >oauth2client.GOOGLE_AUTH_URI</a><br />    <a target="mainFrame" href="oauth2client-module.html#GOOGLE_REVOKE_URI"
-     >oauth2client.GOOGLE_REVOKE_URI</a><br />    <a target="mainFrame" href="oauth2client-module.html#GOOGLE_TOKEN_URI"
-     >oauth2client.GOOGLE_TOKEN_URI</a><br />    <a target="mainFrame" href="oauth2client.appengine-module.html#OAUTH2CLIENT_NAMESPACE"
-     >oauth2client.appengine.OAUTH2CLIENT_NAMESPACE</a><br />    <a target="mainFrame" href="oauth2client.appengine-module.html#XSRF_MEMCACHE_ID"
-     >oauth2client.appengine.XSRF_MEMCACHE_ID</a><br />    <a target="mainFrame" href="oauth2client.appengine-module.html#logger"
-     >oauth2client.appengine.logger</a><br />    <a target="mainFrame" href="oauth2client.appengine-module.html#ndb"
-     >oauth2client.appengine.ndb</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#EXPIRY_FORMAT"
-     >oauth2client.client.EXPIRY_FORMAT</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#HAS_CRYPTO"
-     >oauth2client.client.HAS_CRYPTO</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#HAS_OPENSSL"
-     >oauth2client.client.HAS_OPENSSL</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#ID_TOKEN_VERIFICATON_CERTS"
-     >oauth2client.client.ID_TOKEN_VERIFICATON_CERTS</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#OOB_CALLBACK_URN"
-     >oauth2client.client.OOB_CALLBACK_URN</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#REFRESH_STATUS_CODES"
-     >oauth2client.client.REFRESH_STATUS_CODES</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.client-module.html#_cached_http"
-     >oauth2client.client._cached_http</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.client-module.html#logger"
-     >oauth2client.client.logger</a><br />    <a target="mainFrame" href="oauth2client.clientsecrets-module.html#TYPE_INSTALLED"
-     >oauth2client.clientsecrets.TYPE_INSTALLED</a><br />    <a target="mainFrame" href="oauth2client.clientsecrets-module.html#TYPE_WEB"
-     >oauth2client.clientsecrets.TYPE_WEB</a><br />    <a target="mainFrame" href="oauth2client.clientsecrets-module.html#VALID_CLIENT"
-     >oauth2client.clientsecrets.VALID_CLIENT</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#AUTH_TOKEN_LIFETIME_SECS"
-     >oauth2client.crypt.AUTH_TOKEN_LIFETIME_SECS</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#CLOCK_SKEW_SECS"
-     >oauth2client.crypt.CLOCK_SKEW_SECS</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#MAX_TOKEN_LIFETIME_SECS"
-     >oauth2client.crypt.MAX_TOKEN_LIFETIME_SECS</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#OpenSSLSigner"
-     >oauth2client.crypt.OpenSSLSigner</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#OpenSSLVerifier"
-     >oauth2client.crypt.OpenSSLVerifier</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#PyCryptoSigner"
-     >oauth2client.crypt.PyCryptoSigner</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#PyCryptoVerifier"
-     >oauth2client.crypt.PyCryptoVerifier</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#Signer"
-     >oauth2client.crypt.Signer</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#Verifier"
-     >oauth2client.crypt.Verifier</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#logger"
-     >oauth2client.crypt.logger</a><br />    <a target="mainFrame" href="oauth2client.gce-module.html#META"
-     >oauth2client.gce.META</a><br />    <a target="mainFrame" href="oauth2client.gce-module.html#logger"
-     >oauth2client.gce.logger</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.locked_file-module.html#_FcntlOpener"
-     >oauth2client.locked_file._FcntlOpener</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.locked_file-module.html#_Win32Opener"
-     >oauth2client.locked_file._Win32Opener</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.locked_file-module.html#logger"
-     >oauth2client.locked_file.logger</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.multistore_file-module.html#_multistores"
-     >oauth2client.multistore_file._multistores</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.multistore_file-module.html#_multistores_lock"
-     >oauth2client.multistore_file._multistores_lock</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.multistore_file-module.html#logger"
-     >oauth2client.multistore_file.logger</a><br />    <a target="mainFrame" href="oauth2client.old_run-module.html#FLAGS"
-     >oauth2client.old_run.FLAGS</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.tools-module.html#_CLIENT_SECRETS_MESSAGE"
-     >oauth2client.tools._CLIENT_SECRETS_MESSAGE</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.tools-module.html#argparser"
-     >oauth2client.tools.argparser</a><br />    <a target="mainFrame" href="oauth2client.util-module.html#POSITIONAL_EXCEPTION"
-     >oauth2client.util.POSITIONAL_EXCEPTION</a><br />    <a target="mainFrame" href="oauth2client.util-module.html#POSITIONAL_IGNORE"
-     >oauth2client.util.POSITIONAL_IGNORE</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.util-module.html#POSITIONAL_SET"
-     >oauth2client.util.POSITIONAL_SET</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.util-module.html#POSITIONAL_WARNING"
-     >oauth2client.util.POSITIONAL_WARNING</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.util-module.html#logger"
-     >oauth2client.util.logger</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.util-module.html#positional_parameters_enforcement"
-     >oauth2client.util.positional_parameters_enforcement</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.xsrfutil-module.html#DEFAULT_TIMEOUT_SECS"
-     >oauth2client.xsrfutil.DEFAULT_TIMEOUT_SECS</a><br />    <a target="mainFrame" href="oauth2client.xsrfutil-module.html#DELIMITER"
-     >oauth2client.xsrfutil.DELIMITER</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-oauth2client-module.html b/docs/epy/toc-oauth2client-module.html
deleted file mode 100644
index 79b9d85..0000000
--- a/docs/epy/toc-oauth2client-module.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>oauth2client</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module oauth2client</h1>
-<hr />
-  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="oauth2client-module.html#GOOGLE_AUTH_URI"
-     >GOOGLE_AUTH_URI</a><br />    <a target="mainFrame" href="oauth2client-module.html#GOOGLE_REVOKE_URI"
-     >GOOGLE_REVOKE_URI</a><br />    <a target="mainFrame" href="oauth2client-module.html#GOOGLE_TOKEN_URI"
-     >GOOGLE_TOKEN_URI</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-oauth2client.anyjson-module.html b/docs/epy/toc-oauth2client.anyjson-module.html
deleted file mode 100644
index d0dbce9..0000000
--- a/docs/epy/toc-oauth2client.anyjson-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>anyjson</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module anyjson</h1>
-<hr />
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-oauth2client.appengine-module.html b/docs/epy/toc-oauth2client.appengine-module.html
deleted file mode 100644
index 3acc0eb..0000000
--- a/docs/epy/toc-oauth2client.appengine-module.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>appengine</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module appengine</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="oauth2client.appengine.AppAssertionCredentials-class.html"
-     >AppAssertionCredentials</a><br />    <a target="mainFrame" href="oauth2client.appengine.CredentialsModel-class.html"
-     >CredentialsModel</a><br />    <a target="mainFrame" href="oauth2client.appengine.CredentialsNDBModel-class.html"
-     >CredentialsNDBModel</a><br />    <a target="mainFrame" href="oauth2client.appengine.CredentialsNDBProperty-class.html"
-     >CredentialsNDBProperty</a><br />    <a target="mainFrame" href="oauth2client.appengine.CredentialsProperty-class.html"
-     >CredentialsProperty</a><br />    <a target="mainFrame" href="oauth2client.appengine.FlowNDBProperty-class.html"
-     >FlowNDBProperty</a><br />    <a target="mainFrame" href="oauth2client.appengine.FlowProperty-class.html"
-     >FlowProperty</a><br />    <a target="mainFrame" href="oauth2client.appengine.InvalidClientSecretsError-class.html"
-     >InvalidClientSecretsError</a><br />    <a target="mainFrame" href="oauth2client.appengine.InvalidXsrfTokenError-class.html"
-     >InvalidXsrfTokenError</a><br />    <a target="mainFrame" href="oauth2client.appengine.OAuth2Decorator-class.html"
-     >OAuth2Decorator</a><br />    <a target="mainFrame" href="oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html"
-     >OAuth2DecoratorFromClientSecrets</a><br />    <a target="mainFrame" href="oauth2client.appengine.SiteXsrfSecretKey-class.html"
-     >SiteXsrfSecretKey</a><br />    <a target="mainFrame" href="oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html"
-     >SiteXsrfSecretKeyNDB</a><br />    <a target="mainFrame" href="oauth2client.appengine.StorageByKeyName-class.html"
-     >StorageByKeyName</a><br />  <h2 class="toc">Functions</h2>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.appengine-module.html#_build_state_value"
-     >_build_state_value</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.appengine-module.html#_generate_new_xsrf_secret_key"
-     >_generate_new_xsrf_secret_key</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.appengine-module.html#_parse_state_value"
-     >_parse_state_value</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.appengine-module.html#_safe_html"
-     >_safe_html</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.appengine-module.html#oauth2decorator_from_clientsecrets"
-     >oauth2decorator_from_clientsecrets</a><br />    <a target="mainFrame" href="oauth2client.appengine-module.html#xsrf_secret_key"
-     >xsrf_secret_key</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="oauth2client.appengine-module.html#OAUTH2CLIENT_NAMESPACE"
-     >OAUTH2CLIENT_NAMESPACE</a><br />    <a target="mainFrame" href="oauth2client.appengine-module.html#XSRF_MEMCACHE_ID"
-     >XSRF_MEMCACHE_ID</a><br />    <a target="mainFrame" href="oauth2client.appengine-module.html#logger"
-     >logger</a><br />    <a target="mainFrame" href="oauth2client.appengine-module.html#ndb"
-     >ndb</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-oauth2client.client-module.html b/docs/epy/toc-oauth2client.client-module.html
deleted file mode 100644
index 2c73ba1..0000000
--- a/docs/epy/toc-oauth2client.client-module.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>client</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module client</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="oauth2client.client.AccessTokenCredentials-class.html"
-     >AccessTokenCredentials</a><br />    <a target="mainFrame" href="oauth2client.client.AccessTokenCredentialsError-class.html"
-     >AccessTokenCredentialsError</a><br />    <a target="mainFrame" href="oauth2client.client.AccessTokenRefreshError-class.html"
-     >AccessTokenRefreshError</a><br />    <a target="mainFrame" href="oauth2client.client.AssertionCredentials-class.html"
-     >AssertionCredentials</a><br />    <a target="mainFrame" href="oauth2client.client.Credentials-class.html"
-     >Credentials</a><br />    <a target="mainFrame" href="oauth2client.client.Error-class.html"
-     >Error</a><br />    <a target="mainFrame" href="oauth2client.client.Flow-class.html"
-     >Flow</a><br />    <a target="mainFrame" href="oauth2client.client.FlowExchangeError-class.html"
-     >FlowExchangeError</a><br />    <a target="mainFrame" href="oauth2client.client.MemoryCache-class.html"
-     >MemoryCache</a><br />    <a target="mainFrame" href="oauth2client.client.NonAsciiHeaderError-class.html"
-     >NonAsciiHeaderError</a><br />    <a target="mainFrame" href="oauth2client.client.OAuth2Credentials-class.html"
-     >OAuth2Credentials</a><br />    <a target="mainFrame" href="oauth2client.client.OAuth2WebServerFlow-class.html"
-     >OAuth2WebServerFlow</a><br />    <a target="mainFrame" href="oauth2client.client.SignedJwtAssertionCredentials-class.html"
-     >SignedJwtAssertionCredentials</a><br />    <a target="mainFrame" href="oauth2client.client.Storage-class.html"
-     >Storage</a><br />    <a target="mainFrame" href="oauth2client.client.TokenRevokeError-class.html"
-     >TokenRevokeError</a><br />    <a target="mainFrame" href="oauth2client.client.UnknownClientSecretsFlowError-class.html"
-     >UnknownClientSecretsFlowError</a><br />    <a target="mainFrame" href="oauth2client.client.VerifyJwtTokenError-class.html"
-     >VerifyJwtTokenError</a><br />  <h2 class="toc">Functions</h2>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.client-module.html#_abstract"
-     >_abstract</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.client-module.html#_extract_id_token"
-     >_extract_id_token</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.client-module.html#_parse_exchange_token_response"
-     >_parse_exchange_token_response</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.client-module.html#_update_query_params"
-     >_update_query_params</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.client-module.html#_urlsafe_b64decode"
-     >_urlsafe_b64decode</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.client-module.html#clean_headers"
-     >clean_headers</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#credentials_from_clientsecrets_and_code"
-     >credentials_from_clientsecrets_and_code</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#credentials_from_code"
-     >credentials_from_code</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#flow_from_clientsecrets"
-     >flow_from_clientsecrets</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#verify_id_token"
-     >verify_id_token</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="oauth2client.client-module.html#EXPIRY_FORMAT"
-     >EXPIRY_FORMAT</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#HAS_CRYPTO"
-     >HAS_CRYPTO</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#HAS_OPENSSL"
-     >HAS_OPENSSL</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#ID_TOKEN_VERIFICATON_CERTS"
-     >ID_TOKEN_VERIFICATON_CERTS</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#OOB_CALLBACK_URN"
-     >OOB_CALLBACK_URN</a><br />    <a target="mainFrame" href="oauth2client.client-module.html#REFRESH_STATUS_CODES"
-     >REFRESH_STATUS_CODES</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.client-module.html#_cached_http"
-     >_cached_http</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.client-module.html#logger"
-     >logger</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-oauth2client.clientsecrets-module.html b/docs/epy/toc-oauth2client.clientsecrets-module.html
deleted file mode 100644
index f60223b..0000000
--- a/docs/epy/toc-oauth2client.clientsecrets-module.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>clientsecrets</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module clientsecrets</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="oauth2client.clientsecrets.Error-class.html"
-     >Error</a><br />    <a target="mainFrame" href="oauth2client.clientsecrets.InvalidClientSecretsError-class.html"
-     >InvalidClientSecretsError</a><br />  <h2 class="toc">Functions</h2>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.clientsecrets-module.html#_loadfile"
-     >_loadfile</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.clientsecrets-module.html#_validate_clientsecrets"
-     >_validate_clientsecrets</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.clientsecrets-module.html#load"
-     >load</a><br />    <a target="mainFrame" href="oauth2client.clientsecrets-module.html#loadfile"
-     >loadfile</a><br />    <a target="mainFrame" href="oauth2client.clientsecrets-module.html#loads"
-     >loads</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="oauth2client.clientsecrets-module.html#TYPE_INSTALLED"
-     >TYPE_INSTALLED</a><br />    <a target="mainFrame" href="oauth2client.clientsecrets-module.html#TYPE_WEB"
-     >TYPE_WEB</a><br />    <a target="mainFrame" href="oauth2client.clientsecrets-module.html#VALID_CLIENT"
-     >VALID_CLIENT</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-oauth2client.crypt-module.html b/docs/epy/toc-oauth2client.crypt-module.html
deleted file mode 100644
index 38fc4e9..0000000
--- a/docs/epy/toc-oauth2client.crypt-module.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>crypt</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module crypt</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="oauth2client.crypt.AppIdentityError-class.html"
-     >AppIdentityError</a><br />  <h2 class="toc">Functions</h2>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.crypt-module.html#_json_encode"
-     >_json_encode</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.crypt-module.html#_urlsafe_b64decode"
-     >_urlsafe_b64decode</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.crypt-module.html#_urlsafe_b64encode"
-     >_urlsafe_b64encode</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.crypt-module.html#make_signed_jwt"
-     >make_signed_jwt</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#verify_signed_jwt_with_certs"
-     >verify_signed_jwt_with_certs</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="oauth2client.crypt-module.html#AUTH_TOKEN_LIFETIME_SECS"
-     >AUTH_TOKEN_LIFETIME_SECS</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#CLOCK_SKEW_SECS"
-     >CLOCK_SKEW_SECS</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#MAX_TOKEN_LIFETIME_SECS"
-     >MAX_TOKEN_LIFETIME_SECS</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#OpenSSLSigner"
-     >OpenSSLSigner</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#OpenSSLVerifier"
-     >OpenSSLVerifier</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#PyCryptoSigner"
-     >PyCryptoSigner</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#PyCryptoVerifier"
-     >PyCryptoVerifier</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#Signer"
-     >Signer</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#Verifier"
-     >Verifier</a><br />    <a target="mainFrame" href="oauth2client.crypt-module.html#logger"
-     >logger</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-oauth2client.django_orm-module.html b/docs/epy/toc-oauth2client.django_orm-module.html
deleted file mode 100644
index a32834d..0000000
--- a/docs/epy/toc-oauth2client.django_orm-module.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>django_orm</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module django_orm</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="oauth2client.django_orm.CredentialsField-class.html"
-     >CredentialsField</a><br />    <a target="mainFrame" href="oauth2client.django_orm.FlowField-class.html"
-     >FlowField</a><br />    <a target="mainFrame" href="oauth2client.django_orm.Storage-class.html"
-     >Storage</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-oauth2client.file-module.html b/docs/epy/toc-oauth2client.file-module.html
deleted file mode 100644
index ac6305b..0000000
--- a/docs/epy/toc-oauth2client.file-module.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>file</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module file</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="oauth2client.file.CredentialsFileSymbolicLinkError-class.html"
-     >CredentialsFileSymbolicLinkError</a><br />    <a target="mainFrame" href="oauth2client.file.Storage-class.html"
-     >Storage</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-oauth2client.gce-module.html b/docs/epy/toc-oauth2client.gce-module.html
deleted file mode 100644
index 8b27668..0000000
--- a/docs/epy/toc-oauth2client.gce-module.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>gce</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module gce</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="oauth2client.gce.AppAssertionCredentials-class.html"
-     >AppAssertionCredentials</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="oauth2client.gce-module.html#META"
-     >META</a><br />    <a target="mainFrame" href="oauth2client.gce-module.html#logger"
-     >logger</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-oauth2client.keyring_storage-module.html b/docs/epy/toc-oauth2client.keyring_storage-module.html
deleted file mode 100644
index 1fc9738..0000000
--- a/docs/epy/toc-oauth2client.keyring_storage-module.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>keyring_storage</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module keyring_storage</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="oauth2client.keyring_storage.Storage-class.html"
-     >Storage</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-oauth2client.locked_file-module.html b/docs/epy/toc-oauth2client.locked_file-module.html
deleted file mode 100644
index 51c5e73..0000000
--- a/docs/epy/toc-oauth2client.locked_file-module.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>locked_file</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module locked_file</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="oauth2client.locked_file.AlreadyLockedException-class.html"
-     >AlreadyLockedException</a><br />    <a target="mainFrame" href="oauth2client.locked_file.CredentialsFileSymbolicLinkError-class.html"
-     >CredentialsFileSymbolicLinkError</a><br />    <a target="mainFrame" href="oauth2client.locked_file.LockedFile-class.html"
-     >LockedFile</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.locked_file._Opener-class.html"
-     >_Opener</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.locked_file._PosixOpener-class.html"
-     >_PosixOpener</a><br />  </div>
-  <h2 class="toc">Functions</h2>
-    <a target="mainFrame" href="oauth2client.locked_file-module.html#validate_file"
-     >validate_file</a><br />  <h2 class="toc">Variables</h2>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.locked_file-module.html#_FcntlOpener"
-     >_FcntlOpener</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.locked_file-module.html#_Win32Opener"
-     >_Win32Opener</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.locked_file-module.html#logger"
-     >logger</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-oauth2client.multistore_file-module.html b/docs/epy/toc-oauth2client.multistore_file-module.html
deleted file mode 100644
index e86c89b..0000000
--- a/docs/epy/toc-oauth2client.multistore_file-module.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>multistore_file</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module multistore_file</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="oauth2client.multistore_file.Error-class.html"
-     >Error</a><br />    <a target="mainFrame" href="oauth2client.multistore_file.NewerCredentialStoreError-class.html"
-     >NewerCredentialStoreError</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.multistore_file._MultiStore-class.html"
-     >_MultiStore</a><br />  </div>
-  <h2 class="toc">Functions</h2>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.multistore_file-module.html#_get_multistore"
-     >_get_multistore</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.multistore_file-module.html#get_all_credential_keys"
-     >get_all_credential_keys</a><br />    <a target="mainFrame" href="oauth2client.multistore_file-module.html#get_credential_storage"
-     >get_credential_storage</a><br />    <a target="mainFrame" href="oauth2client.multistore_file-module.html#get_credential_storage_custom_key"
-     >get_credential_storage_custom_key</a><br />    <a target="mainFrame" href="oauth2client.multistore_file-module.html#get_credential_storage_custom_string_key"
-     >get_credential_storage_custom_string_key</a><br />  <h2 class="toc">Variables</h2>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.multistore_file-module.html#_multistores"
-     >_multistores</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.multistore_file-module.html#_multistores_lock"
-     >_multistores_lock</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.multistore_file-module.html#logger"
-     >logger</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-oauth2client.old_run-module.html b/docs/epy/toc-oauth2client.old_run-module.html
deleted file mode 100644
index 5fbd5c3..0000000
--- a/docs/epy/toc-oauth2client.old_run-module.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>old_run</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module old_run</h1>
-<hr />
-  <h2 class="toc">Functions</h2>
-    <a target="mainFrame" href="oauth2client.old_run-module.html#run"
-     >run</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="oauth2client.old_run-module.html#FLAGS"
-     >FLAGS</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-oauth2client.tools-module.html b/docs/epy/toc-oauth2client.tools-module.html
deleted file mode 100644
index 355b11f..0000000
--- a/docs/epy/toc-oauth2client.tools-module.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>tools</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module tools</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.tools.ClientRedirectHandler-class.html"
-     >ClientRedirectHandler</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.tools.ClientRedirectServer-class.html"
-     >ClientRedirectServer</a><br />  </div>
-  <h2 class="toc">Functions</h2>
-    <a target="mainFrame" href="oauth2client.tools-module.html#message_if_missing"
-     >message_if_missing</a><br />    <a target="mainFrame" href="oauth2client.tools-module.html#run"
-     >run</a><br />    <a target="mainFrame" href="oauth2client.tools-module.html#run_flow"
-     >run_flow</a><br />  <h2 class="toc">Variables</h2>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.tools-module.html#_CLIENT_SECRETS_MESSAGE"
-     >_CLIENT_SECRETS_MESSAGE</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.tools-module.html#argparser"
-     >argparser</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-oauth2client.util-module.html b/docs/epy/toc-oauth2client.util-module.html
deleted file mode 100644
index 335250f..0000000
--- a/docs/epy/toc-oauth2client.util-module.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>util</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module util</h1>
-<hr />
-  <h2 class="toc">Functions</h2>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.util-module.html#_add_query_parameter"
-     >_add_query_parameter</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.util-module.html#dict_to_tuple_key"
-     >dict_to_tuple_key</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.util-module.html#positional"
-     >positional</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.util-module.html#scopes_to_string"
-     >scopes_to_string</a><br />  </div>
-  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="oauth2client.util-module.html#POSITIONAL_EXCEPTION"
-     >POSITIONAL_EXCEPTION</a><br />    <a target="mainFrame" href="oauth2client.util-module.html#POSITIONAL_IGNORE"
-     >POSITIONAL_IGNORE</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.util-module.html#POSITIONAL_SET"
-     >POSITIONAL_SET</a><br />  </div>
-    <a target="mainFrame" href="oauth2client.util-module.html#POSITIONAL_WARNING"
-     >POSITIONAL_WARNING</a><br />  <div class="private">
-    <a target="mainFrame" href="oauth2client.util-module.html#logger"
-     >logger</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="oauth2client.util-module.html#positional_parameters_enforcement"
-     >positional_parameters_enforcement</a><br />  </div>
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc-oauth2client.xsrfutil-module.html b/docs/epy/toc-oauth2client.xsrfutil-module.html
deleted file mode 100644
index 938fef6..0000000
--- a/docs/epy/toc-oauth2client.xsrfutil-module.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>xsrfutil</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module xsrfutil</h1>
-<hr />
-  <h2 class="toc">Functions</h2>
-    <a target="mainFrame" href="oauth2client.xsrfutil-module.html#generate_token"
-     >generate_token</a><br />    <a target="mainFrame" href="oauth2client.xsrfutil-module.html#validate_token"
-     >validate_token</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="oauth2client.xsrfutil-module.html#DEFAULT_TIMEOUT_SECS"
-     >DEFAULT_TIMEOUT_SECS</a><br />    <a target="mainFrame" href="oauth2client.xsrfutil-module.html#DELIMITER"
-     >DELIMITER</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/toc.html b/docs/epy/toc.html
deleted file mode 100644
index 8a7b479..0000000
--- a/docs/epy/toc.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>Table of Contents</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Table&nbsp;of&nbsp;Contents</h1>
-<hr />
-  <a target="moduleFrame" href="toc-everything.html">Everything</a>
-  <br />
-  <h2 class="toc">Modules</h2>
-    <a target="moduleFrame" href="toc-apiclient-module.html"
-     onclick="setFrame('toc-apiclient-module.html','apiclient-module.html');"     >apiclient</a><br />    <a target="moduleFrame" href="toc-apiclient.channel-module.html"
-     onclick="setFrame('toc-apiclient.channel-module.html','apiclient.channel-module.html');"     >apiclient.channel</a><br />    <a target="moduleFrame" href="toc-apiclient.discovery-module.html"
-     onclick="setFrame('toc-apiclient.discovery-module.html','apiclient.discovery-module.html');"     >apiclient.discovery</a><br />    <a target="moduleFrame" href="toc-apiclient.errors-module.html"
-     onclick="setFrame('toc-apiclient.errors-module.html','apiclient.errors-module.html');"     >apiclient.errors</a><br />    <a target="moduleFrame" href="toc-apiclient.http-module.html"
-     onclick="setFrame('toc-apiclient.http-module.html','apiclient.http-module.html');"     >apiclient.http</a><br />    <a target="moduleFrame" href="toc-apiclient.mimeparse-module.html"
-     onclick="setFrame('toc-apiclient.mimeparse-module.html','apiclient.mimeparse-module.html');"     >apiclient.mimeparse</a><br />    <a target="moduleFrame" href="toc-apiclient.model-module.html"
-     onclick="setFrame('toc-apiclient.model-module.html','apiclient.model-module.html');"     >apiclient.model</a><br />    <a target="moduleFrame" href="toc-apiclient.sample_tools-module.html"
-     onclick="setFrame('toc-apiclient.sample_tools-module.html','apiclient.sample_tools-module.html');"     >apiclient.sample_tools</a><br />    <a target="moduleFrame" href="toc-apiclient.schema-module.html"
-     onclick="setFrame('toc-apiclient.schema-module.html','apiclient.schema-module.html');"     >apiclient.schema</a><br />    <a target="moduleFrame" href="toc-oauth2client-module.html"
-     onclick="setFrame('toc-oauth2client-module.html','oauth2client-module.html');"     >oauth2client</a><br />    <a target="moduleFrame" href="toc-oauth2client.anyjson-module.html"
-     onclick="setFrame('toc-oauth2client.anyjson-module.html','oauth2client.anyjson-module.html');"     >oauth2client.anyjson</a><br />    <a target="moduleFrame" href="toc-oauth2client.appengine-module.html"
-     onclick="setFrame('toc-oauth2client.appengine-module.html','oauth2client.appengine-module.html');"     >oauth2client.appengine</a><br />    <a target="moduleFrame" href="toc-oauth2client.client-module.html"
-     onclick="setFrame('toc-oauth2client.client-module.html','oauth2client.client-module.html');"     >oauth2client.client</a><br />    <a target="moduleFrame" href="toc-oauth2client.clientsecrets-module.html"
-     onclick="setFrame('toc-oauth2client.clientsecrets-module.html','oauth2client.clientsecrets-module.html');"     >oauth2client.clientsecrets</a><br />    <a target="moduleFrame" href="toc-oauth2client.crypt-module.html"
-     onclick="setFrame('toc-oauth2client.crypt-module.html','oauth2client.crypt-module.html');"     >oauth2client.crypt</a><br />    <a target="moduleFrame" href="toc-oauth2client.django_orm-module.html"
-     onclick="setFrame('toc-oauth2client.django_orm-module.html','oauth2client.django_orm-module.html');"     >oauth2client.django_orm</a><br />    <a target="moduleFrame" href="toc-oauth2client.file-module.html"
-     onclick="setFrame('toc-oauth2client.file-module.html','oauth2client.file-module.html');"     >oauth2client.file</a><br />    <a target="moduleFrame" href="toc-oauth2client.gce-module.html"
-     onclick="setFrame('toc-oauth2client.gce-module.html','oauth2client.gce-module.html');"     >oauth2client.gce</a><br />    <a target="moduleFrame" href="toc-oauth2client.keyring_storage-module.html"
-     onclick="setFrame('toc-oauth2client.keyring_storage-module.html','oauth2client.keyring_storage-module.html');"     >oauth2client.keyring_storage</a><br />    <a target="moduleFrame" href="toc-oauth2client.locked_file-module.html"
-     onclick="setFrame('toc-oauth2client.locked_file-module.html','oauth2client.locked_file-module.html');"     >oauth2client.locked_file</a><br />    <a target="moduleFrame" href="toc-oauth2client.multistore_file-module.html"
-     onclick="setFrame('toc-oauth2client.multistore_file-module.html','oauth2client.multistore_file-module.html');"     >oauth2client.multistore_file</a><br />    <a target="moduleFrame" href="toc-oauth2client.old_run-module.html"
-     onclick="setFrame('toc-oauth2client.old_run-module.html','oauth2client.old_run-module.html');"     >oauth2client.old_run</a><br />    <a target="moduleFrame" href="toc-oauth2client.tools-module.html"
-     onclick="setFrame('toc-oauth2client.tools-module.html','oauth2client.tools-module.html');"     >oauth2client.tools</a><br />    <a target="moduleFrame" href="toc-oauth2client.util-module.html"
-     onclick="setFrame('toc-oauth2client.util-module.html','oauth2client.util-module.html');"     >oauth2client.util</a><br />    <a target="moduleFrame" href="toc-oauth2client.xsrfutil-module.html"
-     onclick="setFrame('toc-oauth2client.xsrfutil-module.html','oauth2client.xsrfutil-module.html');"     >oauth2client.xsrfutil</a><br /><hr />
-  <span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/docs/epy/uml_class_diagram_for_apiclien.gif b/docs/epy/uml_class_diagram_for_apiclien.gif
deleted file mode 100644
index 6e70617..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_10.gif b/docs/epy/uml_class_diagram_for_apiclien_10.gif
deleted file mode 100644
index e939751..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_10.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_11.gif b/docs/epy/uml_class_diagram_for_apiclien_11.gif
deleted file mode 100644
index 21f5e2d..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_11.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_12.gif b/docs/epy/uml_class_diagram_for_apiclien_12.gif
deleted file mode 100644
index 90589bb..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_12.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_13.gif b/docs/epy/uml_class_diagram_for_apiclien_13.gif
deleted file mode 100644
index 3781ebc..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_13.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_14.gif b/docs/epy/uml_class_diagram_for_apiclien_14.gif
deleted file mode 100644
index 4b2c56a..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_14.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_15.gif b/docs/epy/uml_class_diagram_for_apiclien_15.gif
deleted file mode 100644
index 627c6ff..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_15.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_16.gif b/docs/epy/uml_class_diagram_for_apiclien_16.gif
deleted file mode 100644
index 53a2609..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_16.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_17.gif b/docs/epy/uml_class_diagram_for_apiclien_17.gif
deleted file mode 100644
index 3d74ce8..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_17.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_18.gif b/docs/epy/uml_class_diagram_for_apiclien_18.gif
deleted file mode 100644
index e2df6e6..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_18.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_19.gif b/docs/epy/uml_class_diagram_for_apiclien_19.gif
deleted file mode 100644
index b91bbc4..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_19.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_2.gif b/docs/epy/uml_class_diagram_for_apiclien_2.gif
deleted file mode 100644
index f239baa..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_2.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_20.gif b/docs/epy/uml_class_diagram_for_apiclien_20.gif
deleted file mode 100644
index 4fe8e19..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_20.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_21.gif b/docs/epy/uml_class_diagram_for_apiclien_21.gif
deleted file mode 100644
index 2e8778b..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_21.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_22.gif b/docs/epy/uml_class_diagram_for_apiclien_22.gif
deleted file mode 100644
index f59e838..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_22.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_23.gif b/docs/epy/uml_class_diagram_for_apiclien_23.gif
deleted file mode 100644
index c99b292..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_23.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_24.gif b/docs/epy/uml_class_diagram_for_apiclien_24.gif
deleted file mode 100644
index 5fd734a..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_24.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_25.gif b/docs/epy/uml_class_diagram_for_apiclien_25.gif
deleted file mode 100644
index ca1ac7d..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_25.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_26.gif b/docs/epy/uml_class_diagram_for_apiclien_26.gif
deleted file mode 100644
index 3f933cf..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_26.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_27.gif b/docs/epy/uml_class_diagram_for_apiclien_27.gif
deleted file mode 100644
index 6b041be..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_27.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_28.gif b/docs/epy/uml_class_diagram_for_apiclien_28.gif
deleted file mode 100644
index 691facc..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_28.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_29.gif b/docs/epy/uml_class_diagram_for_apiclien_29.gif
deleted file mode 100644
index d9e0ba3..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_29.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_3.gif b/docs/epy/uml_class_diagram_for_apiclien_3.gif
deleted file mode 100644
index c3253b8..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_3.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_30.gif b/docs/epy/uml_class_diagram_for_apiclien_30.gif
deleted file mode 100644
index f720c1f..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_30.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_31.gif b/docs/epy/uml_class_diagram_for_apiclien_31.gif
deleted file mode 100644
index 0002c5a..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_31.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_32.gif b/docs/epy/uml_class_diagram_for_apiclien_32.gif
deleted file mode 100644
index 17d2253..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_32.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_33.gif b/docs/epy/uml_class_diagram_for_apiclien_33.gif
deleted file mode 100644
index fa04806..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_33.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_34.gif b/docs/epy/uml_class_diagram_for_apiclien_34.gif
deleted file mode 100644
index 709db46..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_34.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_35.gif b/docs/epy/uml_class_diagram_for_apiclien_35.gif
deleted file mode 100644
index ebb71d8..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_35.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_36.gif b/docs/epy/uml_class_diagram_for_apiclien_36.gif
deleted file mode 100644
index f234668..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_36.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_37.gif b/docs/epy/uml_class_diagram_for_apiclien_37.gif
deleted file mode 100644
index 4e5624b..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_37.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_38.gif b/docs/epy/uml_class_diagram_for_apiclien_38.gif
deleted file mode 100644
index d272edf..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_38.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_39.gif b/docs/epy/uml_class_diagram_for_apiclien_39.gif
deleted file mode 100644
index d7f7874..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_39.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_4.gif b/docs/epy/uml_class_diagram_for_apiclien_4.gif
deleted file mode 100644
index 5334b74..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_4.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_40.gif b/docs/epy/uml_class_diagram_for_apiclien_40.gif
deleted file mode 100644
index cb15403..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_40.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_5.gif b/docs/epy/uml_class_diagram_for_apiclien_5.gif
deleted file mode 100644
index df177ab..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_5.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_6.gif b/docs/epy/uml_class_diagram_for_apiclien_6.gif
deleted file mode 100644
index 44c7655..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_6.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_7.gif b/docs/epy/uml_class_diagram_for_apiclien_7.gif
deleted file mode 100644
index 357c6b4..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_7.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_8.gif b/docs/epy/uml_class_diagram_for_apiclien_8.gif
deleted file mode 100644
index 7d63380..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_8.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_apiclien_9.gif b/docs/epy/uml_class_diagram_for_apiclien_9.gif
deleted file mode 100644
index 6e9e6f0..0000000
--- a/docs/epy/uml_class_diagram_for_apiclien_9.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_google_a.gif b/docs/epy/uml_class_diagram_for_google_a.gif
deleted file mode 100644
index 61bee15..0000000
--- a/docs/epy/uml_class_diagram_for_google_a.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl.gif b/docs/epy/uml_class_diagram_for_oauth2cl.gif
deleted file mode 100644
index 83e5132..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_10.gif b/docs/epy/uml_class_diagram_for_oauth2cl_10.gif
deleted file mode 100644
index 802ec04..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_10.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_11.gif b/docs/epy/uml_class_diagram_for_oauth2cl_11.gif
deleted file mode 100644
index 1299f7a..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_11.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_12.gif b/docs/epy/uml_class_diagram_for_oauth2cl_12.gif
deleted file mode 100644
index 8f425ce..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_12.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_13.gif b/docs/epy/uml_class_diagram_for_oauth2cl_13.gif
deleted file mode 100644
index 6557931..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_13.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_14.gif b/docs/epy/uml_class_diagram_for_oauth2cl_14.gif
deleted file mode 100644
index c59dd4e..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_14.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_15.gif b/docs/epy/uml_class_diagram_for_oauth2cl_15.gif
deleted file mode 100644
index 7fed067..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_15.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_16.gif b/docs/epy/uml_class_diagram_for_oauth2cl_16.gif
deleted file mode 100644
index bf8ab19..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_16.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_17.gif b/docs/epy/uml_class_diagram_for_oauth2cl_17.gif
deleted file mode 100644
index b30a0a1..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_17.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_18.gif b/docs/epy/uml_class_diagram_for_oauth2cl_18.gif
deleted file mode 100644
index 7a1f6c3..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_18.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_19.gif b/docs/epy/uml_class_diagram_for_oauth2cl_19.gif
deleted file mode 100644
index 0b024d8..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_19.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_2.gif b/docs/epy/uml_class_diagram_for_oauth2cl_2.gif
deleted file mode 100644
index 527215c..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_2.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_20.gif b/docs/epy/uml_class_diagram_for_oauth2cl_20.gif
deleted file mode 100644
index 44c7655..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_20.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_21.gif b/docs/epy/uml_class_diagram_for_oauth2cl_21.gif
deleted file mode 100644
index 8aaa082..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_21.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_22.gif b/docs/epy/uml_class_diagram_for_oauth2cl_22.gif
deleted file mode 100644
index 21fa0f0..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_22.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_23.gif b/docs/epy/uml_class_diagram_for_oauth2cl_23.gif
deleted file mode 100644
index ebcfe18..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_23.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_24.gif b/docs/epy/uml_class_diagram_for_oauth2cl_24.gif
deleted file mode 100644
index a58a54b..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_24.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_25.gif b/docs/epy/uml_class_diagram_for_oauth2cl_25.gif
deleted file mode 100644
index ecc212d..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_25.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_26.gif b/docs/epy/uml_class_diagram_for_oauth2cl_26.gif
deleted file mode 100644
index aeb6016..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_26.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_27.gif b/docs/epy/uml_class_diagram_for_oauth2cl_27.gif
deleted file mode 100644
index 4e971a6..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_27.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_28.gif b/docs/epy/uml_class_diagram_for_oauth2cl_28.gif
deleted file mode 100644
index a9a321d..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_28.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_29.gif b/docs/epy/uml_class_diagram_for_oauth2cl_29.gif
deleted file mode 100644
index 786b702..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_29.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_3.gif b/docs/epy/uml_class_diagram_for_oauth2cl_3.gif
deleted file mode 100644
index 4079d8f..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_3.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_30.gif b/docs/epy/uml_class_diagram_for_oauth2cl_30.gif
deleted file mode 100644
index e906953..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_30.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_31.gif b/docs/epy/uml_class_diagram_for_oauth2cl_31.gif
deleted file mode 100644
index 617edc9..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_31.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_32.gif b/docs/epy/uml_class_diagram_for_oauth2cl_32.gif
deleted file mode 100644
index 44c7655..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_32.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_33.gif b/docs/epy/uml_class_diagram_for_oauth2cl_33.gif
deleted file mode 100644
index b741aff..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_33.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_34.gif b/docs/epy/uml_class_diagram_for_oauth2cl_34.gif
deleted file mode 100644
index 2480b84..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_34.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_35.gif b/docs/epy/uml_class_diagram_for_oauth2cl_35.gif
deleted file mode 100644
index 72370b3..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_35.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_36.gif b/docs/epy/uml_class_diagram_for_oauth2cl_36.gif
deleted file mode 100644
index 6d3d4e9..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_36.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_37.gif b/docs/epy/uml_class_diagram_for_oauth2cl_37.gif
deleted file mode 100644
index e0c1c7b..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_37.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_38.gif b/docs/epy/uml_class_diagram_for_oauth2cl_38.gif
deleted file mode 100644
index 580ca56..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_38.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_39.gif b/docs/epy/uml_class_diagram_for_oauth2cl_39.gif
deleted file mode 100644
index 1e5b5ad..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_39.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_4.gif b/docs/epy/uml_class_diagram_for_oauth2cl_4.gif
deleted file mode 100644
index bc14161..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_4.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_40.gif b/docs/epy/uml_class_diagram_for_oauth2cl_40.gif
deleted file mode 100644
index 83e5132..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_40.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_41.gif b/docs/epy/uml_class_diagram_for_oauth2cl_41.gif
deleted file mode 100644
index 02701a4..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_41.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_42.gif b/docs/epy/uml_class_diagram_for_oauth2cl_42.gif
deleted file mode 100644
index ea38d09..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_42.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_43.gif b/docs/epy/uml_class_diagram_for_oauth2cl_43.gif
deleted file mode 100644
index 580ca56..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_43.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_44.gif b/docs/epy/uml_class_diagram_for_oauth2cl_44.gif
deleted file mode 100644
index 7224f51..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_44.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_45.gif b/docs/epy/uml_class_diagram_for_oauth2cl_45.gif
deleted file mode 100644
index 3fa7a13..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_45.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_46.gif b/docs/epy/uml_class_diagram_for_oauth2cl_46.gif
deleted file mode 100644
index 511b513..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_46.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_47.gif b/docs/epy/uml_class_diagram_for_oauth2cl_47.gif
deleted file mode 100644
index 44c7655..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_47.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_48.gif b/docs/epy/uml_class_diagram_for_oauth2cl_48.gif
deleted file mode 100644
index 63f5114..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_48.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_49.gif b/docs/epy/uml_class_diagram_for_oauth2cl_49.gif
deleted file mode 100644
index be1beb7..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_49.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_5.gif b/docs/epy/uml_class_diagram_for_oauth2cl_5.gif
deleted file mode 100644
index 3d0bf47..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_5.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_50.gif b/docs/epy/uml_class_diagram_for_oauth2cl_50.gif
deleted file mode 100644
index 20bac77..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_50.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_51.gif b/docs/epy/uml_class_diagram_for_oauth2cl_51.gif
deleted file mode 100644
index 3bf8117..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_51.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_52.gif b/docs/epy/uml_class_diagram_for_oauth2cl_52.gif
deleted file mode 100644
index 2b8aaa7..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_52.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_6.gif b/docs/epy/uml_class_diagram_for_oauth2cl_6.gif
deleted file mode 100644
index f348239..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_6.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_7.gif b/docs/epy/uml_class_diagram_for_oauth2cl_7.gif
deleted file mode 100644
index 328de4f..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_7.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_8.gif b/docs/epy/uml_class_diagram_for_oauth2cl_8.gif
deleted file mode 100644
index 7f5b8ff..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_8.gif
+++ /dev/null
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_oauth2cl_9.gif b/docs/epy/uml_class_diagram_for_oauth2cl_9.gif
deleted file mode 100644
index 5226fb9..0000000
--- a/docs/epy/uml_class_diagram_for_oauth2cl_9.gif
+++ /dev/null
Binary files differ
